bitcoin/src/kernel/blockmanager_opts.h
2024-07-26 17:30:53 +02:00

35 lines
913 B
C++

// Copyright (c) 2022 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H
#define BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H
#include <kernel/notifications_interface.h>
#include <util/fs.h>
#include <cstdint>
class CChainParams;
namespace kernel {
static constexpr bool DEFAULT_XOR_BLOCKSDIR{true};
/**
* An options struct for `BlockManager`, more ergonomically referred to as
* `BlockManager::Options` due to the using-declaration in `BlockManager`.
*/
struct BlockManagerOpts {
const CChainParams& chainparams;
bool use_xor{DEFAULT_XOR_BLOCKSDIR};
uint64_t prune_target{0};
bool fast_prune{false};
const fs::path blocks_dir;
Notifications& notifications;
};
} // namespace kernel
#endif // BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H