mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-21 14:34:49 +01:00
refactor: use std::string for index names
This commit is contained in:
parent
97f5b20c12
commit
200d84d568
8 changed files with 14 additions and 16 deletions
|
@ -18,6 +18,9 @@
|
|||
#include <validation.h> // For g_chainman
|
||||
#include <warnings.h>
|
||||
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
using node::ReadBlockFromDisk;
|
||||
|
||||
constexpr uint8_t DB_BEST_BLOCK{'B'};
|
||||
|
@ -62,8 +65,8 @@ void BaseIndex::DB::WriteBestBlock(CDBBatch& batch, const CBlockLocator& locator
|
|||
batch.Write(DB_BEST_BLOCK, locator);
|
||||
}
|
||||
|
||||
BaseIndex::BaseIndex(std::unique_ptr<interfaces::Chain> chain)
|
||||
: m_chain{std::move(chain)} {}
|
||||
BaseIndex::BaseIndex(std::unique_ptr<interfaces::Chain> chain, std::string name)
|
||||
: m_chain{std::move(chain)}, m_name{std::move(name)} {}
|
||||
|
||||
BaseIndex::~BaseIndex()
|
||||
{
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include <threadinterrupt.h>
|
||||
#include <validationinterface.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
class CBlock;
|
||||
class CBlockIndex;
|
||||
class Chainstate;
|
||||
|
@ -95,6 +97,7 @@ private:
|
|||
protected:
|
||||
std::unique_ptr<interfaces::Chain> m_chain;
|
||||
Chainstate* m_chainstate{nullptr};
|
||||
const std::string m_name;
|
||||
|
||||
void BlockConnected(const std::shared_ptr<const CBlock>& block, const CBlockIndex* pindex) override;
|
||||
|
||||
|
@ -117,13 +120,13 @@ protected:
|
|||
virtual DB& GetDB() const = 0;
|
||||
|
||||
/// Get the name of the index for display in logs.
|
||||
virtual const char* GetName() const = 0;
|
||||
const std::string& GetName() const LIFETIMEBOUND { return m_name; }
|
||||
|
||||
/// Update the internal best block index as well as the prune lock.
|
||||
void SetBestBlockIndex(const CBlockIndex* block);
|
||||
|
||||
public:
|
||||
BaseIndex(std::unique_ptr<interfaces::Chain> chain);
|
||||
BaseIndex(std::unique_ptr<interfaces::Chain> chain, std::string name);
|
||||
/// Destructor interrupts sync thread if running and blocks until it exits.
|
||||
virtual ~BaseIndex();
|
||||
|
||||
|
|
|
@ -97,7 +97,8 @@ static std::map<BlockFilterType, BlockFilterIndex> g_filter_indexes;
|
|||
|
||||
BlockFilterIndex::BlockFilterIndex(std::unique_ptr<interfaces::Chain> chain, BlockFilterType filter_type,
|
||||
size_t n_cache_size, bool f_memory, bool f_wipe)
|
||||
: BaseIndex(std::move(chain)), m_filter_type(filter_type)
|
||||
: BaseIndex(std::move(chain), BlockFilterTypeName(filter_type) + " block filter index")
|
||||
, m_filter_type(filter_type)
|
||||
{
|
||||
const std::string& filter_name = BlockFilterTypeName(filter_type);
|
||||
if (filter_name.empty()) throw std::invalid_argument("unknown filter_type");
|
||||
|
@ -105,7 +106,6 @@ BlockFilterIndex::BlockFilterIndex(std::unique_ptr<interfaces::Chain> chain, Blo
|
|||
fs::path path = gArgs.GetDataDirNet() / "indexes" / "blockfilter" / fs::u8path(filter_name);
|
||||
fs::create_directories(path);
|
||||
|
||||
m_name = filter_name + " block filter index";
|
||||
m_db = std::make_unique<BaseIndex::DB>(path / "db", n_cache_size, f_memory, f_wipe);
|
||||
m_filter_fileseq = std::make_unique<FlatFileSeq>(std::move(path), "fltr", FLTR_FILE_CHUNK_SIZE);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ class BlockFilterIndex final : public BaseIndex
|
|||
{
|
||||
private:
|
||||
BlockFilterType m_filter_type;
|
||||
std::string m_name;
|
||||
std::unique_ptr<BaseIndex::DB> m_db;
|
||||
|
||||
FlatFilePos m_next_filter_pos;
|
||||
|
@ -52,8 +51,6 @@ protected:
|
|||
|
||||
BaseIndex::DB& GetDB() const LIFETIMEBOUND override { return *m_db; }
|
||||
|
||||
const char* GetName() const LIFETIMEBOUND override { return m_name.c_str(); }
|
||||
|
||||
public:
|
||||
/** Constructs the index, which becomes available to be queried. */
|
||||
explicit BlockFilterIndex(std::unique_ptr<interfaces::Chain> chain, BlockFilterType filter_type,
|
||||
|
|
|
@ -105,7 +105,7 @@ struct DBHashKey {
|
|||
std::unique_ptr<CoinStatsIndex> g_coin_stats_index;
|
||||
|
||||
CoinStatsIndex::CoinStatsIndex(std::unique_ptr<interfaces::Chain> chain, size_t n_cache_size, bool f_memory, bool f_wipe)
|
||||
: BaseIndex(std::move(chain))
|
||||
: BaseIndex(std::move(chain), "coinstatsindex")
|
||||
{
|
||||
fs::path path{gArgs.GetDataDirNet() / "indexes" / "coinstats"};
|
||||
fs::create_directories(path);
|
||||
|
|
|
@ -20,7 +20,6 @@ struct CCoinsStats;
|
|||
class CoinStatsIndex final : public BaseIndex
|
||||
{
|
||||
private:
|
||||
std::string m_name;
|
||||
std::unique_ptr<BaseIndex::DB> m_db;
|
||||
|
||||
MuHash3072 m_muhash;
|
||||
|
@ -52,8 +51,6 @@ protected:
|
|||
|
||||
BaseIndex::DB& GetDB() const override { return *m_db; }
|
||||
|
||||
const char* GetName() const override { return "coinstatsindex"; }
|
||||
|
||||
public:
|
||||
// Constructs the index, which becomes available to be queried.
|
||||
explicit CoinStatsIndex(std::unique_ptr<interfaces::Chain> chain, size_t n_cache_size, bool f_memory = false, bool f_wipe = false);
|
||||
|
|
|
@ -49,7 +49,7 @@ bool TxIndex::DB::WriteTxs(const std::vector<std::pair<uint256, CDiskTxPos>>& v_
|
|||
}
|
||||
|
||||
TxIndex::TxIndex(std::unique_ptr<interfaces::Chain> chain, size_t n_cache_size, bool f_memory, bool f_wipe)
|
||||
: BaseIndex(std::move(chain)), m_db(std::make_unique<TxIndex::DB>(n_cache_size, f_memory, f_wipe))
|
||||
: BaseIndex(std::move(chain), "txindex"), m_db(std::make_unique<TxIndex::DB>(n_cache_size, f_memory, f_wipe))
|
||||
{}
|
||||
|
||||
TxIndex::~TxIndex() = default;
|
||||
|
|
|
@ -27,8 +27,6 @@ protected:
|
|||
|
||||
BaseIndex::DB& GetDB() const override;
|
||||
|
||||
const char* GetName() const override { return "txindex"; }
|
||||
|
||||
public:
|
||||
/// Constructs the index, which becomes available to be queried.
|
||||
explicit TxIndex(std::unique_ptr<interfaces::Chain> chain, size_t n_cache_size, bool f_memory = false, bool f_wipe = false);
|
||||
|
|
Loading…
Add table
Reference in a new issue