Skip to content

Commit a0cf94b

Browse files
author
Brigitte Lamarche
committed
packets: implemented compression protocol: remove bytes.Reset for backwards compatibility
1 parent 77f6792 commit a0cf94b

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

compress.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ type compressedReader struct {
1818
buf packetReader
1919
bytesBuf []byte
2020
mc *mysqlConn
21-
br *bytes.Reader
2221
zr io.ReadCloser
2322
}
2423

2524
type compressedWriter struct {
2625
connWriter io.Writer
2726
mc *mysqlConn
27+
header []byte
2828
}
2929

3030
func NewCompressedReader(buf packetReader, mc *mysqlConn) *compressedReader {
@@ -39,6 +39,7 @@ func NewCompressedWriter(connWriter io.Writer, mc *mysqlConn) *compressedWriter
3939
return &compressedWriter{
4040
connWriter: connWriter,
4141
mc: mc,
42+
header: []byte{0, 0, 0, 0, 0, 0, 0},
4243
}
4344
}
4445

@@ -86,21 +87,17 @@ func (cr *compressedReader) uncompressPacket() error {
8687
}
8788

8889
// write comprData to a bytes.buffer, then read it using zlib into data
89-
if cr.br == nil {
90-
cr.br = bytes.NewReader(comprData)
91-
} else {
92-
cr.br.Reset(comprData)
93-
}
90+
br := bytes.NewReader(comprData)
9491

9592
resetter, ok := cr.zr.(zlib.Resetter)
9693

9794
if ok {
98-
err := resetter.Reset(cr.br, []byte{})
95+
err := resetter.Reset(br, []byte{})
9996
if err != nil {
10097
return err
10198
}
10299
} else {
103-
cr.zr, err = zlib.NewReader(cr.br)
100+
cr.zr, err = zlib.NewReader(br)
104101
if err != nil {
105102
return err
106103
}
@@ -222,7 +219,7 @@ func (cw *compressedWriter) Write(data []byte) (int, error) {
222219
}
223220

224221
func (cw *compressedWriter) writeComprPacketToNetwork(data []byte, uncomprLength int) error {
225-
data = append([]byte{0, 0, 0, 0, 0, 0, 0}, data...)
222+
data = append(cw.header, data...)
226223

227224
comprLength := len(data) - 7
228225

0 commit comments

Comments
 (0)