mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 05:57:03 +09:00
30 lines
677 B
Go
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
|