implement a Serve method for the Listener

This commit is contained in:
Marten Seemann
2017-02-21 08:38:41 +07:00
parent cd465ae0b5
commit 48dee2708e
4 changed files with 70 additions and 68 deletions

View File

@@ -84,17 +84,20 @@ func (s *Server) serveImpl(tlsConfig *tls.Config, conn *net.UDPConn) error {
}
},
}
ln, err := quic.NewListener(&config)
var ln quic.Listener
var err error
if conn == nil {
ln, err = quic.ListenAddr(s.Addr, &config)
} else {
ln, err = quic.Listen(conn, &config)
}
if err != nil {
s.listenerMutex.Unlock()
return err
}
s.listener = ln
s.listenerMutex.Unlock()
if conn == nil {
return ln.ListenAddr(s.Addr)
}
return ln.Listen(conn)
return ln.Serve()
}
func (s *Server) handleHeaderStream(session streamCreator) {