Skip to content

Commit bc618a4

Browse files
committed
chore: move the ownerships of reactors from server to eventloop
1 parent 8bdbde3 commit bc618a4

File tree

5 files changed

+38
-38
lines changed

5 files changed

+38
-38
lines changed

reactor_default_bsd.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,31 @@ import (
3030
"github.com/panjf2000/gnet/internal/netpoll"
3131
)
3232

33-
func (svr *server) activateMainReactor(lockOSThread bool) {
33+
func (el *eventloop) activateMainReactor(lockOSThread bool) {
3434
if lockOSThread {
3535
runtime.LockOSThread()
3636
defer runtime.UnlockOSThread()
3737
}
3838

39-
defer svr.signalShutdown()
39+
defer el.svr.signalShutdown()
4040

41-
err := svr.mainLoop.poller.Polling(func(fd int, filter int16) error { return svr.acceptNewConnection(filter) })
41+
err := el.poller.Polling(func(fd int, filter int16) error { return el.svr.acceptNewConnection(filter) })
4242
if err == errors.ErrServerShutdown {
43-
svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
43+
el.svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
4444
} else if err != nil {
45-
svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
45+
el.svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
4646
}
4747
}
4848

49-
func (svr *server) activateSubReactor(el *eventloop, lockOSThread bool) {
49+
func (el *eventloop) activateSubReactor(lockOSThread bool) {
5050
if lockOSThread {
5151
runtime.LockOSThread()
5252
defer runtime.UnlockOSThread()
5353
}
5454

5555
defer func() {
5656
el.closeAllConns()
57-
svr.signalShutdown()
57+
el.svr.signalShutdown()
5858
}()
5959

6060
err := el.poller.Polling(func(fd int, filter int16) (err error) {
@@ -73,9 +73,9 @@ func (svr *server) activateSubReactor(el *eventloop, lockOSThread bool) {
7373
return
7474
})
7575
if err == errors.ErrServerShutdown {
76-
svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
76+
el.svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
7777
} else if err != nil {
78-
svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
78+
el.svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
7979
}
8080
}
8181

reactor_default_linux.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,31 @@ import (
2929
"github.com/panjf2000/gnet/internal/netpoll"
3030
)
3131

32-
func (svr *server) activateMainReactor(lockOSThread bool) {
32+
func (el *eventloop) activateMainReactor(lockOSThread bool) {
3333
if lockOSThread {
3434
runtime.LockOSThread()
3535
defer runtime.UnlockOSThread()
3636
}
3737

38-
defer svr.signalShutdown()
38+
defer el.svr.signalShutdown()
3939

40-
err := svr.mainLoop.poller.Polling(func(fd int, ev uint32) error { return svr.acceptNewConnection(ev) })
40+
err := el.poller.Polling(func(fd int, ev uint32) error { return el.svr.acceptNewConnection(ev) })
4141
if err == errors.ErrServerShutdown {
42-
svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
42+
el.svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
4343
} else if err != nil {
44-
svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
44+
el.svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
4545
}
4646
}
4747

48-
func (svr *server) activateSubReactor(el *eventloop, lockOSThread bool) {
48+
func (el *eventloop) activateSubReactor(lockOSThread bool) {
4949
if lockOSThread {
5050
runtime.LockOSThread()
5151
defer runtime.UnlockOSThread()
5252
}
5353

5454
defer func() {
5555
el.closeAllConns()
56-
svr.signalShutdown()
56+
el.svr.signalShutdown()
5757
}()
5858

5959
err := el.poller.Polling(func(fd int, ev uint32) error {
@@ -88,9 +88,9 @@ func (svr *server) activateSubReactor(el *eventloop, lockOSThread bool) {
8888
return nil
8989
})
9090
if err == errors.ErrServerShutdown {
91-
svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
91+
el.svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
9292
} else if err != nil {
93-
svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
93+
el.svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
9494
}
9595
}
9696

reactor_optimized_bsd.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,38 +29,38 @@ import (
2929
"github.com/panjf2000/gnet/errors"
3030
)
3131

32-
func (svr *server) activateMainReactor(lockOSThread bool) {
32+
func (el *eventloop) activateMainReactor(lockOSThread bool) {
3333
if lockOSThread {
3434
runtime.LockOSThread()
3535
defer runtime.UnlockOSThread()
3636
}
3737

38-
defer svr.signalShutdown()
38+
defer el.svr.signalShutdown()
3939

40-
err := svr.mainLoop.poller.Polling()
40+
err := el.poller.Polling()
4141
if err == errors.ErrServerShutdown {
42-
svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
42+
el.svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
4343
} else if err != nil {
44-
svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
44+
el.svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
4545
}
4646
}
4747

48-
func (svr *server) activateSubReactor(el *eventloop, lockOSThread bool) {
48+
func (el *eventloop) activateSubReactor(lockOSThread bool) {
4949
if lockOSThread {
5050
runtime.LockOSThread()
5151
defer runtime.UnlockOSThread()
5252
}
5353

5454
defer func() {
5555
el.closeAllConns()
56-
svr.signalShutdown()
56+
el.svr.signalShutdown()
5757
}()
5858

5959
err := el.poller.Polling()
6060
if err == errors.ErrServerShutdown {
61-
svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
61+
el.svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
6262
} else if err != nil {
63-
svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
63+
el.svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
6464
}
6565
}
6666

reactor_optimized_linux.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,38 @@ import (
2828
"github.com/panjf2000/gnet/errors"
2929
)
3030

31-
func (svr *server) activateMainReactor(lockOSThread bool) {
31+
func (el *eventloop) activateMainReactor(lockOSThread bool) {
3232
if lockOSThread {
3333
runtime.LockOSThread()
3434
defer runtime.UnlockOSThread()
3535
}
3636

37-
defer svr.signalShutdown()
37+
defer el.svr.signalShutdown()
3838

39-
err := svr.mainLoop.poller.Polling()
39+
err := el.poller.Polling()
4040
if err == errors.ErrServerShutdown {
41-
svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
41+
el.svr.opts.Logger.Debugf("main reactor is exiting in terms of the demand from user, %v", err)
4242
} else if err != nil {
43-
svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
43+
el.svr.opts.Logger.Errorf("main reactor is exiting due to error: %v", err)
4444
}
4545
}
4646

47-
func (svr *server) activateSubReactor(el *eventloop, lockOSThread bool) {
47+
func (el *eventloop) activateSubReactor(lockOSThread bool) {
4848
if lockOSThread {
4949
runtime.LockOSThread()
5050
defer runtime.UnlockOSThread()
5151
}
5252

5353
defer func() {
5454
el.closeAllConns()
55-
svr.signalShutdown()
55+
el.svr.signalShutdown()
5656
}()
5757

5858
err := el.poller.Polling()
5959
if err == errors.ErrServerShutdown {
60-
svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
60+
el.svr.opts.Logger.Debugf("event-loop(%d) is exiting in terms of the demand from user, %v", el.idx, err)
6161
} else if err != nil {
62-
svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
62+
el.svr.opts.Logger.Errorf("event-loop(%d) is exiting normally on the signal error: %v", el.idx, err)
6363
}
6464
}
6565

server_unix.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (svr *server) startSubReactors() {
9090
svr.lb.iterate(func(i int, el *eventloop) bool {
9191
svr.wg.Add(1)
9292
go func() {
93-
svr.activateSubReactor(el, svr.opts.LockOSThread)
93+
el.activateSubReactor(svr.opts.LockOSThread)
9494
svr.wg.Done()
9595
}()
9696
return true
@@ -169,7 +169,7 @@ func (svr *server) activateReactors(numEventLoop int) error {
169169
// Start main reactor in background.
170170
svr.wg.Add(1)
171171
go func() {
172-
svr.activateMainReactor(svr.opts.LockOSThread)
172+
el.activateMainReactor(svr.opts.LockOSThread)
173173
svr.wg.Done()
174174
}()
175175
} else {

0 commit comments

Comments
 (0)