Documentation ¶
Overview ¶
Package compression provides compression support for store.Marshaler.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Compressor ¶
type Compressor interface { Compress(prefix, data []byte) ([]byte, error) Decompress(data []byte) ([]byte, error) ID() byte }
Compressor defines interface for compression and decompression.
type Marshaler ¶
type Marshaler struct {
// contains filtered or unexported fields
}
Marshaler compresses and decompresses data from the underlying marshaler.
Marshaler also handles case when the underlying data is not compressed.
The trick used is that `0x00` can't start a valid protobuf message, so we use `0x00` as a marker for compressed data.
func NewMarshaler ¶
func NewMarshaler(m store.Marshaler, c Compressor, minSize int) *Marshaler
NewMarshaler creates new Marshaler.
func (*Marshaler) MarshalResource ¶
MarshalResource implements Marshaler interface.
Click to show internal directories.
Click to hide internal directories.