mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-03 17:54:19 +02:00
mempool: Introduce (still-unused) MemPoolLimits
They live as a CTxMemPool member.
[META] These limits will be used in subsequent commits to replace calls
to gArgs.
This commit is contained in:
26
src/kernel/mempool_limits.h
Normal file
26
src/kernel/mempool_limits.h
Normal file
@@ -0,0 +1,26 @@
|
||||
// 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_MEMPOOL_LIMITS_H
|
||||
#define BITCOIN_KERNEL_MEMPOOL_LIMITS_H
|
||||
|
||||
#include <policy/policy.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace kernel {
|
||||
/**
|
||||
* Options struct containing limit options for a CTxMemPool. Default constructor
|
||||
* populates the struct with sane default values which can be modified.
|
||||
*
|
||||
* Most of the time, this struct should be referenced as CTxMemPool::Limits.
|
||||
*/
|
||||
struct MemPoolLimits {
|
||||
int64_t ancestor_count{DEFAULT_ANCESTOR_LIMIT};
|
||||
int64_t ancestor_size_vbytes{DEFAULT_ANCESTOR_SIZE_LIMIT_KVB * 1'000};
|
||||
int64_t descendant_count{DEFAULT_DESCENDANT_LIMIT};
|
||||
int64_t descendant_size_vbytes{DEFAULT_DESCENDANT_SIZE_LIMIT_KVB * 1'000};
|
||||
};
|
||||
} // namespace kernel
|
||||
|
||||
#endif // BITCOIN_KERNEL_MEMPOOL_LIMITS_H
|
||||
@@ -4,6 +4,8 @@
|
||||
#ifndef BITCOIN_KERNEL_MEMPOOL_OPTIONS_H
|
||||
#define BITCOIN_KERNEL_MEMPOOL_OPTIONS_H
|
||||
|
||||
#include <kernel/mempool_limits.h>
|
||||
|
||||
#include <chrono>
|
||||
#include <cstdint>
|
||||
|
||||
@@ -29,6 +31,7 @@ struct MemPoolOptions {
|
||||
int check_ratio{0};
|
||||
int64_t max_size_bytes{DEFAULT_MAX_MEMPOOL_SIZE_MB * 1'000'000};
|
||||
std::chrono::seconds expiry{std::chrono::hours{DEFAULT_MEMPOOL_EXPIRY_HOURS}};
|
||||
MemPoolLimits limits{};
|
||||
};
|
||||
} // namespace kernel
|
||||
|
||||
|
||||
Reference in New Issue
Block a user