@@ -13,8 +13,13 @@ import (
1313)
1414
1515var (
16- flateWriterPool = sync.Pool {}
17- flateReaderPool = sync.Pool {}
16+ flateWriterPool = sync.Pool {New : func () interface {} {
17+ fw , _ := flate .NewWriter (nil , 3 )
18+ return fw
19+ }}
20+ flateReaderPool = sync.Pool {New : func () interface {} {
21+ return flate .NewReader (nil )
22+ }}
1823)
1924
2025func decompressNoContextTakeover (r io.Reader ) io.ReadCloser {
@@ -24,26 +29,16 @@ func decompressNoContextTakeover(r io.Reader) io.ReadCloser {
2429 // Add final block to squelch unexpected EOF error from flate reader.
2530 "\x01 \x00 \x00 \xff \xff "
2631
27- i := flateReaderPool .Get ()
28- if i == nil {
29- i = flate .NewReader (nil )
30- }
31- i .(flate.Resetter ).Reset (io .MultiReader (r , strings .NewReader (tail )), nil )
32- return & flateReadWrapper {i .(io.ReadCloser )}
32+ fr , _ := flateReaderPool .Get ().(io.ReadCloser )
33+ fr .(flate.Resetter ).Reset (io .MultiReader (r , strings .NewReader (tail )), nil )
34+ return & flateReadWrapper {fr }
3335}
3436
35- func compressNoContextTakeover (w io.WriteCloser ) ( io.WriteCloser , error ) {
37+ func compressNoContextTakeover (w io.WriteCloser ) io.WriteCloser {
3638 tw := & truncWriter {w : w }
37- i := flateWriterPool .Get ()
38- var fw * flate.Writer
39- var err error
40- if i == nil {
41- fw , err = flate .NewWriter (tw , 3 )
42- } else {
43- fw = i .(* flate.Writer )
44- fw .Reset (tw )
45- }
46- return & flateWriteWrapper {fw : fw , tw : tw }, err
39+ fw , _ := flateWriterPool .Get ().(* flate.Writer )
40+ fw .Reset (tw )
41+ return & flateWriteWrapper {fw : fw , tw : tw }
4742}
4843
4944// truncWriter is an io.Writer that writes all but the last four bytes of the
0 commit comments