Documentation ¶
Overview ¶
Package cache contains critical caches necessary for the runtime of the slasher service, such as a cache for maintaining validator history on a per epoch basis
Index ¶
- type EpochFlatSpansCache
- func (c *EpochFlatSpansCache) Delete(epoch uint64) bool
- func (c *EpochFlatSpansCache) Get(epoch uint64) (*types.EpochStore, bool)
- func (c *EpochFlatSpansCache) Has(epoch uint64) bool
- func (c *EpochFlatSpansCache) Length() int
- func (c *EpochFlatSpansCache) PruneOldest() uint64
- func (c *EpochFlatSpansCache) Purge()
- func (c *EpochFlatSpansCache) Set(epoch uint64, epochSpans *types.EpochStore)
- type EpochSpansCache
- func (c *EpochSpansCache) Delete(epoch uint64) bool
- func (c *EpochSpansCache) Get(epoch uint64) (map[uint64]types.Span, bool)
- func (c *EpochSpansCache) Has(epoch uint64) bool
- func (c *EpochSpansCache) PruneOldest() uint64
- func (c *EpochSpansCache) Purge()
- func (c *EpochSpansCache) Set(epoch uint64, epochSpans map[uint64]types.Span)
- type PublicKeyCache
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EpochFlatSpansCache ¶ added in v1.0.0
type EpochFlatSpansCache struct {
// contains filtered or unexported fields
}
EpochFlatSpansCache is used to store the spans needed on a per-epoch basis for slashing detection.
func NewEpochFlatSpansCache ¶ added in v1.0.0
func NewEpochFlatSpansCache(size int, onEvicted func(key interface{}, value interface{})) (*EpochFlatSpansCache, error)
NewEpochFlatSpansCache initializes the underlying cache with the given size and on evict function.
func (*EpochFlatSpansCache) Delete ¶ added in v1.0.0
func (c *EpochFlatSpansCache) Delete(epoch uint64) bool
Delete removes an epoch from the cache and returns if it existed or not. Performs the onEviction function before removal.
func (*EpochFlatSpansCache) Get ¶ added in v1.0.0
func (c *EpochFlatSpansCache) Get(epoch uint64) (*types.EpochStore, bool)
Get returns an ok bool and the cached value for the requested epoch key, if any.
func (*EpochFlatSpansCache) Has ¶ added in v1.0.0
func (c *EpochFlatSpansCache) Has(epoch uint64) bool
Has returns true if the key exists in the cache.
func (*EpochFlatSpansCache) Length ¶ added in v1.0.0
func (c *EpochFlatSpansCache) Length() int
Length returns the number of cached items.
func (*EpochFlatSpansCache) PruneOldest ¶ added in v1.0.0
func (c *EpochFlatSpansCache) PruneOldest() uint64
PruneOldest removes the oldest key from the span cache, calling its OnEvict function.
func (*EpochFlatSpansCache) Purge ¶ added in v1.0.0
func (c *EpochFlatSpansCache) Purge()
Purge removes all keys from the SpanCache and evicts all current data.
func (*EpochFlatSpansCache) Set ¶ added in v1.0.0
func (c *EpochFlatSpansCache) Set(epoch uint64, epochSpans *types.EpochStore)
Set the response in the cache.
type EpochSpansCache ¶
type EpochSpansCache struct {
// contains filtered or unexported fields
}
EpochSpansCache is used to store the spans needed on a per-epoch basis for slashing detection.
func NewEpochSpansCache ¶
func NewEpochSpansCache(size int, onEvicted func(key interface{}, value interface{})) (*EpochSpansCache, error)
NewEpochSpansCache initializes the map and underlying cache.
func (*EpochSpansCache) Delete ¶
func (c *EpochSpansCache) Delete(epoch uint64) bool
Delete removes an epoch from the cache and returns if it existed or not. Performs the onEviction function before removal.
func (*EpochSpansCache) Get ¶
Get returns an ok bool and the cached value for the requested epoch key, if any.
func (*EpochSpansCache) Has ¶
func (c *EpochSpansCache) Has(epoch uint64) bool
Has returns true if the key exists in the cache.
func (*EpochSpansCache) PruneOldest ¶ added in v1.0.0
func (c *EpochSpansCache) PruneOldest() uint64
PruneOldest removes the oldest key from the span cache, calling its OnEvict function.
func (*EpochSpansCache) Purge ¶ added in v1.0.0
func (c *EpochSpansCache) Purge()
Purge removes all keys from the SpanCache and evicts all current data.
type PublicKeyCache ¶ added in v0.3.10
type PublicKeyCache struct {
// contains filtered or unexported fields
}
PublicKeyCache is used to store the public keys needed for signature verification.
func NewPublicKeyCache ¶ added in v0.3.10
func NewPublicKeyCache(size int, onEvicted func(key interface{}, value interface{})) (*PublicKeyCache, error)
NewPublicKeyCache initializes the cache.
func (*PublicKeyCache) Clear ¶ added in v0.3.10
func (c *PublicKeyCache) Clear()
Clear removes all keys from the ValidatorCache.
func (*PublicKeyCache) Delete ¶ added in v0.3.10
func (c *PublicKeyCache) Delete(validatorIdx uint64) bool
Delete removes a validator id from the cache and returns if it existed or not. Performs the onEviction function before removal.
func (*PublicKeyCache) Get ¶ added in v0.3.10
func (c *PublicKeyCache) Get(validatorIdx uint64) ([]byte, bool)
Get returns an ok bool and the cached value for the requested validator id key, if any.
func (*PublicKeyCache) Has ¶ added in v0.3.10
func (c *PublicKeyCache) Has(validatorIdx uint64) bool
Has returns true if the key exists in the cache.
func (*PublicKeyCache) Set ¶ added in v0.3.10
func (c *PublicKeyCache) Set(validatorIdx uint64, publicKey []byte)
Set the response in the cache.