ouroboros-consensus-0.1.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Mempool.Impl

Synopsis

Documentation

data MempoolCapacityBytesOverride Source #

An override for the default MempoolCapacityBytes which is 2x the maximum transaction capacity (see MaxTxCapacityOverride)

Constructors

NoMempoolCapacityBytesOverride

Use 2x the maximum transaction capacity of a block. This will change dynamically with the protocol parameters adopted in the current ledger.

MempoolCapacityBytesOverride !MempoolCapacityBytes

Use the following MempoolCapacityBytes.

data LedgerInterface m blk Source #

Abstract interface needed to run a Mempool.

Constructors

LedgerInterface 

data TicketNo Source #

We allocate each transaction a (monotonically increasing) ticket number as it enters the mempool.

Instances

Instances details
Bounded TicketNo Source # 
Instance details

Defined in Ouroboros.Consensus.Mempool.TxSeq

Enum TicketNo Source # 
Instance details

Defined in Ouroboros.Consensus.Mempool.TxSeq

Eq TicketNo Source # 
Instance details

Defined in Ouroboros.Consensus.Mempool.TxSeq

Ord TicketNo Source # 
Instance details

Defined in Ouroboros.Consensus.Mempool.TxSeq

Show TicketNo Source # 
Instance details

Defined in Ouroboros.Consensus.Mempool.TxSeq

NoThunks TicketNo Source # 
Instance details

Defined in Ouroboros.Consensus.Mempool.TxSeq

For testing purposes

openMempoolWithoutSyncThread :: (IOLike m, LedgerSupportsMempool blk, HasTxId (GenTx blk), ValidateEnvelope blk) => LedgerInterface m blk -> LedgerConfig blk -> MempoolCapacityBytesOverride -> Tracer m (TraceEventMempool blk) -> (GenTx blk -> TxSizeInBytes) -> m (Mempool m blk TicketNo) Source #

Unlike openMempool, this function does not fork a background thread that synchronises with the ledger state whenever the later changes.

Intended for testing purposes.