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 ¶
func DisableLog ¶
func DisableLog()
DisableLog disables all library log output. Logging output is disabled by default until either UseLogger or SetLogWriter are called.
Types ¶
type FilterData ¶
type FilterData struct {
// Filter is the actual filter to be stored.
Filter *gcs.Filter
// BlockHash is the block header hash of the block associated with the
// Filter.
BlockHash *chainhash.Hash
// Type is the filter type.
Type FilterType
}
FilterData holds all the info about a filter required to store it.
type FilterDatabase ¶
type FilterDatabase interface {
// PutFilters stores a set of filters to persistent storage.
PutFilters(...*FilterData) 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)
// PurgeFilters purge all filters with a given type from persistent
// storage.
PurgeFilters(FilterType) 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) PurgeFilters ¶
func (f *FilterStore) PurgeFilters(fType FilterType) error
PurgeFilters purge all filters with a given type from persistent storage.
NOTE: This method is a part of the FilterDatabase interface.
func (*FilterStore) PutFilters ¶
func (f *FilterStore) PutFilters(filterList ...*FilterData) error
PutFilters stores a set of filters to persistent storage.
NOTE: This method is a part of the FilterDatabase interface.
type FilterType ¶
type FilterType uint8
FilterType is an 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 )