 Documentation
      ¶
      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.