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 ¶ added in v0.16.0
func DisableLog()
DisableLog disables all library log output. Logging output is disabled by default until either UseLogger or SetLogWriter are called.
Types ¶
type FilterData ¶ added in v0.16.0
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 ¶ added in v0.12.0
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 ¶ added in v0.16.0
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 )