Support containerdb.BytesStoreSnapshot
@@ -29,12 +29,20 @@ type BytesStoreState interface {
DeleteValue(key []byte) ([]byte, error)
}
+type BytesStoreSnapshot interface {
+ GetValue(key []byte) ([]byte, error)
+}
+
type RawBytesStoreState interface {
Get(key []byte) ([]byte, error)
Set(key []byte, value []byte) ([]byte, error)
Delete(key []byte) ([]byte, error)
}
+type RawBytesStoreSnapshot interface {
+ Get(key []byte) ([]byte, error)
+}
+
type ObjectStoreState interface {
Get(key []byte) (trie.Object, error)
Set(key []byte, obj trie.Object) (trie.Object, error)
@@ -43,10 +51,6 @@ type ObjectStoreState interface {
BytesToObject(value []byte) trie.Object
}
-type BytesStoreSnapshot interface {
- GetValue(key []byte) ([]byte, error)
-}
-
type ObjectStoreSnapshot interface {
Get(key []byte) (trie.Object, error)
ObjectToBytes(value trie.Object) []byte
@@ -287,6 +291,18 @@ func NewBytesStoreStateFromRaw(s RawBytesStoreState) BytesStoreState {
return bytesStoreStateForRaw{s}
}
+type bytesStoreSnapshotForRaw struct {
+ rbs RawBytesStoreSnapshot
+}
+
+func (b bytesStoreSnapshotForRaw) GetValue(key []byte) ([]byte, error) {
+ return b.rbs.Get(key)
+}
+
+func NewBytesStoreSnapshotFromRaw(s RawBytesStoreSnapshot) BytesStoreSnapshot {
+ return bytesStoreSnapshotForRaw{s}
+}
+
type emptyBytesStoreSnapshot struct{}
func (s emptyBytesStoreSnapshot) GetValue(k []byte) ([]byte, error) {
