var ( // ErrCorrupt reports that the input is invalid. ErrCorrupt = s2.ErrCorrupt // ErrTooLarge reports that the uncompressed length is too large. ErrTooLarge = s2.ErrTooLarge // ErrUnsupported reports that the input isn't supported. ErrUnsupported = s2.ErrUnsupported )
func Decode(dst, src []byte) ([]byte, error)
Decode returns the decoded form of src. The returned slice may be a sub- slice of dst if dst was large enough to hold the entire decoded block. Otherwise, a newly allocated slice will be returned.
The dst and src must not overlap. It is valid to pass a nil dst.
Decode handles the Snappy block format, not the Snappy stream format.
func DecodedLen(src []byte) (int, error)
DecodedLen returns the length of the decoded block.
func Encode(dst, src []byte) []byte
Encode returns the encoded form of src. The returned slice may be a sub- slice of dst if dst was large enough to hold the entire encoded block. Otherwise, a newly allocated slice will be returned.
The dst and src must not overlap. It is valid to pass a nil dst.
Encode handles the Snappy block format, not the Snappy stream format.
func MaxEncodedLen(srcLen int) int
MaxEncodedLen returns the maximum length of a snappy block, given its uncompressed length.
It will return a negative value if srcLen is too large to encode.
Reader is an io.Reader that can read Snappy-compressed bytes.
Reader handles the Snappy stream format, not the Snappy block format.
type Reader = s2.Reader
func NewReader(r io.Reader) *Reader
NewReader returns a new Reader that decompresses from r, using the framing format described at https://github.com/google/snappy/blob/master/framing_format.txt
Writer is an io.Writer that can write Snappy-compressed bytes.
Writer handles the Snappy stream format, not the Snappy block format.
type Writer = s2.Writer
func NewBufferedWriter(w io.Writer) *Writer
NewBufferedWriter returns a new Writer that compresses to w, using the framing format described at https://github.com/google/snappy/blob/master/framing_format.txt
The Writer returned buffers writes. Users must call Close to guarantee all data has been forwarded to the underlying io.Writer. They may also call Flush zero or more times before calling Close.
func NewWriter(w io.Writer) *Writer
NewWriter returns a new Writer that compresses to w.
The Writer returned does not buffer writes. There is no need to Flush or Close such a Writer.
Deprecated: the Writer returned is not suitable for many small writes, only for few large writes. Use NewBufferedWriter instead, which is efficient regardless of the frequency and shape of the writes, and remember to Close that Writer when done.