23 lines
500 B
Go
23 lines
500 B
Go
// Copyright (C) 2021 Marius Schellenberger
|
|
|
|
package store
|
|
|
|
import "errors"
|
|
|
|
var (
|
|
ErrKeyNotFound = errors.New("store: key not found")
|
|
ErrWriterIsNil = errors.New("store: writer is nil")
|
|
ErrReaderIsNil = errors.New("store: reader is nil")
|
|
)
|
|
|
|
type Store interface {
|
|
Marshaler
|
|
Dumper
|
|
Restorer
|
|
Get(string, interface{}) error
|
|
Set(string, interface{}) error
|
|
ForEach(func(string, []byte) error) error
|
|
ForEachPrefix(string, func(string, []byte) error) error
|
|
Delete(string) error
|
|
Close() error
|
|
}
|