summaryrefslogtreecommitdiff
path: root/vendor/github.com/klauspost/compress/s2/writer.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/klauspost/compress/s2/writer.go')
-rw-r--r--vendor/github.com/klauspost/compress/s2/writer.go26
1 files changed, 16 insertions, 10 deletions
diff --git a/vendor/github.com/klauspost/compress/s2/writer.go b/vendor/github.com/klauspost/compress/s2/writer.go
index 637c93147..0a46f2b98 100644
--- a/vendor/github.com/klauspost/compress/s2/writer.go
+++ b/vendor/github.com/klauspost/compress/s2/writer.go
@@ -239,6 +239,9 @@ func (w *Writer) ReadFrom(r io.Reader) (n int64, err error) {
}
}
if n2 == 0 {
+ if cap(inbuf) >= w.obufLen {
+ w.buffers.Put(inbuf)
+ }
break
}
n += int64(n2)
@@ -314,9 +317,9 @@ func (w *Writer) AddSkippableBlock(id uint8, data []byte) (err error) {
hWriter := make(chan result)
w.output <- hWriter
if w.snappy {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkSnappyBytes}
} else {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkBytes}
}
}
@@ -370,9 +373,9 @@ func (w *Writer) EncodeBuffer(buf []byte) (err error) {
hWriter := make(chan result)
w.output <- hWriter
if w.snappy {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkSnappyBytes}
} else {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkBytes}
}
}
@@ -478,9 +481,9 @@ func (w *Writer) write(p []byte) (nRet int, errRet error) {
hWriter := make(chan result)
w.output <- hWriter
if w.snappy {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkSnappyBytes}
} else {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkBytes}
}
}
@@ -560,6 +563,9 @@ func (w *Writer) writeFull(inbuf []byte) (errRet error) {
if w.concurrency == 1 {
_, err := w.writeSync(inbuf[obufHeaderLen:])
+ if cap(inbuf) >= w.obufLen {
+ w.buffers.Put(inbuf)
+ }
return err
}
@@ -569,9 +575,9 @@ func (w *Writer) writeFull(inbuf []byte) (errRet error) {
hWriter := make(chan result)
w.output <- hWriter
if w.snappy {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkSnappyBytes}
} else {
- hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)}
+ hWriter <- result{startOffset: w.uncompWritten, b: magicChunkBytes}
}
}
@@ -637,9 +643,9 @@ func (w *Writer) writeSync(p []byte) (nRet int, errRet error) {
var n int
var err error
if w.snappy {
- n, err = w.writer.Write([]byte(magicChunkSnappy))
+ n, err = w.writer.Write(magicChunkSnappyBytes)
} else {
- n, err = w.writer.Write([]byte(magicChunk))
+ n, err = w.writer.Write(magicChunkBytes)
}
if err != nil {
return 0, w.err(err)