Remove deadlines for non-TLS connections
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
This commit is contained in:
parent
b9b7527762
commit
70968bc6a9
1 changed files with 8 additions and 9 deletions
|
@ -100,6 +100,11 @@ func (r *Router) ServeTCP(conn tcp.WriteCloser) {
|
||||||
// If there is a handler matching the connection metadata,
|
// If there is a handler matching the connection metadata,
|
||||||
// we let it handle the connection.
|
// we let it handle the connection.
|
||||||
if handler != nil {
|
if handler != nil {
|
||||||
|
// Remove read/write deadline and delegate this to underlying TCP server.
|
||||||
|
if err := conn.SetDeadline(time.Time{}); err != nil {
|
||||||
|
log.WithoutContext().Errorf("Error while setting deadline: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
handler.ServeTCP(conn)
|
handler.ServeTCP(conn)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -117,15 +122,9 @@ func (r *Router) ServeTCP(conn tcp.WriteCloser) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove read/write deadline and delegate this to underlying tcp server (for now only handled by HTTP Server)
|
// Remove read/write deadline and delegate this to underlying TCP server (for now only handled by HTTP Server)
|
||||||
err = conn.SetReadDeadline(time.Time{})
|
if err := conn.SetDeadline(time.Time{}); err != nil {
|
||||||
if err != nil {
|
log.WithoutContext().Errorf("Error while setting deadline: %v", err)
|
||||||
log.WithoutContext().Errorf("Error while setting read deadline: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = conn.SetWriteDeadline(time.Time{})
|
|
||||||
if err != nil {
|
|
||||||
log.WithoutContext().Errorf("Error while setting write deadline: %v", err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
connData, err := tcpmuxer.NewConnData(hello.serverName, conn, hello.protos)
|
connData, err := tcpmuxer.NewConnData(hello.serverName, conn, hello.protos)
|
||||||
|
|
Loading…
Reference in a new issue