cleanup code

This commit is contained in:
aler9
2022-03-02 22:17:14 +01:00
parent e642b964b0
commit dd0904407f
3 changed files with 306 additions and 309 deletions

View File

@@ -115,25 +115,7 @@ func (sc *ServerConn) run() {
readDone := make(chan struct{})
go sc.runReader(readRequest, readErr, readDone)
err := func() error {
for {
select {
case req := <-readRequest:
req.res <- sc.handleRequestOuter(req.req)
case err := <-readErr:
return err
case ss := <-sc.sessionRemove:
if sc.session == ss {
sc.session = nil
}
case <-sc.ctx.Done():
return liberrors.ErrServerTerminated{}
}
}
}()
err := sc.runInner(readRequest, readErr)
sc.ctxCancel()
@@ -160,6 +142,26 @@ func (sc *ServerConn) run() {
}
}
func (sc *ServerConn) runInner(readRequest chan readReq, readErr chan error) error {
for {
select {
case req := <-readRequest:
req.res <- sc.handleRequestOuter(req.req)
case err := <-readErr:
return err
case ss := <-sc.sessionRemove:
if sc.session == ss {
sc.session = nil
}
case <-sc.ctx.Done():
return liberrors.ErrServerTerminated{}
}
}
}
var errSwitchReadFunc = errors.New("switch read function")
func (sc *ServerConn) runReader(readRequest chan readReq, readErr chan error, readDone chan struct{}) {