filterdb

package
v1.9.16 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2021 License: Unlicense, MIT Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 Check added in v0.4.14

func Check(err error) bool

func Debug added in v0.4.14

func Debug(a ...interface{})

func Debugc added in v0.4.14

func Debugc(fn func() string)

func Debugf added in v0.4.14

func Debugf(format string, a ...interface{})

func Debugs added in v0.4.14

func Debugs(a interface{})

func Error added in v0.4.14

func Error(a ...interface{})

func Errorc added in v0.4.14

func Errorc(fn func() string)

func Errorf added in v0.4.14

func Errorf(format string, a ...interface{})

func Errors added in v0.4.14

func Errors(a interface{})

func Fatal added in v0.4.14

func Fatal(a ...interface{})

func Fatalc added in v0.4.14

func Fatalc(fn func() string)

func Fatalf added in v0.4.14

func Fatalf(format string, a ...interface{})

func Fatals added in v0.4.14

func Fatals(a interface{})

func Info added in v0.4.14

func Info(a ...interface{})

func Infoc added in v0.4.14

func Infoc(fn func() string)

func Infof added in v0.4.14

func Infof(format string, a ...interface{})

func Infos added in v0.4.14

func Infos(a interface{})

func Trace added in v0.4.14

func Trace(a ...interface{})

func Tracec added in v0.4.14

func Tracec(fn func() string)

func Tracef added in v0.4.14

func Tracef(format string, a ...interface{})

func Traces added in v0.4.14

func Traces(a interface{})

func Warn added in v0.4.14

func Warn(a ...interface{})

func Warnc added in v0.4.14

func Warnc(fn func() string)

func Warnf added in v0.4.14

func Warnf(format string, a ...interface{})

func Warns added in v0.4.14

func Warns(a interface{})

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

func New(db walletdb.DB, params netparams.Params) (*FilterStore, error)

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
)

Jump to

Keyboard shortcuts

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