Branch data Line data Source code
1 : : // Copyright (c) 2022 The Bitcoin Core developers 2 : : // Distributed under the MIT software license, see the accompanying 3 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 : : 5 : : #ifndef BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H 6 : : #define BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H 7 : : 8 : : #include <kernel/notifications_interface.h> 9 : : #include <util/fs.h> 10 : : 11 : : #include <cstdint> 12 : : 13 : : class CChainParams; 14 : : 15 : : namespace kernel { 16 : : 17 : : /** 18 : : * An options struct for `BlockManager`, more ergonomically referred to as 19 : : * `BlockManager::Options` due to the using-declaration in `BlockManager`. 20 : : */ 21 : 0 : struct BlockManagerOpts { 22 : : const CChainParams& chainparams; 23 : : uint64_t prune_target{0}; 24 : : bool fast_prune{false}; 25 : : const fs::path blocks_dir; 26 : : Notifications& notifications; 27 : : }; 28 : : 29 : : } // namespace kernel 30 : : 31 : : #endif // BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H