cluster_linearize::DepGraph

Data structure that holds a transaction graph's preprocessed data (fee, size, ancestors, descendants).

Synopsis

Declared in <cluster_linearize.h>

template<typename SetType>
class DepGraph;

Member Functions

NameDescription
DepGraph [constructor]Constructors
operator= Assignment operators
AddDependencies Modify this transaction graph, adding multiple parents to a specified child.
AddTransaction Add a new unconnected transaction to this transaction graph (in the first available position), and return its DepGraphIndex.
Ancestors Get the ancestors of a given transaction i. Complexity: O(1).
AppendTopo Append the entries of select to list in a topologically valid order.
Compact Reduce memory usage if possible. No observable effect.
CountDependencies Count the total number of reduced (direct) dependencies in the graph.
Descendants Get the descendants of a given transaction i. Complexity: O(1).
DynamicMemoryUsage Report the heap memory used by this graph.
FeeRate FeeRate overloads
FindConnectedComponent Find some connected component within the subset "todo" of this graph.
GetConnectedComponent Get the connected component within the subset "todo" that contains tx (which must be in todo).
GetReducedChildren Compute the (reduced) set of children of node i in this graph.
GetReducedParents Compute the (reduced) set of parents of node i in this graph.
IsAcyclic Check if this graph is acyclic.
IsConnected IsConnected overloads
PositionRange Get the range of positions in this DepGraph. All entries in Positions() are in [0, PositionRange() - 1].
Positions Get the set of transactions positions in use. Complexity: O(1).
RemoveTransactions Remove the specified positions from this DepGraph.
TxCount Get the number of transactions in the graph. Complexity: O(1).

Friends

NameDescription
cluster_linearize::operator==Equality operator (primarily for testing purposes).

Non-Member Functions

NameDescription
ChunkLinearizationCompute the feerates of the chunks of linearization. Identical to ChunkLinearizationInfo, but only returns the chunk feerates, not the corresponding transaction sets.
ChunkLinearizationInfoCompute the chunks of linearization as SetInfos.
LinearizeFind or improve a linearization for a cluster.
PostLinearizeImprove a given linearization.