MCPcopy
hub / github.com/segmentio/kafka-go / NewWriter

Method NewWriter

compress/snappy/snappy.go:68–87  ·  view source on GitHub ↗

NewWriter implements the compress.Codec interface.

(w io.Writer)

Source from the content-addressed store, hash-verified

66
67// NewWriter implements the compress.Codec interface.
68func (c *Codec) NewWriter(w io.Writer) io.WriteCloser {
69 x, _ := writerPool.Get().(*xerialWriter)
70 if x != nil {
71 x.Reset(w)
72 } else {
73 x = &xerialWriter{writer: w}
74 }
75 x.framed = c.Framing == Framed
76 switch c.Compression {
77 case FasterCompression:
78 x.encode = s2.EncodeSnappy
79 case BetterCompression:
80 x.encode = s2.EncodeSnappyBetter
81 case BestCompression:
82 x.encode = s2.EncodeSnappyBest
83 default:
84 x.encode = snappy.Encode // aka. s2.EncodeSnappyBetter
85 }
86 return &writer{xerialWriter: x}
87}
88
89type reader struct{ *xerialReader }
90

Callers

nothing calls this directly

Implementers 5

noopCodeccompress/compress_test.go
Codeccompress/zstd/zstd.go
Codeccompress/lz4/lz4.go
Codeccompress/snappy/snappy.go
Codeccompress/gzip/gzip.go

Calls 2

GetMethod · 0.80
ResetMethod · 0.45

Tested by

no test coverage detected