consolidated txer (#305)

This commit is contained in:
Michael Quigley
2023-04-18 15:31:48 -04:00
parent e432dfdb28
commit fdc038c12d
3 changed files with 41 additions and 109 deletions

View File

@@ -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)
}