Skip to content

Commit d0ea1a4

Browse files
Brigitte LamarcheBrigitte Lamarche
Brigitte Lamarche
authored and
Brigitte Lamarche
committed
reading working
1 parent 4cdff28 commit d0ea1a4

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

compress.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ const (
1010
minCompressLength = 50
1111
)
1212

13+
var (
14+
blankHeader = []byte{0, 0, 0, 0, 0, 0, 0}
15+
)
16+
1317
type packetReader interface {
1418
readNext(need int) ([]byte, error)
1519
}
@@ -24,7 +28,7 @@ type compressedReader struct {
2428
type compressedWriter struct {
2529
connWriter io.Writer
2630
mc *mysqlConn
27-
header []byte
31+
zw *zlib.Writer
2832
}
2933

3034
func NewCompressedReader(buf packetReader, mc *mysqlConn) *compressedReader {
@@ -39,7 +43,7 @@ func NewCompressedWriter(connWriter io.Writer, mc *mysqlConn) *compressedWriter
3943
return &compressedWriter{
4044
connWriter: connWriter,
4145
mc: mc,
42-
header: []byte{0, 0, 0, 0, 0, 0, 0},
46+
zw: zlib.NewWriter(new(bytes.Buffer)),
4347
}
4448
}
4549

@@ -89,18 +93,14 @@ func (cr *compressedReader) uncompressPacket() error {
8993
// write comprData to a bytes.buffer, then read it using zlib into data
9094
br := bytes.NewReader(comprData)
9195

92-
resetter, ok := cr.zr.(zlib.Resetter)
93-
94-
if ok {
95-
err := resetter.Reset(br, []byte{})
96-
if err != nil {
97-
return err
98-
}
99-
} else {
96+
if cr.zr == nil {
10097
cr.zr, err = zlib.NewReader(br)
101-
if err != nil {
102-
return err
103-
}
98+
} else {
99+
err = cr.zr.(zlib.Resetter).Reset(br, nil)
100+
}
101+
102+
if err != nil {
103+
return err
104104
}
105105

106106
defer cr.zr.Close()
@@ -219,7 +219,7 @@ func (cw *compressedWriter) Write(data []byte) (int, error) {
219219
}
220220

221221
func (cw *compressedWriter) writeComprPacketToNetwork(data []byte, uncomprLength int) error {
222-
data = append(cw.header, data...)
222+
data = append(blankHeader, data...)
223223

224224
comprLength := len(data) - 7
225225

0 commit comments

Comments
 (0)