ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.TxSubmission.Outbound

Synopsis

Documentation

data TxSubmissionConfig Source #

Shared options between the inbound and outbound side.

Constructors

TxSubmissionConfig 

Fields

  • maxNumUnacknowledgedTxIds :: !NumTxIdsToAck

    maximum number of unacknowledged txids; it MUST be positive, and small enough for a MsgRequestTxs with that many txids to fit within the StIdle size limit (see max_TXID_SIZE). Before NodeToNodeV_16 it is a protocol parameter and must not be changed; since NodeToNodeV_16 it is a local setting.

  • maxNumTxIdsToRequest :: !NumTxIdsToReq

    maximum number of txids an inbound client can request at a time.

data TxOutboundVersion Source #

Version of the outbound side of the tx-submission mini-protocol.

It decides how the outbound side treats a request for txids which would exceed its maxNumUnacknowledgedTxIds limit. It's selected by the negotiated node-to-node version (`ouroboros-network` doesn't depend on it, see txOutboundVersion).

Constructors

TxOutboundV_1

maxNumUnacknowledgedTxIds is a protocol parameter shared by both sides; a request which would exceed it is a protocol error (ProtocolErrorRequestedTooManyTxids).

TxOutboundV_2

maxNumUnacknowledgedTxIds is a local setting, which the inbound side doesn't know; the outbound side replies with only as many txids as fit, which can be none for a non-blocking request.

Instances

Instances details
Bounded TxOutboundVersion Source # 
Instance details

Defined in Ouroboros.Network.TxSubmission.Outbound

Enum TxOutboundVersion Source # 
Instance details

Defined in Ouroboros.Network.TxSubmission.Outbound

Show TxOutboundVersion Source # 
Instance details

Defined in Ouroboros.Network.TxSubmission.Outbound

Eq TxOutboundVersion Source # 
Instance details

Defined in Ouroboros.Network.TxSubmission.Outbound

Ord TxOutboundVersion Source # 
Instance details

Defined in Ouroboros.Network.TxSubmission.Outbound

txSubmissionOutbound :: forall txid tx idx (m :: Type -> Type). (Ord txid, Show txid, Ord idx, MonadSTM m, MonadThrow m) => Tracer m (TraceTxSubmissionOutbound txid tx) -> TxSubmissionConfig -> TxSubmissionMempoolReader txid tx idx m -> TxOutboundVersion -> ControlMessageSTM m -> TxSubmissionClient txid tx m () Source #

data TraceTxSubmissionOutbound txid tx Source #

Constructors

TraceTxSubmissionOutboundRecvMsgRequestTxs [txid]

The IDs of the transactions requested.

TraceTxSubmissionOutboundSendMsgReplyTxs [tx]

The transactions to be sent in the response.

TraceControlMessage ControlMessage 

Instances

Instances details
(Show txid, Show tx) => Show (TraceTxSubmissionOutbound txid tx) Source # 
Instance details

Defined in Ouroboros.Network.TxSubmission.Outbound