ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.TxSubmission.Inbound

Synopsis

Documentation

txSubmissionInbound Source #

Arguments

:: forall txid tx idx (m :: Type -> Type). (Ord txid, NoThunks txid, NoThunks tx, MonadSTM m, MonadThrow m, MonadDelay m) 
=> Tracer m (TraceTxSubmissionInbound txid tx) 
-> NumTxIdsToAck

Maximum number of unacknowledged txids allowed

-> TxSubmissionMempoolReader txid tx idx m 
-> TxSubmissionMempoolWriter txid tx idx m 
-> NodeToNodeVersion 
-> TxSubmissionServerPipelined txid tx m () 

data TxSubmissionMempoolWriter txid tx idx (m :: Type -> Type) Source #

The consensus layer functionality that the inbound side of the tx submission logic requires.

This is provided to the tx submission logic by the consensus layer.

Constructors

TxSubmissionMempoolWriter 

Fields

  • txId :: tx -> txid

    Compute the transaction id from a transaction.

    This is used in the protocol handler to verify a full transaction matches a previously given transaction id.

  • mempoolAddTxs :: [tx] -> m [txid]

    Supply a batch of transactions to the mempool. They are either accepted or rejected individually, but in the order supplied.

    The txids of all transactions that were added successfully are returned.

data TraceTxSubmissionInbound txid tx Source #

Constructors

TraceTxSubmissionCollected Int

Number of transactions just about to be inserted.

TraceTxSubmissionProcessed ProcessedTxCount

Just processed transaction pass/fail breakdown.

TraceTxInboundTerminated

Server received MsgDone

TraceTxInboundCanRequestMoreTxs Int 
TraceTxInboundCannotRequestMoreTxs Int 

data ProcessedTxCount Source #

Constructors

ProcessedTxCount 

Fields