cache

package
v1.0.0-alpha.17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2020 License: GPL-3.0 Imports: 5 Imported by: 12

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

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

func (c *EpochSpansCache) Get(epoch uint64) (map[uint64]types.Span, bool)

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.

func (*EpochSpansCache) Set

func (c *EpochSpansCache) Set(epoch uint64, epochSpans map[uint64]types.Span)

Set the response in the cache.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL