From 200d84d5681918523d982b9ddf60d1127edcb448 Mon Sep 17 00:00:00 2001 From: stickies-v Date: Wed, 31 Aug 2022 16:43:58 +0100 Subject: refactor: use std::string for index names --- src/index/base.cpp | 7 +++++-- src/index/base.h | 7 +++++-- src/index/blockfilterindex.cpp | 4 ++-- src/index/blockfilterindex.h | 3 --- src/index/coinstatsindex.cpp | 2 +- src/index/coinstatsindex.h | 3 --- src/index/txindex.cpp | 2 +- src/index/txindex.h | 2 -- 8 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/index/base.cpp b/src/index/base.cpp index 1ebe89ef7c..88c2ce98fa 100644 --- a/src/index/base.cpp +++ b/src/index/base.cpp @@ -18,6 +18,9 @@ #include // For g_chainman #include +#include +#include + 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 chain) - : m_chain{std::move(chain)} {} +BaseIndex::BaseIndex(std::unique_ptr chain, std::string name) + : m_chain{std::move(chain)}, m_name{std::move(name)} {} BaseIndex::~BaseIndex() { diff --git a/src/index/base.h b/src/index/base.h index 14693bc6fe..349178a535 100644 --- a/src/index/base.h +++ b/src/index/base.h @@ -10,6 +10,8 @@ #include #include +#include + class CBlock; class CBlockIndex; class Chainstate; @@ -95,6 +97,7 @@ private: protected: std::unique_ptr m_chain; Chainstate* m_chainstate{nullptr}; + const std::string m_name; void BlockConnected(const std::shared_ptr& 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 chain); + BaseIndex(std::unique_ptr chain, std::string name); /// Destructor interrupts sync thread if running and blocks until it exits. virtual ~BaseIndex(); diff --git a/src/index/blockfilterindex.cpp b/src/index/blockfilterindex.cpp index f4837f3456..292e11c874 100644 --- a/src/index/blockfilterindex.cpp +++ b/src/index/blockfilterindex.cpp @@ -97,7 +97,8 @@ static std::map g_filter_indexes; BlockFilterIndex::BlockFilterIndex(std::unique_ptr 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 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(path / "db", n_cache_size, f_memory, f_wipe); m_filter_fileseq = std::make_unique(std::move(path), "fltr", FLTR_FILE_CHUNK_SIZE); } diff --git a/src/index/blockfilterindex.h b/src/index/blockfilterindex.h index a31f7e460e..5af4671091 100644 --- a/src/index/blockfilterindex.h +++ b/src/index/blockfilterindex.h @@ -26,7 +26,6 @@ class BlockFilterIndex final : public BaseIndex { private: BlockFilterType m_filter_type; - std::string m_name; std::unique_ptr 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 chain, BlockFilterType filter_type, diff --git a/src/index/coinstatsindex.cpp b/src/index/coinstatsindex.cpp index 99a1310c9e..d3559b1b75 100644 --- a/src/index/coinstatsindex.cpp +++ b/src/index/coinstatsindex.cpp @@ -105,7 +105,7 @@ struct DBHashKey { std::unique_ptr g_coin_stats_index; CoinStatsIndex::CoinStatsIndex(std::unique_ptr 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); diff --git a/src/index/coinstatsindex.h b/src/index/coinstatsindex.h index 7375a85750..fa59cb1ab1 100644 --- a/src/index/coinstatsindex.h +++ b/src/index/coinstatsindex.h @@ -20,7 +20,6 @@ struct CCoinsStats; class CoinStatsIndex final : public BaseIndex { private: - std::string m_name; std::unique_ptr 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 chain, size_t n_cache_size, bool f_memory = false, bool f_wipe = false); diff --git a/src/index/txindex.cpp b/src/index/txindex.cpp index b719aface8..a4fe1b611e 100644 --- a/src/index/txindex.cpp +++ b/src/index/txindex.cpp @@ -49,7 +49,7 @@ bool TxIndex::DB::WriteTxs(const std::vector>& v_ } TxIndex::TxIndex(std::unique_ptr chain, size_t n_cache_size, bool f_memory, bool f_wipe) - : BaseIndex(std::move(chain)), m_db(std::make_unique(n_cache_size, f_memory, f_wipe)) + : BaseIndex(std::move(chain), "txindex"), m_db(std::make_unique(n_cache_size, f_memory, f_wipe)) {} TxIndex::~TxIndex() = default; diff --git a/src/index/txindex.h b/src/index/txindex.h index be240c4582..8c1aa00033 100644 --- a/src/index/txindex.h +++ b/src/index/txindex.h @@ -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 chain, size_t n_cache_size, bool f_memory = false, bool f_wipe = false); -- cgit v1.2.3