multiplex multiple clients on one packet conn

This commit is contained in:
Marten Seemann
2018-05-22 11:08:48 +08:00
parent dacc94ccba
commit 2c05dbff07
9 changed files with 259 additions and 27 deletions

View File

@@ -26,7 +26,7 @@ type packetHandlerManager interface {
Add(protocol.ConnectionID, packetHandler)
Get(protocol.ConnectionID) (packetHandler, bool)
Remove(protocol.ConnectionID)
Close()
Close(error)
}
type quicSession interface {
@@ -288,7 +288,7 @@ func (s *server) Accept() (Session, error) {
// Close the server
func (s *server) Close() error {
s.sessionHandler.Close()
s.sessionHandler.Close(nil)
err := s.conn.Close()
<-s.errorChan // wait for serve() to return
return err