summaryrefslogtreecommitdiffstats
path: root/library/go/blockcodecs/codecs.go
diff options
context:
space:
mode:
authorqrort <[email protected]>2022-12-02 11:31:25 +0300
committerqrort <[email protected]>2022-12-02 11:31:25 +0300
commitb1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806 (patch)
tree2a23209faf0fea5586a6d4b9cee60d1b318d29fe /library/go/blockcodecs/codecs.go
parent559174a9144de40d6bb3997ea4073c82289b4974 (diff)
remove kikimr/driver DEPENDS
Diffstat (limited to 'library/go/blockcodecs/codecs.go')
-rw-r--r--library/go/blockcodecs/codecs.go89
1 files changed, 0 insertions, 89 deletions
diff --git a/library/go/blockcodecs/codecs.go b/library/go/blockcodecs/codecs.go
deleted file mode 100644
index b45bda6d616..00000000000
--- a/library/go/blockcodecs/codecs.go
+++ /dev/null
@@ -1,89 +0,0 @@
-package blockcodecs
-
-import (
- "encoding/binary"
- "fmt"
- "sync"
-
- "go.uber.org/atomic"
-)
-
-type CodecID uint16
-
-type Codec interface {
- ID() CodecID
- Name() string
-
- DecodedLen(in []byte) (int, error)
- Encode(dst, src []byte) ([]byte, error)
- Decode(dst, src []byte) ([]byte, error)
-}
-
-var (
- codecsByID sync.Map
- codecsByName sync.Map
-)
-
-// Register new codec.
-//
-// NOTE: update FindCodecByName description, after adding new codecs.
-func Register(c Codec) {
- if _, duplicate := codecsByID.LoadOrStore(c.ID(), c); duplicate {
- panic(fmt.Sprintf("codec with id %d is already registered", c.ID()))
- }
-
- RegisterAlias(c.Name(), c)
-}
-
-func RegisterAlias(name string, c Codec) {
- if _, duplicate := codecsByName.LoadOrStore(name, c); duplicate {
- panic(fmt.Sprintf("codec with name %s is already registered", c.Name()))
- }
-}
-
-func ListCodecs() []Codec {
- var c []Codec
- codecsByID.Range(func(key, value interface{}) bool {
- c = append(c, value.(Codec))
- return true
- })
- return c
-}
-
-func FindCodec(id CodecID) Codec {
- c, ok := codecsByID.Load(id)
- if ok {
- return c.(Codec)
- } else {
- return nil
- }
-}
-
-// FindCodecByName returns codec by name.
-//
-// Possible names:
-//
-// null
-// snappy
-// zstd08_{level} - level is integer 1, 3 or 7.
-// zstd_{level} - level is integer 1, 3 or 7.
-func FindCodecByName(name string) Codec {
- c, ok := codecsByName.Load(name)
- if ok {
- return c.(Codec)
- } else {
- return nil
- }
-}
-
-var (
- maxDecompressedBlockSize = atomic.NewInt32(16 << 20) // 16 MB
-)
-
-func DecodedLen(in []byte) (int, error) {
- if len(in) < 8 {
- return 0, fmt.Errorf("short block: %d < 8", len(in))
- }
-
- return int(binary.LittleEndian.Uint64(in[:8])), nil
-}