Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KeyExistsError ¶
type KeyExistsError struct{}
KeyExistsError represents an error caused due to a key which exists.
func (*KeyExistsError) Error ¶
func (e *KeyExistsError) Error() string
type KeyNotFoundError ¶
type KeyNotFoundError struct{}
KeyNotFoundError represents an error caused due to a key which does not exist.
func (*KeyNotFoundError) Error ¶
func (e *KeyNotFoundError) Error() string
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager of multiple object stores that are persisted together.
func (*Manager) GetObjectStore ¶
func (m *Manager) GetObjectStore(name string, sampleObject any) store.ObjectStore
GetObjectStore returns a store for a specific object type.
type ObjectStore ¶
type ObjectStore struct {
// contains filtered or unexported fields
}
ObjectStore represents a persistent store of objects, backed by a KV-store. Key format for an object is: <storeName>.<objectName>.
func NewObjectStore ¶
func NewObjectStore(name string, s Store, sampleObject any) *ObjectStore
NewObjectStore returns a new object store backed by a KV-store.
func (*ObjectStore) Create ¶
func (s *ObjectStore) Create(name string, value any) error
Create an object.
func (*ObjectStore) Delete ¶
func (s *ObjectStore) Delete(name string) error
Delete an object identified by the given name.
func (*ObjectStore) GetAll ¶
func (s *ObjectStore) GetAll() ([]any, error)
GetAll returns all of the objects in the store.
type Store ¶
type Store interface { // Create a (key, value) in the store. // Returns KeyExistsError if key already exists. Create(key, value []byte) error // Update a (key, value) in the store. // Returns KeyNotFoundError if key does not exist. Update(key []byte, mutator func([]byte) ([]byte, error)) error // Delete a key (with its respective value) from the store. Delete(key []byte) error // Range calls f sequentially for each (key, value) where key starts with the given prefix. Range(prefix []byte, f func(key, value []byte) error) error // Close frees all resources (e.g. file handles, network sockets) used by the Store. Close() error }
Store represents a key-value store.
Click to show internal directories.
Click to hide internal directories.