Documentation ¶
Overview ¶
Package cbrotli compresses and decompresses data with C-Brotli library.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeWithRawDictionary ¶
DecodeWithRawDictionary decodes Brotli encoded data with shared dictionary.
Types ¶
type DictionaryType ¶
type DictionaryType int
DictionaryType is type for shared dictionary
const ( // DtRaw denotes LZ77 prefix dictionary DtRaw DictionaryType = 0 // DtSerialized denotes serialized format DtSerialized DictionaryType = 1 )
type PreparedDictionary ¶
type PreparedDictionary struct {
// contains filtered or unexported fields
}
PreparedDictionary is a handle to native object.
func NewPreparedDictionary ¶
func NewPreparedDictionary(data []byte, dictionaryType DictionaryType, quality int) *PreparedDictionary
NewPreparedDictionary prepares dictionary data for encoder. Same instance can be used for multiple encoding sessions. Close MUST be called to free resources.
func (*PreparedDictionary) Close ¶
func (p *PreparedDictionary) Close() error
Close frees C resources. IMPORTANT: calling Close until all encoders that use that dictionary are closed as well will cause crash.
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader implements io.ReadCloser by reading Brotli-encoded data from an underlying Reader.
func NewReaderWithRawDictionary ¶
NewReaderWithRawDictionary initializes new Reader instance with shared dictionary. Close MUST be called to free resources.
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer implements io.WriteCloser by writing Brotli-encoded data to an underlying Writer.
func NewWriter ¶
func NewWriter(dst io.Writer, options WriterOptions) *Writer
NewWriter initializes new Writer instance. Close MUST be called to free resources.
type WriterOptions ¶
type WriterOptions struct { // Quality controls the compression-speed vs compression-density trade-offs. // The higher the quality, the slower the compression. Range is 0 to 11. Quality int // LGWin is the base 2 logarithm of the sliding window size. // Range is 10 to 24. 0 indicates automatic configuration based on Quality. LGWin int // Prepared shared dictionary Dictionary *PreparedDictionary }
WriterOptions configures Writer.