OSDN Git Service

Merge branch 'master' into dev-coinbase
[bytom/vapor.git] / common / compression / snappy.go
diff --git a/common/compression/snappy.go b/common/compression/snappy.go
new file mode 100644 (file)
index 0000000..9aadb5e
--- /dev/null
@@ -0,0 +1,28 @@
+package compression
+
+import (
+       sny "github.com/golang/snappy"
+)
+
+func init() {
+       creator := func() Compression {
+               return NewSnappy()
+       }
+
+       registerCompressionCreator(SnappyBackendStr, creator, false)
+}
+
+type Snappy struct {
+}
+
+func NewSnappy() *Snappy {
+       return &Snappy{}
+}
+
+func (s *Snappy) CompressBytes(data []byte) []byte {
+       return sny.Encode(nil, data)
+}
+
+func (s *Snappy) DecompressBytes(data []byte) ([]byte, error) {
+       return sny.Decode(nil, data)
+}