Bitcoin Core  0.20.99
P2P Digital Currency
Functions | Variables
blockfilter.cpp File Reference
#include <mutex>
#include <sstream>
#include <set>
#include <blockfilter.h>
#include <crypto/siphash.h>
#include <hash.h>
#include <primitives/transaction.h>
#include <script/script.h>
#include <streams.h>
#include <util/golombrice.h>
Include dependency graph for blockfilter.cpp:

Go to the source code of this file.

Functions

static uint64_t MapIntoRange (uint64_t x, uint64_t n)
 
const std::string & BlockFilterTypeName (BlockFilterType filter_type)
 Get the human-readable name for a filter type. More...
 
bool BlockFilterTypeByName (const std::string &name, BlockFilterType &filter_type)
 Find a filter type by its human-readable name. More...
 
const std::set< BlockFilterType > & AllBlockFilterTypes ()
 Get a list of known filter types. More...
 
const std::string & ListBlockFilterTypes ()
 Get a comma-separated list of known filter type names. More...
 
static GCSFilter::ElementSet BasicFilterElements (const CBlock &block, const CBlockUndo &block_undo)
 

Variables

static constexpr int GCS_SER_TYPE = SER_NETWORK
 SerType used to serialize parameters in GCS filter encoding. More...
 
static constexpr int GCS_SER_VERSION = 0
 Protocol version used to serialize parameters in GCS filter encoding. More...
 
static const std::map< BlockFilterType, std::string > g_filter_types
 

Function Documentation

◆ AllBlockFilterTypes()

const std::set<BlockFilterType>& AllBlockFilterTypes ( )

Get a list of known filter types.

Definition at line 195 of file blockfilter.cpp.

Here is the caller graph for this function:

◆ BasicFilterElements()

static GCSFilter::ElementSet BasicFilterElements ( const CBlock block,
const CBlockUndo block_undo 
)
static

Definition at line 228 of file blockfilter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BlockFilterTypeByName()

bool BlockFilterTypeByName ( const std::string &  name,
BlockFilterType filter_type 
)

Find a filter type by its human-readable name.

Definition at line 185 of file blockfilter.cpp.

Here is the caller graph for this function:

◆ BlockFilterTypeName()

const std::string& BlockFilterTypeName ( BlockFilterType  filter_type)

Get the human-readable name for a filter type.

Returns empty string for unknown types.

Definition at line 178 of file blockfilter.cpp.

Here is the caller graph for this function:

◆ ListBlockFilterTypes()

const std::string& ListBlockFilterTypes ( )

Get a comma-separated list of known filter type names.

Definition at line 209 of file blockfilter.cpp.

Here is the caller graph for this function:

◆ MapIntoRange()

static uint64_t MapIntoRange ( uint64_t  x,
uint64_t  n 
)
static

Definition at line 32 of file blockfilter.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ g_filter_types

const std::map<BlockFilterType, std::string> g_filter_types
static
Initial value:

Definition at line 23 of file blockfilter.cpp.

◆ GCS_SER_TYPE

constexpr int GCS_SER_TYPE = SER_NETWORK
static

SerType used to serialize parameters in GCS filter encoding.

Definition at line 18 of file blockfilter.cpp.

◆ GCS_SER_VERSION

constexpr int GCS_SER_VERSION = 0
static

Protocol version used to serialize parameters in GCS filter encoding.

Definition at line 21 of file blockfilter.cpp.