@@ -28,7 +28,6 @@ import (
2828 "crypto/tls"
2929 "io"
3030 "net"
31- "sync"
3231 "time"
3332
3433 "github.com/pingcap/tiproxy/lib/config"
4342 ErrInvalidSequence = errors .New ("invalid sequence" )
4443)
4544
46- var (
47- readerPool = sync.Pool {
48- New : func () any {
49- return bufio .NewReaderSize (nil , DefaultConnBufferSize )
50- },
51- }
52- writerPool = sync.Pool {
53- New : func () any {
54- return bufio .NewWriterSize (nil , DefaultConnBufferSize )
55- },
56- }
57- )
58-
5945const (
6046 DefaultConnBufferSize = 32 * 1024
6147)
@@ -100,27 +86,16 @@ type basicReadWriter struct {
10086 inBytes uint64
10187 outBytes uint64
10288 sequence uint8
103- pooled bool
10489}
10590
10691func newBasicReadWriter (conn net.Conn , bufferSize int ) * basicReadWriter {
10792 if bufferSize == 0 {
10893 bufferSize = DefaultConnBufferSize
10994 }
110- brw := & basicReadWriter {
111- Conn : conn ,
112- }
113- if bufferSize == DefaultConnBufferSize {
114- r := readerPool .Get ().(* bufio.Reader )
115- r .Reset (conn )
116- w := writerPool .Get ().(* bufio.Writer )
117- w .Reset (conn )
118- brw .ReadWriter = bufio .NewReadWriter (r , w )
119- brw .pooled = true
120- } else {
121- brw .ReadWriter = bufio .NewReadWriter (bufio .NewReaderSize (conn , bufferSize ), bufio .NewWriterSize (conn , bufferSize ))
95+ return & basicReadWriter {
96+ Conn : conn ,
97+ ReadWriter : bufio .NewReadWriter (bufio .NewReaderSize (conn , bufferSize ), bufio .NewWriterSize (conn , bufferSize )),
12298 }
123- return brw
12499}
125100
126101func (brw * basicReadWriter ) Read (b []byte ) (n int , err error ) {
@@ -178,16 +153,6 @@ func (brw *basicReadWriter) ResetSequence() {
178153 brw .sequence = 0
179154}
180155
181- func (brw * basicReadWriter ) Free () {
182- if brw .pooled {
183- brw .pooled = false
184- brw .ReadWriter .Reader .Reset (nil )
185- brw .ReadWriter .Writer .Reset (nil )
186- readerPool .Put (brw .ReadWriter .Reader )
187- writerPool .Put (brw .ReadWriter .Writer )
188- }
189- }
190-
191156func (brw * basicReadWriter ) TLSConnectionState () tls.ConnectionState {
192157 return tls.ConnectionState {}
193158}
@@ -523,19 +488,6 @@ func (p *packetIO) GracefulClose() error {
523488 return nil
524489}
525490
526- func freeBasicReadWriter (rw packetReadWriter ) {
527- switch v := rw .(type ) {
528- case * basicReadWriter :
529- v .Free ()
530- case * tlsReadWriter :
531- freeBasicReadWriter (v .packetReadWriter )
532- case * compressedReadWriter :
533- freeBasicReadWriter (v .packetReadWriter )
534- case * proxyReadWriter :
535- freeBasicReadWriter (v .packetReadWriter )
536- }
537- }
538-
539491func (p * packetIO ) Close () error {
540492 var errs []error
541493 /*
@@ -544,7 +496,6 @@ func (p *packetIO) Close() error {
544496 errs = append(errs, err)
545497 }
546498 */
547- freeBasicReadWriter (p .readWriter )
548499 if err := p .readWriter .Close (); err != nil && ! errors .Is (err , net .ErrClosed ) {
549500 errs = append (errs , errors .WithStack (err ))
550501 }
0 commit comments