[#DisconnectedBlockTransactions]
= DisconnectedBlockTransactions
:mrdocs:

Transactions removed from the chain during a reorg, held for possible re&hyphen;addition to the mempool&period;

== Synopsis

Declared in `&lt;kernel&sol;disconnected&lowbar;transactions&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class DisconnectedBlockTransactions;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:DisconnectedBlockTransactions/2constructor.adoc[`DisconnectedBlockTransactions`]         [.small]#[constructor]#
| Construct the pool with an upper bound on retained memory&period;
| xref:DisconnectedBlockTransactions/2destructor.adoc[`&#126;DisconnectedBlockTransactions`] [.small]#[destructor]#
| Destroy the pool and release any retained transactions&period;
| xref:DisconnectedBlockTransactions/AddTransactionsFromBlock.adoc[`AddTransactionsFromBlock`] 
| Add transactions from the block, iterating through vtx in reverse order&period; Callers should call this function for blocks in descending order by block height&period; We assume that callers never pass multiple transactions with the same txid, otherwise things can go very wrong in removeForBlock due to queuedTx containing an item without a corresponding entry in iters&lowbar;by&lowbar;txid&period;
| xref:DisconnectedBlockTransactions/DynamicMemoryUsage.adoc[`DynamicMemoryUsage`] 
| Report the dynamic memory currently used by the pool&period;
| xref:DisconnectedBlockTransactions/clear.adoc[`clear`] 
| Remove all queued transactions and reset the pool&period;
| xref:DisconnectedBlockTransactions/removeForBlock.adoc[`removeForBlock`] 
| Remove any entries that are in this block&period;
| xref:DisconnectedBlockTransactions/size.adoc[`size`] 
| Report the number of queued transactions&period;
| xref:DisconnectedBlockTransactions/take.adoc[`take`] 
| Clear all data structures and return the list of transactions&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
