Documentation
¶
Index ¶
- type CompressionLevel
- type CompressionManager
- func (cm *CompressionManager) Compress(ctx context.Context, data []byte, compressionType CompressionType) ([]byte, error)
- func (cm *CompressionManager) Decompress(ctx context.Context, data []byte, compressionType CompressionType) ([]byte, error)
- func (cm *CompressionManager) GetAvailableTypes() []CompressionType
- func (cm *CompressionManager) GetCompressor(compressionType CompressionType) (Compressor, error)
- func (cm *CompressionManager) RegisterCompressor(compressor Compressor)
- type CompressionType
- type Compressor
- type GzipCompressor
- type ZlibCompressor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompressionLevel ¶
type CompressionLevel int
CompressionLevel represents the compression level
const ( CompressionLevelFast CompressionLevel = iota CompressionLevelDefault CompressionLevelBest )
type CompressionManager ¶
type CompressionManager struct {
// contains filtered or unexported fields
}
CompressionManager manages multiple compressors
func NewCompressionManager ¶
func NewCompressionManager() *CompressionManager
NewCompressionManager creates a new compression manager
func (*CompressionManager) Compress ¶
func (cm *CompressionManager) Compress(ctx context.Context, data []byte, compressionType CompressionType) ([]byte, error)
Compress compresses data using the specified compression type
func (*CompressionManager) Decompress ¶
func (cm *CompressionManager) Decompress(ctx context.Context, data []byte, compressionType CompressionType) ([]byte, error)
Decompress decompresses data using the specified compression type
func (*CompressionManager) GetAvailableTypes ¶
func (cm *CompressionManager) GetAvailableTypes() []CompressionType
GetAvailableTypes returns all available compression types
func (*CompressionManager) GetCompressor ¶
func (cm *CompressionManager) GetCompressor(compressionType CompressionType) (Compressor, error)
GetCompressor returns a compressor by type
func (*CompressionManager) RegisterCompressor ¶
func (cm *CompressionManager) RegisterCompressor(compressor Compressor)
RegisterCompressor registers a new compressor
type CompressionType ¶
type CompressionType string
CompressionType represents the type of compression
const ( CompressionTypeNone CompressionType = "none" CompressionTypeGzip CompressionType = "gzip" CompressionTypeZlib CompressionType = "zlib" )
type Compressor ¶
type Compressor interface {
Compress(ctx context.Context, data []byte) ([]byte, error)
Decompress(ctx context.Context, data []byte) ([]byte, error)
GetType() CompressionType
GetLevel() CompressionLevel
}
Compressor interface defines compression operations
type GzipCompressor ¶
type GzipCompressor struct {
// contains filtered or unexported fields
}
GzipCompressor implements gzip compression
func NewGzipCompressor ¶
func NewGzipCompressor(level CompressionLevel) *GzipCompressor
NewGzipCompressor creates a new gzip compressor
func (*GzipCompressor) Decompress ¶
Decompress decompresses gzip data
func (*GzipCompressor) GetLevel ¶
func (gc *GzipCompressor) GetLevel() CompressionLevel
GetLevel returns the compression level
func (*GzipCompressor) GetType ¶
func (gc *GzipCompressor) GetType() CompressionType
GetType returns the compression type
type ZlibCompressor ¶
type ZlibCompressor struct {
// contains filtered or unexported fields
}
ZlibCompressor implements zlib compression
func NewZlibCompressor ¶
func NewZlibCompressor(level CompressionLevel) *ZlibCompressor
NewZlibCompressor creates a new zlib compressor
func (*ZlibCompressor) Decompress ¶
Decompress decompresses zlib data
func (*ZlibCompressor) GetLevel ¶
func (zc *ZlibCompressor) GetLevel() CompressionLevel
GetLevel returns the compression level
func (*ZlibCompressor) GetType ¶
func (zc *ZlibCompressor) GetType() CompressionType
GetType returns the compression type