cache

package
v0.0.0-...-3b18782 Latest Latest
Warning

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

Go to latest
Published: May 24, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrElementNotFound is returned when element isn't found in the cache.
	ErrElementNotFound = fmt.Errorf("unable to find element")
)

Functions

This section is empty.

Types

type Cache

type Cache interface {
	// Put stores the given (key,value) pair, replacing existing value if
	// key already exists. The return value indicates whether items had to
	// be evicted to make room for the new element.
	Put(key interface{}, value Value) (bool, error)

	// Get returns the value for a given key.
	Get(key interface{}) (Value, error)

	// Len returns number of elements in the cache.
	Len() int
}

Cache represents a generic cache.

type CacheableBlock

type CacheableBlock struct {
	*bchutil.Block
}

CacheableBlock is a wrapper around the bchutil.Block type which provides a Size method used by the cache to target certain memory usage.

func (*CacheableBlock) Size

func (c *CacheableBlock) Size() (uint64, error)

Size returns size of this block in bytes.

type CacheableFilter

type CacheableFilter struct {
	*gcs.Filter
}

CacheableFilter is a wrapper around Filter type which provides a Size method used by the cache to target certain memory usage.

func (*CacheableFilter) Size

func (c *CacheableFilter) Size() (uint64, error)

Size returns size of this filter in bytes.

type FilterCacheKey

type FilterCacheKey struct {
	BlockHash  chainhash.Hash
	FilterType filterdb.FilterType
}

FilterCacheKey represents the key used to access filters in the FilterCache.

type Value

type Value interface {
	// Size determines how big this entry would be in the cache. For
	// example, for a filter, it could be the size of the filter in bytes.
	Size() (uint64, error)
}

Value represents a value stored in the Cache.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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