Documentation ¶
Index ¶
- func NewCache(config CacheConfig) (storage.Cacher, error)
- func NewDB(argDB ArgDB) (storage.Persister, error)
- type ArgDB
- type CacheConfig
- type CacheType
- type DBConfig
- type DBType
- type HasherType
- type NilStorer
- func (ns *NilStorer) ClearCache()
- func (ns *NilStorer) Close() error
- func (ns *NilStorer) DestroyUnit() error
- func (ns *NilStorer) Get(_ []byte) ([]byte, error)
- func (ns *NilStorer) GetBulkFromEpoch(_ [][]byte, _ uint32) (map[string][]byte, error)
- func (ns *NilStorer) GetFromEpoch(_ []byte, _ uint32) ([]byte, error)
- func (ns *NilStorer) GetOldestEpoch() (uint32, error)
- func (ns *NilStorer) Has(_ []byte) error
- func (ns *NilStorer) IsInterfaceNil() bool
- func (ns *NilStorer) Put(_, _ []byte) error
- func (ns *NilStorer) PutInEpoch(_, _ []byte, _ uint32) error
- func (ns *NilStorer) RangeKeys(_ func(key []byte, val []byte) bool)
- func (ns *NilStorer) Remove(_ []byte) error
- func (ns *NilStorer) SearchFirst(_ []byte) ([]byte, error)
- type Unit
- func (u *Unit) ClearCache()
- func (u *Unit) Close() error
- func (u *Unit) DestroyUnit() error
- func (u *Unit) Get(key []byte) ([]byte, error)
- func (u *Unit) GetBulkFromEpoch(keys [][]byte, _ uint32) (map[string][]byte, error)
- func (u *Unit) GetFromEpoch(key []byte, _ uint32) ([]byte, error)
- func (u *Unit) GetOldestEpoch() (uint32, error)
- func (u *Unit) Has(key []byte) error
- func (u *Unit) IsInterfaceNil() bool
- func (u *Unit) Put(key, data []byte) error
- func (u *Unit) PutInEpoch(key, data []byte, _ uint32) error
- func (u *Unit) RangeKeys(handler func(key []byte, value []byte) bool)
- func (u *Unit) Remove(key []byte) error
- func (u *Unit) SearchFirst(key []byte) ([]byte, error)
- type UnitConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ArgDB ¶
type ArgDB struct { DBType DBType Path string BatchDelaySeconds int MaxBatchSize int MaxOpenFiles int }
ArgDB is a structure that is used to create a new storage.Persister implementation
type CacheConfig ¶
type CacheConfig struct { Name string Type CacheType SizeInBytes uint64 SizeInBytesPerSender uint32 Capacity uint32 SizePerSender uint32 Shards uint32 }
CacheConfig holds the configurable elements of a cache
func (*CacheConfig) String ¶ added in v1.0.133
func (config *CacheConfig) String() string
String returns a readable representation of the object
type DBConfig ¶
type DBConfig struct { FilePath string Type DBType BatchDelaySeconds int MaxBatchSize int MaxOpenFiles int }
DBConfig holds the configurable elements of a database
type HasherType ¶
type HasherType string
HasherType represents the type of the supported hash functions
const ( // Keccak is the string representation of the keccak hashing function Keccak HasherType = "Keccak" // Blake2b is the string representation of the blake2b hashing function Blake2b HasherType = "Blake2b" // Fnv is the string representation of the fnv hashing function Fnv HasherType = "Fnv" )
type NilStorer ¶ added in v1.2.0
type NilStorer struct { }
NilStorer resembles a disabled implementation of the Storer interface
func (*NilStorer) ClearCache ¶ added in v1.2.0
func (ns *NilStorer) ClearCache()
ClearCache will do nothing
func (*NilStorer) DestroyUnit ¶ added in v1.2.0
DestroyUnit will do nothing
func (*NilStorer) GetBulkFromEpoch ¶ added in v1.2.0
GetBulkFromEpoch will do nothing
func (*NilStorer) GetFromEpoch ¶ added in v1.2.0
GetFromEpoch will do nothing
func (*NilStorer) GetOldestEpoch ¶ added in v1.2.4
GetOldestEpoch will return an error that signals that the oldest epoch fetching is not available
func (*NilStorer) IsInterfaceNil ¶ added in v1.2.0
IsInterfaceNil returns true if there is no value under the interface
func (*NilStorer) PutInEpoch ¶ added in v1.2.0
PutInEpoch will do nothing
type Unit ¶
type Unit struct {
// contains filtered or unexported fields
}
Unit represents a storer's data bank holding the cache and persistence unit
func NewStorageUnit ¶
NewStorageUnit is the constructor for the storage unit, creating a new storage unit from the given cacher and persister.
func NewStorageUnitFromConf ¶
func NewStorageUnitFromConf(cacheConf CacheConfig, dbConf DBConfig) (*Unit, error)
NewStorageUnitFromConf creates a new storage unit from a storage unit config
func (*Unit) DestroyUnit ¶
DestroyUnit cleans up the cache, and the db
func (*Unit) Get ¶
Get searches the key in the cache. In case it is not found, it further searches it in the associated database. In case it is found in the database, the cache is updated with the value as well.
func (*Unit) GetBulkFromEpoch ¶ added in v1.0.147
GetBulkFromEpoch will call the Get method for all keys as this storer doesn't handle epochs
func (*Unit) GetFromEpoch ¶
GetFromEpoch will call the Get method as this storer doesn't handle epochs
func (*Unit) GetOldestEpoch ¶ added in v1.2.4
GetOldestEpoch will return an error that signals that the oldest epoch fetching is not available
func (*Unit) Has ¶
Has checks if the key is in the Unit. It first checks the cache. If it is not found, it checks the db
func (*Unit) IsInterfaceNil ¶
IsInterfaceNil returns true if there is no value under the interface
func (*Unit) PutInEpoch ¶ added in v1.1.1
PutInEpoch will call the Put method as this storer doesn't handle epochs
func (*Unit) RangeKeys ¶ added in v1.0.138
RangeKeys can iterate over the persisted (key, value) pairs calling the provided handler
type UnitConfig ¶
type UnitConfig struct { CacheConf CacheConfig DBConf DBConfig }
UnitConfig holds the configurable elements of the storage unit