Bitcoin ABC  0.26.3
P2P Digital Currency
Classes | Namespaces | Typedefs | Functions | Variables
blockstorage.h File Reference
#include <cstdint>
#include <vector>
#include <chain.h>
#include <fs.h>
#include <kernel/cs_main.h>
#include <protocol.h>
#include <sync.h>
#include <txdb.h>
Include dependency graph for blockstorage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  node::BlockManager
 Maintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-work tip is. More...
 

Namespaces

 Consensus
 
 node
 

Typedefs

using node::BlockMap = std::unordered_map< BlockHash, CBlockIndex, BlockHasher >
 

Functions

FILE * node::OpenBlockFile (const FlatFilePos &pos, bool fReadOnly=false)
 Open a block file (blk?????.dat) More...
 
fs::path node::GetBlockPosFilename (const FlatFilePos &pos)
 Translation to a filesystem path. More...
 
void node::UnlinkPrunedFiles (const std::set< int > &setFilesToPrune)
 Actually unlink the specified files. More...
 
bool node::ReadBlockFromDisk (CBlock &block, const FlatFilePos &pos, const Consensus::Params &consensusParams)
 Functions for disk access for blocks. More...
 
bool node::ReadBlockFromDisk (CBlock &block, const CBlockIndex *pindex, const Consensus::Params &params)
 
bool node::UndoReadFromDisk (CBlockUndo &blockundo, const CBlockIndex *pindex)
 
bool node::ReadTxFromDisk (CMutableTransaction &tx, const FlatFilePos &pos)
 Functions for disk access for txs. More...
 
bool node::ReadTxUndoFromDisk (CTxUndo &tx_undo, const FlatFilePos &pos)
 
void node::ThreadImport (ChainstateManager &chainman, std::vector< fs::path > vImportFiles, const ArgsManager &args, const fs::path &mempool_path)
 

Variables

static constexpr bool node::DEFAULT_STOPAFTERBLOCKIMPORT {false}
 
static constexpr unsigned int node::BLOCKFILE_CHUNK_SIZE = 0x1000000
 The pre-allocation chunk size for blk?????.dat files (since 0.8) More...
 
static const unsigned int node::UNDOFILE_CHUNK_SIZE = 0x100000
 The pre-allocation chunk size for rev?????.dat files (since 0.8) More...
 
static const unsigned int node::MAX_BLOCKFILE_SIZE = 0x8000000
 The maximum size of a blk?????.dat file (since 0.8) More...
 
static constexpr size_t node::BLOCK_SERIALIZATION_HEADER_SIZE
 Size of header written by WriteBlockToDisk before a serialized CBlock. More...
 
std::atomic_bool node::fImporting
 
std::atomic_bool node::fReindex
 
const CBlockIndex *GetFirstStoredBlock(const CBlockIndex *start_block) EXCLUSIVE_LOCKS_REQUIRED(voi node::CleanupBlockRevFiles )()
 Find the first block that is not pruned. More...