Added transcoder functions to LevelDB backend.

This commit is contained in:
Sascha L. Teichmann
2014-08-22 22:26:03 +02:00
parent 24b9236e41
commit 712708f87c
3 changed files with 39 additions and 15 deletions

View File

@ -24,6 +24,7 @@ type (
KeyTransformer func(int64) int64
KeyEncoder func(int64) ([]byte, error)
KeyDecoder func([]byte) (int64, error)
KeyTranscoder func([]byte) ([]byte, error)
KeySplitter func(int64) Coord
KeyJoiner func(Coord) int64
)
@ -156,6 +157,10 @@ func EncodeStringToBytesFromInterleaved(key int64) ([]byte, error) {
return EncodeStringToBytes(TransformInterleavedToPlain(key))
}
func IdentityTranscoder(key []byte) ([]byte, error) {
return key, nil
}
func SelectKeySplitter(interleaved bool) KeySplitter {
if interleaved {
return InterleavedToCoord