mirror of
https://github.com/lwch/natpass.git
synced 2024-04-21 12:41:54 +00:00
22 lines
540 B
Go
22 lines
540 B
Go
package encoding
|
|
|
|
import "io"
|
|
|
|
// Codec format data to []byte, decode data from []byte
|
|
type Codec interface {
|
|
// Marshal format data to []byte
|
|
Marshal(interface{}) ([]byte, error)
|
|
// Unmarshal decode data from []byte
|
|
Unmarshal([]byte, interface{}) error
|
|
}
|
|
|
|
// Compressor compressor interface
|
|
type Compressor interface {
|
|
// Compress get compress writer
|
|
Compress(io.Writer) (io.WriteCloser, error)
|
|
// Decompress get decompress reader
|
|
Decompress(io.Reader) (io.ReadCloser, error)
|
|
// SetLevel set compress level
|
|
SetLevel(int) error
|
|
}
|