#include <compare>
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <utility>
#include <vector>
#include <util/feefrac.h>
Go to the source code of this file.
|
| std::unique_ptr< TxGraph > | MakeTxGraph (unsigned max_cluster_count, uint64_t max_cluster_size, uint64_t acceptable_cost, const std::function< std::strong_ordering(const TxGraph::Ref &, const TxGraph::Ref &)> &fallback_order) noexcept |
| | Construct a new TxGraph with the specified limit on the number of transactions within a cluster, and on the sum of transaction sizes within a cluster. More...
|
| |
◆ MakeTxGraph()
| std::unique_ptr< TxGraph > MakeTxGraph |
( |
unsigned |
max_cluster_count, |
|
|
uint64_t |
max_cluster_size, |
|
|
uint64_t |
acceptable_cost, |
|
|
const std::function< std::strong_ordering(const TxGraph::Ref &, const TxGraph::Ref &)> & |
fallback_order |
|
) |
| |
|
noexcept |
Construct a new TxGraph with the specified limit on the number of transactions within a cluster, and on the sum of transaction sizes within a cluster.
- max_cluster_count cannot exceed MAX_CLUSTER_COUNT_LIMIT.
- acceptable_cost controls how much linearization optimization work will be performed per cluster before they are considered to be of acceptable quality.
- fallback_order determines how to break tie-breaks between transactions: fallback_order(a, b) < 0 means a is "better" than b, and will (in case of ties) be placed first. This ordering must be stable over the transactions' lifetimes.
Definition at line 3570 of file txgraph.cpp.
◆ MAX_CLUSTER_COUNT_LIMIT
| constexpr unsigned MAX_CLUSTER_COUNT_LIMIT {64} |
|
staticconstexpr |