blockmanager_opts.h
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 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