From 2c957f7f85d37dd49fc2a7cca7b3e7f7d948ba30 Mon Sep 17 00:00:00 2001 From: tux Date: Fri, 28 Feb 2025 23:22:27 +0530 Subject: [PATCH] refactor: seperate bind conn --- internal/server/trok.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/server/trok.go b/internal/server/trok.go index 9c5af30..1cab44b 100644 --- a/internal/server/trok.go +++ b/internal/server/trok.go @@ -52,7 +52,6 @@ func (t *Trok) ControlConnHandler(conn net.Conn) { if netErr, ok := err.(net.Error); ok && netErr.Timeout() { log.Warn().Msgf("connection timed out: %s", conn.RemoteAddr()) } else { - log.Logger.Info().Msgf("connection closed: %s", err) log.Logger.Info().Msgf("connection closed: %s", conn.RemoteAddr()) } return @@ -114,8 +113,7 @@ func (t *Trok) handleCMDACPT(conn net.Conn, m *lib.Message) { return } - go io.Copy(pc.conn, conn) - io.Copy(conn, pc.conn) + t.Bind(pc.conn, conn) } func (t *Trok) PublicConnHandler(ln net.Listener, uidChan chan<- string) { @@ -141,3 +139,10 @@ func (t *Trok) PublicConnHandler(ln net.Listener, uidChan chan<- string) { uidChan <- id } } + +func (t *Trok) Bind(src, dst net.Conn) { + defer src.Close() + defer dst.Close() + go io.Copy(src, dst) + io.Copy(dst, src) +}