| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Mempool.Impl
Contents
Synopsis
- openMempool :: (IOLike m, LedgerSupportsMempool blk, HasTxId (GenTx blk), ValidateEnvelope blk) => ResourceRegistry m -> LedgerInterface m blk -> LedgerConfig blk -> MempoolCapacityBytesOverride -> Tracer m (TraceEventMempool blk) -> (GenTx blk -> TxSizeInBytes) -> m (Mempool m blk TicketNo)
- data MempoolCapacityBytesOverride
- data LedgerInterface m blk = LedgerInterface {
- getCurrentLedgerState :: STM m (LedgerState blk)
- chainDBLedgerInterface :: IOLike m => ChainDB m blk -> LedgerInterface m blk
- data TicketNo
- 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)
Documentation
openMempool :: (IOLike m, LedgerSupportsMempool blk, HasTxId (GenTx blk), ValidateEnvelope blk) => ResourceRegistry m -> LedgerInterface m blk -> LedgerConfig blk -> MempoolCapacityBytesOverride -> Tracer m (TraceEventMempool blk) -> (GenTx blk -> TxSizeInBytes) -> m (Mempool m blk TicketNo) Source #
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 |
Instances
| Eq MempoolCapacityBytesOverride Source # | |
Defined in Ouroboros.Consensus.Mempool.Impl Methods (==) :: MempoolCapacityBytesOverride -> MempoolCapacityBytesOverride -> Bool # (/=) :: MempoolCapacityBytesOverride -> MempoolCapacityBytesOverride -> Bool # | |
| Show MempoolCapacityBytesOverride Source # | |
Defined in Ouroboros.Consensus.Mempool.Impl Methods showsPrec :: Int -> MempoolCapacityBytesOverride -> ShowS # show :: MempoolCapacityBytesOverride -> String # showList :: [MempoolCapacityBytesOverride] -> ShowS # | |
data LedgerInterface m blk Source #
Abstract interface needed to run a Mempool.
Constructors
| LedgerInterface | |
Fields
| |
chainDBLedgerInterface :: IOLike m => ChainDB m blk -> LedgerInterface m blk Source #
Create a LedgerInterface from a ChainDB.
We allocate each transaction a (monotonically increasing) ticket number as it enters the mempool.
Instances
| Bounded TicketNo Source # | |
| Enum TicketNo Source # | |
Defined in Ouroboros.Consensus.Mempool.TxSeq | |
| Eq TicketNo Source # | |
| Ord TicketNo Source # | |
Defined in Ouroboros.Consensus.Mempool.TxSeq | |
| Show TicketNo Source # | |
| NoThunks TicketNo Source # | |
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.