5 #ifndef BITCOIN_INDEX_BASE_H 6 #define BITCOIN_INDEX_BASE_H 28 DB(
const fs::path& path,
size_t n_cache_size,
29 bool f_memory =
false,
bool f_wipe =
false,
bool f_obfuscate =
false);
69 const std::vector<CTransactionRef>& txn_conflicted)
override;
90 virtual const char*
GetName()
const = 0;
113 #endif // BITCOIN_INDEX_BASE_H void Interrupt()
Definition: base.cpp:297
void Start()
Definition: base.cpp:302
void ThreadSync()
Definition: base.cpp:88
bool BlockUntilSyncedToCurrentChain()
Definition: base.cpp:273
void WriteBestBlock(CDBBatch &batch, const CBlockLocator &locator)
Write block locator of the chain that the txindex is in sync with.
Definition: base.cpp:44
virtual bool Rewind(const CBlockIndex *current_tip, const CBlockIndex *new_tip)
Definition: base.cpp:175
std::atomic< const CBlockIndex * > m_best_block_index
The last block in the chain that the index is in sync with.
Definition: base.h:45
virtual ~BaseIndex()
Destructor interrupts sync thread if running and blocks until it exits.
Definition: base.cpp:49
Definition: threadinterrupt.h:20
void BlockConnected(const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex, const std::vector< CTransactionRef > &txn_conflicted) override
Definition: base.cpp:191
void Stop()
Stops the instance from staying in sync with blockchain updates.
Definition: base.cpp:316
CThreadInterrupt m_interrupt
Definition: base.h:48
std::atomic< bool > m_synced
Definition: base.h:42
bool ReadBestBlock(CBlockLocator &locator) const
Read block locator of the chain that the txindex is in sync with.
Definition: base.cpp:35
std::thread m_thread_sync
Definition: base.h:47
Definition: dbwrapper.h:176
Definition: validationinterface.h:71
DB(const fs::path &path, size_t n_cache_size, bool f_memory=false, bool f_wipe=false, bool f_obfuscate=false)
Definition: base.cpp:31
virtual bool CommitInternal(CDBBatch &batch)
Definition: base.cpp:168
virtual const char * GetName() const =0
Get the name of the index for display in logs.
virtual bool Init()
Initialize internal state from the database and block index.
Definition: base.cpp:55
Definition: dbwrapper.h:47
void ChainStateFlushed(const CBlockLocator &locator) override
Definition: base.cpp:234
virtual bool WriteBlock(const CBlock &block, const CBlockIndex *pindex)
Write update index entries for a newly connected block.
Definition: base.h:77
virtual DB & GetDB() const =0
bool Commit()
Definition: base.cpp:159