diff --git a/mtglib/internal/relay/pools.go b/mtglib/internal/relay/pools.go deleted file mode 100644 index db42933..0000000 --- a/mtglib/internal/relay/pools.go +++ /dev/null @@ -1,19 +0,0 @@ -package relay - -import "sync" - -var copyBufferPool = sync.Pool{ - New: func() any { - rv := make([]byte, copyBufferSize) - - return &rv - }, -} - -func acquireCopyBuffer() *[]byte { - return copyBufferPool.Get().(*[]byte) //nolint: forcetypeassert -} - -func releaseCopyBuffer(buf *[]byte) { - copyBufferPool.Put(buf) -} diff --git a/mtglib/internal/relay/relay.go b/mtglib/internal/relay/relay.go index 060a05c..756a52d 100644 --- a/mtglib/internal/relay/relay.go +++ b/mtglib/internal/relay/relay.go @@ -35,13 +35,12 @@ func Relay(ctx context.Context, log Logger, telegramConn, clientConn essentials. } func pump(log Logger, src, dst essentials.Conn, direction string) { + var buf [copyBufferSize]byte + defer src.CloseRead() //nolint: errcheck defer dst.CloseWrite() //nolint: errcheck - copyBuffer := acquireCopyBuffer() - defer releaseCopyBuffer(copyBuffer) - - n, err := io.CopyBuffer(src, dst, *copyBuffer) + n, err := io.CopyBuffer(src, dst, buf[:]) switch { case err == nil: