Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrFilterNotFound is returned when a filter for a target block hash is // unable to be located. ErrFilterNotFound = fmt.Errorf("unable to find filter") )
Functions ¶
This section is empty.
Types ¶
type FilterDatabase ¶
type FilterDatabase interface {
// PutFilter stores a filter with the given hash and type to persistent
// storage.
PutFilter(*chainhash.Hash, *gcs.Filter, FilterType) error
// FetchFilter attempts to fetch a filter with the given hash and type
// from persistent storage. In the case that a filter matching the
// target block hash cannot be found, then ErrFilterNotFound is to be
// returned.
FetchFilter(*chainhash.Hash, FilterType) (*gcs.Filter, error)
}
FilterDatabase is an interface which represents an object that is capable of storing and retrieving filters according to their corresponding block hash and also their filter type.
TODO(roasbeef): similar interface for headerfs?
type FilterStore ¶
type FilterStore struct {
// contains filtered or unexported fields
}
FilterStore is an implementation of the FilterDatabase interface which is backed by boltdb.
func New ¶
New creates a new instance of the FilterStore given an already open database, and the target chain parameters.
func (*FilterStore) FetchFilter ¶
func (f *FilterStore) FetchFilter(blockHash *chainhash.Hash, filterType FilterType) (*gcs.Filter, error)
FetchFilter attempts to fetch a filter with the given hash and type from persistent storage.
NOTE: This method is a part of the FilterDatabase interface.
func (*FilterStore) PutFilter ¶
func (f *FilterStore) PutFilter(hash *chainhash.Hash, filter *gcs.Filter, fType FilterType) error
PutFilter stores a filter with the given hash and type to persistent storage.
NOTE: This method is a part of the FilterDatabase interface.
type FilterType ¶
type FilterType uint8
FilterType is a enum-like type that represents the various filter types currently defined.
const ( // RegularFilter is the filter type of regular filters which contain // outputs and pkScript data pushes. RegularFilter FilterType = iota )