mirror of
https://github.com/openziti/zrok.git
synced 2025-08-23 21:45:40 +02:00
consolidated txer (#305)
This commit is contained in:
@@ -63,58 +63,6 @@ func (b *Backend) handle(conn net.Conn) {
|
||||
_ = conn.Close()
|
||||
return
|
||||
}
|
||||
go b.rxer(conn, rConn)
|
||||
go b.txer(conn, rConn)
|
||||
}
|
||||
|
||||
func (b *Backend) rxer(conn, rConn net.Conn) {
|
||||
logrus.Infof("started '%v' <=> '%v'", conn.RemoteAddr(), rConn.RemoteAddr())
|
||||
defer logrus.Warnf("exited '%v' <=> '%v'", conn.RemoteAddr(), rConn.RemoteAddr())
|
||||
|
||||
buf := make([]byte, 10240)
|
||||
for {
|
||||
if rxsz, err := conn.Read(buf); err == nil {
|
||||
if txsz, err := rConn.Write(buf[:rxsz]); err == nil {
|
||||
if txsz != rxsz {
|
||||
logrus.Errorf("short write '%v' (%d != %d)", rConn.RemoteAddr(), txsz, rxsz)
|
||||
}
|
||||
} else {
|
||||
logrus.Errorf("error writing '%v': %v", rConn.RemoteAddr(), err)
|
||||
_ = rConn.Close()
|
||||
_ = conn.Close()
|
||||
return
|
||||
}
|
||||
} else {
|
||||
logrus.Errorf("read error '%v': %v", rConn.RemoteAddr(), err)
|
||||
_ = rConn.Close()
|
||||
_ = conn.Close()
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (b *Backend) txer(conn, rConn net.Conn) {
|
||||
logrus.Infof("started '%v' <=> '%v'", conn.RemoteAddr(), rConn.RemoteAddr())
|
||||
defer logrus.Warnf("exited '%v' <=> '%v'", conn.RemoteAddr(), rConn.RemoteAddr())
|
||||
|
||||
buf := make([]byte, 10240)
|
||||
for {
|
||||
if rxsz, err := rConn.Read(buf); err == nil {
|
||||
if txsz, err := conn.Write(buf[:rxsz]); err == nil {
|
||||
if txsz != rxsz {
|
||||
logrus.Errorf("short write '%v' (%d != %d)", conn.RemoteAddr(), txsz, rxsz)
|
||||
}
|
||||
} else {
|
||||
logrus.Errorf("error writing '%v': %v", conn.RemoteAddr(), err)
|
||||
_ = rConn.Close()
|
||||
_ = conn.Close()
|
||||
return
|
||||
}
|
||||
} else {
|
||||
logrus.Errorf("read error '%v': %v", conn.RemoteAddr(), err)
|
||||
_ = rConn.Close()
|
||||
_ = conn.Close()
|
||||
return
|
||||
}
|
||||
}
|
||||
go txer(conn, rConn)
|
||||
go txer(rConn, conn)
|
||||
}
|
||||
|
Reference in New Issue
Block a user