![]() |
Bitcoin Core
21.99.0
P2P Digital Currency
|
#include <map>
#include <dbwrapper.h>
#include <index/blockfilterindex.h>
#include <util/system.h>
#include <validation.h>
Go to the source code of this file.
Functions | |
static bool | CopyHeightIndexToHashIndex (CDBIterator &db_it, CDBBatch &batch, const std::string &index_name, int start_height, int stop_height) |
static bool | LookupOne (const CDBWrapper &db, const CBlockIndex *block_index, DBVal &result) |
static bool | LookupRange (CDBWrapper &db, const std::string &index_name, int start_height, const CBlockIndex *stop_index, std::vector< DBVal > &results) |
BlockFilterIndex * | GetBlockFilterIndex (BlockFilterType filter_type) |
Get a block filter index by type. More... | |
void | ForEachBlockFilterIndex (std::function< void(BlockFilterIndex &)> fn) |
Iterate over all running block filter indexes, invoking fn on each. More... | |
bool | InitBlockFilterIndex (BlockFilterType filter_type, size_t n_cache_size, bool f_memory, bool f_wipe) |
Initialize a block filter index for the given type if one does not already exist. More... | |
bool | DestroyBlockFilterIndex (BlockFilterType filter_type) |
Destroy the block filter index with the given type. More... | |
void | DestroyAllBlockFilterIndexes () |
Destroy all open block filter indexes. More... | |
Variables | |
constexpr char | DB_BLOCK_HASH = 's' |
constexpr char | DB_BLOCK_HEIGHT = 't' |
constexpr char | DB_FILTER_POS = 'P' |
constexpr unsigned int | MAX_FLTR_FILE_SIZE = 0x1000000 |
constexpr unsigned int | FLTR_FILE_CHUNK_SIZE = 0x100000 |
The pre-allocation chunk size for fltr?????.dat files. More... | |
constexpr size_t | CF_HEADERS_CACHE_MAX_SZ {2000} |
Maximum size of the cfheaders cache We have a limit to prevent a bug in filling this cache potentially turning into an OOM. More... | |
static std::map< BlockFilterType, BlockFilterIndex > | g_filter_indexes |
|
static |
Definition at line 253 of file blockfilterindex.cpp.
void DestroyAllBlockFilterIndexes | ( | ) |
Destroy all open block filter indexes.
Definition at line 478 of file blockfilterindex.cpp.
bool DestroyBlockFilterIndex | ( | BlockFilterType | filter_type | ) |
Destroy the block filter index with the given type.
Returns false if no such index exists. This just releases the allocated memory and closes the database connection, it does not delete the index data.
Definition at line 473 of file blockfilterindex.cpp.
void ForEachBlockFilterIndex | ( | std::function< void(BlockFilterIndex &)> | fn | ) |
Iterate over all running block filter indexes, invoking fn on each.
Definition at line 458 of file blockfilterindex.cpp.
BlockFilterIndex* GetBlockFilterIndex | ( | BlockFilterType | filter_type | ) |
Get a block filter index by type.
Returns nullptr if index has not been initialized or was already destroyed.
Definition at line 452 of file blockfilterindex.cpp.
bool InitBlockFilterIndex | ( | BlockFilterType | filter_type, |
size_t | n_cache_size, | ||
bool | f_memory = false , |
||
bool | f_wipe = false |
||
) |
Initialize a block filter index for the given type if one does not already exist.
Returns true if a new index is created and false if one has already been initialized.
Definition at line 463 of file blockfilterindex.cpp.
|
static |
Definition at line 302 of file blockfilterindex.cpp.
|
static |
Definition at line 320 of file blockfilterindex.cpp.
constexpr size_t CF_HEADERS_CACHE_MAX_SZ {2000} |
Maximum size of the cfheaders cache We have a limit to prevent a bug in filling this cache potentially turning into an OOM.
At 2000 entries, this cache is big enough for a 2,000,000 length block chain, which we should be enough until ~2047.
Definition at line 39 of file blockfilterindex.cpp.
constexpr char DB_BLOCK_HASH = 's' |
Definition at line 27 of file blockfilterindex.cpp.
constexpr char DB_BLOCK_HEIGHT = 't' |
Definition at line 28 of file blockfilterindex.cpp.
constexpr char DB_FILTER_POS = 'P' |
Definition at line 29 of file blockfilterindex.cpp.
constexpr unsigned int FLTR_FILE_CHUNK_SIZE = 0x100000 |
The pre-allocation chunk size for fltr?????.dat files.
Definition at line 33 of file blockfilterindex.cpp.
|
static |
Definition at line 90 of file blockfilterindex.cpp.
constexpr unsigned int MAX_FLTR_FILE_SIZE = 0x1000000 |
Definition at line 31 of file blockfilterindex.cpp.