add mws dialer

This commit is contained in:
ginuerzh
2021-12-17 14:05:59 +08:00
parent bfe5eae172
commit 8e31e532e4
23 changed files with 795 additions and 137 deletions

View File

@ -54,6 +54,18 @@ func (l *mtlsListener) Init(md md.Metadata) (err error) {
return
}
func (l *mtlsListener) Accept() (conn net.Conn, err error) {
var ok bool
select {
case conn = <-l.cqueue:
case err, ok = <-l.errChan:
if !ok {
err = listener.ErrClosed
}
}
return
}
func (l *mtlsListener) listenLoop() {
for {
conn, err := l.Listener.Accept()
@ -67,6 +79,8 @@ func (l *mtlsListener) listenLoop() {
}
func (l *mtlsListener) mux(conn net.Conn) {
defer conn.Close()
smuxConfig := smux.DefaultConfig()
smuxConfig.KeepAliveDisabled = l.md.muxKeepAliveDisabled
if l.md.muxKeepAliveInterval > 0 {
@ -94,7 +108,7 @@ func (l *mtlsListener) mux(conn net.Conn) {
for {
stream, err := session.AcceptStream()
if err != nil {
l.logger.Error("accept stream:", err)
l.logger.Error("accept stream: ", err)
return
}
@ -108,15 +122,3 @@ func (l *mtlsListener) mux(conn net.Conn) {
}
}
}
func (l *mtlsListener) Accept() (conn net.Conn, err error) {
var ok bool
select {
case conn = <-l.cqueue:
case err, ok = <-l.errChan:
if !ok {
err = listener.ErrClosed
}
}
return
}