1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +09:00
any-sync/util/cmd/benchmarks/db/common.go
Sergey Cherepanov 2c3ebf9ce1
go workspaces
2022-10-17 15:31:09 +03:00

30 lines
677 B
Go

package db
type Transaction interface {
AddChange(key string, value []byte) (err error)
GetChange(key string) ([]byte, error)
}
type Tree interface {
Id() string
UpdateHead(head string) (err error)
AddChange(key string, value []byte) (err error)
GetChange(key string) ([]byte, error)
HasChange(key string) (has bool, err error)
Perform(func(txn Transaction) error) error
}
type Space interface {
Id() string
CreateTree(id string) (Tree, error)
GetTree(id string) (Tree, error)
Close() error
}
type SpaceCreator interface {
CreateSpace(id string) (Space, error)
GetSpace(id string) (Space, error)
Close() error
}
type SpaceCreatorFactory func() SpaceCreator