ing
This commit is contained in:
parent
6fbd3d2148
commit
4a4efdd0ef
12
servlet.go
12
servlet.go
|
@ -37,7 +37,7 @@ type servlet struct {
|
||||||
stopWg sync.WaitGroup
|
stopWg sync.WaitGroup
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *servlet) Start(parentCTX cuc.Context, reader interface{}, writer interface{}) error {
|
func (s *servlet) Start(parentCTX cuc.Context, reader interface{}, writer interface{}, doneChan chan<- struct{}) error {
|
||||||
if nil == s.sh {
|
if nil == s.sh {
|
||||||
panic("Servlet: servlet handler must be specified.")
|
panic("Servlet: servlet handler must be specified.")
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ func (s *servlet) Start(parentCTX cuc.Context, reader interface{}, writer interf
|
||||||
s.messageQueueChan = make(chan *messageState, s.sh.GetPendingMessages())
|
s.messageQueueChan = make(chan *messageState, s.sh.GetPendingMessages())
|
||||||
|
|
||||||
s.stopWg.Add(1)
|
s.stopWg.Add(1)
|
||||||
go handleServlet(s)
|
go handleServlet(s, doneChan)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -102,11 +102,13 @@ func (s *servlet) Context() ServletContext {
|
||||||
return s.ctx
|
return s.ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleServlet(s *servlet) {
|
func handleServlet(s *servlet, doneChan chan<- struct{}) {
|
||||||
defer s.stopWg.Done()
|
defer s.stopWg.Done()
|
||||||
|
|
||||||
s.stopWg.Add(1)
|
messageStopChan := make(chan struct{})
|
||||||
go handleMessage(s)
|
messageDoneChan := make(chan struct{})
|
||||||
|
|
||||||
|
go handleMessage(s, messageStopChan, messageDoneChan)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
requestCodec, err := s.sh.GetRequest(s.ctx, s.serverCodec, s.reader)
|
requestCodec, err := s.sh.GetRequest(s.ctx, s.serverCodec, s.reader)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user