filterdb

package
v0.0.2-0...-1c7e8a7 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2021 License: Unlicense, MIT Imports: 8 Imported by: 0

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

func Check(err error) bool

func Debug

func Debug(a ...interface{})

func Debugc

func Debugc(fn func() string)

func Debugf

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

func Debugs

func Debugs(a interface{})

func Error

func Error(a ...interface{})

func Errorc

func Errorc(fn func() string)

func Errorf

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

func Errors

func Errors(a interface{})

func Fatal

func Fatal(a ...interface{})

func Fatalc

func Fatalc(fn func() string)

func Fatalf

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

func Fatals

func Fatals(a interface{})

func Info

func Info(a ...interface{})

func Infoc

func Infoc(fn func() string)

func Infof

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

func Infos

func Infos(a interface{})

func Trace

func Trace(a ...interface{})

func Tracec

func Tracec(fn func() string)

func Tracef

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

func Traces

func Traces(a interface{})

func Warn

func Warn(a ...interface{})

func Warnc

func Warnc(fn func() string)

func Warnf

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

func Warns

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