ouroboros-network-protocols-0.9.0.0: Ouroboros Network Protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Network.Protocol.TxSubmission2.Type

Description

The type of the transaction submission protocol.

This is used to relay transactions between nodes.

Synopsis

Documentation

data TxSubmission2 txid tx where Source #

The kind of the transaction-submission protocol, and the types of the states in the protocol state machine.

We describe this protocol using the label "client" for the peer that is submitting transactions, and "server" for the one receiving them. The protocol is however pull based, so it is typically the server that has agency in this protocol. This is the opposite of the chain sync and block fetch protocols, but that makes sense because the information flow is also reversed: submitting transactions rather than receiving headers and blocks.

Because these client/server labels are somewhat confusing in this case, we sometimes clarify by using the terms inbound and outbound. This refers to whether transactions are flowing towards a peer or away, and thus indicates what role the peer is playing.

Constructors

StInitTxSubmission2 txid tx

Initial protocol message.

StIdleTxSubmission2 txid tx

The server (inbound side) has agency; it can either terminate, ask for transaction identifiers or ask for transactions.

There is no timeout in this state.

StTxIdsStBlockingStyleTxSubmission2 txid tx

The client (outbound side) has agency; it must reply with a list of transaction identifiers that it wishes to submit.

There are two sub-states for this, for blocking and non-blocking cases.

StTxsTxSubmission2 txid tx

The client (outbound side) has agency; it must reply with the list of transactions.

StDoneTxSubmission2 txid tx

Nobody has agency; termination state.

Instances

Instances details
(ShowProxy txid, ShowProxy tx) ⇒ ShowProxy (TxSubmission2 txid tx ∷ Type) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

showProxyProxy (TxSubmission2 txid tx) → String Source #

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfClientHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfNobodyHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfServerHasAgency st → () #

(Show txid, Show tx) ⇒ Show (Message (TxSubmission2 txid tx) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

showsPrecIntMessage (TxSubmission2 txid tx) from to → ShowS #

showMessage (TxSubmission2 txid tx) from to → String #

showList ∷ [Message (TxSubmission2 txid tx) from to] → ShowS #

(NFData txid, NFData tx) ⇒ NFData (Message (TxSubmission2 txid tx) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfMessage (TxSubmission2 txid tx) from to → () #

NFData (PeerHasAgency pr st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfPeerHasAgency pr st → () #

(Eq txid, Eq tx) ⇒ Eq (Message (TxSubmission2 txid tx) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

(==)Message (TxSubmission2 txid tx) from to → Message (TxSubmission2 txid tx) from to → Bool #

(/=)Message (TxSubmission2 txid tx) from to → Message (TxSubmission2 txid tx) from to → Bool #

Protocol (TxSubmission2 txid tx) Source #

There are some constraints of the protocol that are not captured in the types of the messages, but are documented with the messages. Violation of these constraints is also a protocol error. The constraints are intended to ensure that implementations are able to work in bounded space.

Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Associated Types

data Message (TxSubmission2 txid tx) st st' Source #

data ClientHasAgency st Source #

data ServerHasAgency st Source #

data NobodyHasAgency st Source #

ShowProxy ('StIdleTxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data ClientHasAgency (st ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data ClientHasAgency (st ∷ TxSubmission2 txid tx) where
data Message (TxSubmission2 txid tx) (from ∷ TxSubmission2 txid tx) (to ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data Message (TxSubmission2 txid tx) (from ∷ TxSubmission2 txid tx) (to ∷ TxSubmission2 txid tx) where
data NobodyHasAgency (st ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data NobodyHasAgency (st ∷ TxSubmission2 txid tx) where
data ServerHasAgency (st ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data ServerHasAgency (st ∷ TxSubmission2 txid tx) where

data family Message ps (st ∷ ps) (st' ∷ ps) Source #

The messages for this protocol. It is expected to be a GADT that is indexed by the from and to protocol states. That is the protocol state the message transitions from, and the protocol state it transitions into. These are the edges of the protocol state transition system.

Instances

Instances details
(Show block, Show point) ⇒ Show (Message (BlockFetch block point) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

showsPrecIntMessage (BlockFetch block point) from to → ShowS #

showMessage (BlockFetch block point) from to → String #

showList ∷ [Message (BlockFetch block point) from to] → ShowS #

(Show header, Show point, Show tip) ⇒ Show (Message (ChainSync header point tip) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

showsPrecIntMessage (ChainSync header point tip) from to → ShowS #

showMessage (ChainSync header point tip) from to → String #

showList ∷ [Message (ChainSync header point tip) from to] → ShowS #

Show (Message KeepAlive from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

showsPrecIntMessage KeepAlive from to → ShowS #

showMessage KeepAlive from to → String #

showList ∷ [Message KeepAlive from to] → ShowS #

(ShowQuery query, Show point) ⇒ Show (Message (LocalStateQuery block point query) st st') Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Methods

showsPrecIntMessage (LocalStateQuery block point query) st st' → ShowS #

showMessage (LocalStateQuery block point query) st st' → String #

showList ∷ [Message (LocalStateQuery block point query) st st'] → ShowS #

(Show txid, Show tx, Show slot) ⇒ Show (Message (LocalTxMonitor txid tx slot) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

showsPrecIntMessage (LocalTxMonitor txid tx slot) from to → ShowS #

showMessage (LocalTxMonitor txid tx slot) from to → String #

showList ∷ [Message (LocalTxMonitor txid tx slot) from to] → ShowS #

(Show tx, Show reject) ⇒ Show (Message (LocalTxSubmission tx reject) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

showsPrecIntMessage (LocalTxSubmission tx reject) from to → ShowS #

showMessage (LocalTxSubmission tx reject) from to → String #

showList ∷ [Message (LocalTxSubmission tx reject) from to] → ShowS #

Show peer ⇒ Show (Message (PeerSharing peer) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

showsPrecIntMessage (PeerSharing peer) from to → ShowS #

showMessage (PeerSharing peer) from to → String #

showList ∷ [Message (PeerSharing peer) from to] → ShowS #

(Show txid, Show tx) ⇒ Show (Message (TxSubmission2 txid tx) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

showsPrecIntMessage (TxSubmission2 txid tx) from to → ShowS #

showMessage (TxSubmission2 txid tx) from to → String #

showList ∷ [Message (TxSubmission2 txid tx) from to] → ShowS #

(NFData block, NFData point) ⇒ NFData (Message (BlockFetch block point) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

rnfMessage (BlockFetch block point) from to → () #

(NFData header, NFData point, NFData tip) ⇒ NFData (Message (ChainSync header point tip) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

rnfMessage (ChainSync header point tip) from to → () #

NFData (Message KeepAlive from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfMessage KeepAlive from to → () #

(∀ result. NFData (query result), NFData point) ⇒ NFData (Message (LocalStateQuery block point query) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Methods

rnfMessage (LocalStateQuery block point query) from to → () #

(NFData txid, NFData tx, NFData slot) ⇒ NFData (Message (LocalTxMonitor txid tx slot) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

rnfMessage (LocalTxMonitor txid tx slot) from to → () #

(NFData tx, NFData reject) ⇒ NFData (Message (LocalTxSubmission tx reject) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnfMessage (LocalTxSubmission tx reject) from to → () #

NFData peerAddress ⇒ NFData (Message (PeerSharing peerAddress) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfMessage (PeerSharing peerAddress) from to → () #

(NFData txid, NFData tx) ⇒ NFData (Message (TxSubmission2 txid tx) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfMessage (TxSubmission2 txid tx) from to → () #

(Eq tx, Eq reject) ⇒ Eq (Message (LocalTxSubmission tx reject) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

(==)Message (LocalTxSubmission tx reject) from to → Message (LocalTxSubmission tx reject) from to → Bool #

(/=)Message (LocalTxSubmission tx reject) from to → Message (LocalTxSubmission tx reject) from to → Bool #

(Eq txid, Eq tx) ⇒ Eq (Message (TxSubmission2 txid tx) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

(==)Message (TxSubmission2 txid tx) from to → Message (TxSubmission2 txid tx) from to → Bool #

(/=)Message (TxSubmission2 txid tx) from to → Message (TxSubmission2 txid tx) from to → Bool #

data Message KeepAlive (from ∷ KeepAlive) (to ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data Message (PeerSharing peerAddress) (from ∷ PeerSharing peerAddress) (to ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data Message (PeerSharing peerAddress) (from ∷ PeerSharing peerAddress) (to ∷ PeerSharing peerAddress) where
data Message (BlockFetch block point) (from ∷ BlockFetch block point) (to ∷ BlockFetch block point) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

data Message (BlockFetch block point) (from ∷ BlockFetch block point) (to ∷ BlockFetch block point) where
data Message (LocalTxSubmission tx reject) (from ∷ LocalTxSubmission tx reject) (to ∷ LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data Message (LocalTxSubmission tx reject) (from ∷ LocalTxSubmission tx reject) (to ∷ LocalTxSubmission tx reject) where
data Message (TxSubmission2 txid tx) (from ∷ TxSubmission2 txid tx) (to ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data Message (TxSubmission2 txid tx) (from ∷ TxSubmission2 txid tx) (to ∷ TxSubmission2 txid tx) where
data Message (LocalStateQuery block point query) (from ∷ LocalStateQuery block point query) (to ∷ LocalStateQuery block point query) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

data Message (LocalStateQuery block point query) (from ∷ LocalStateQuery block point query) (to ∷ LocalStateQuery block point query) where
data Message (ChainSync header point tip) (from ∷ ChainSync header point tip) (to ∷ ChainSync header point tip) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

data Message (ChainSync header point tip) (from ∷ ChainSync header point tip) (to ∷ ChainSync header point tip) where
data Message (LocalTxMonitor txid tx slot) (from ∷ LocalTxMonitor txid tx slot) (to ∷ LocalTxMonitor txid tx slot) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

data Message (LocalTxMonitor txid tx slot) (from ∷ LocalTxMonitor txid tx slot) (to ∷ LocalTxMonitor txid tx slot) where

data family ClientHasAgency (st ∷ ps) Source #

Tokens for those protocol states in which the client has agency.

Instances

Instances details
Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfClientHasAgency st → () #

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfClientHasAgency st → () #

data ClientHasAgency (st ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data ClientHasAgency (st ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data ClientHasAgency (st ∷ PeerSharing peerAddress) where
data ClientHasAgency (st ∷ BlockFetch block point) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

data ClientHasAgency (st ∷ BlockFetch block point) where
data ClientHasAgency (st ∷ LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data ClientHasAgency (st ∷ LocalTxSubmission tx reject) where
data ClientHasAgency (st ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data ClientHasAgency (st ∷ TxSubmission2 txid tx) where
data ClientHasAgency (st ∷ LocalStateQuery block point query) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

data ClientHasAgency (st ∷ LocalStateQuery block point query) where
data ClientHasAgency (st ∷ ChainSync header point tip) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

data ClientHasAgency (st ∷ ChainSync header point tip) where
data ClientHasAgency (st ∷ LocalTxMonitor txid tx slot) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

data ClientHasAgency (st ∷ LocalTxMonitor txid tx slot) where

data family ServerHasAgency (st ∷ ps) Source #

Tokens for those protocol states in which the server has agency.

Instances

Instances details
Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

(∀ result. Show (query result)) ⇒ Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

rnfServerHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

rnfServerHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfServerHasAgency st → () #

(∀ result. NFData (query result)) ⇒ NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Methods

rnfServerHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

rnfServerHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnfServerHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfServerHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfServerHasAgency st → () #

data ServerHasAgency (st ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data ServerHasAgency (st ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data ServerHasAgency (st ∷ PeerSharing peerAddress) where
data ServerHasAgency (st ∷ BlockFetch block point) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

data ServerHasAgency (st ∷ BlockFetch block point) where
data ServerHasAgency (st ∷ LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data ServerHasAgency (st ∷ LocalTxSubmission tx reject) where
data ServerHasAgency (st ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data ServerHasAgency (st ∷ TxSubmission2 txid tx) where
data ServerHasAgency (st ∷ LocalStateQuery block point query) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

data ServerHasAgency (st ∷ LocalStateQuery block point query) where
data ServerHasAgency (st ∷ ChainSync header point tip) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

data ServerHasAgency (st ∷ ChainSync header point tip) where
data ServerHasAgency (st ∷ LocalTxMonitor txid tx slot) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

data ServerHasAgency (st ∷ LocalTxMonitor txid tx slot) where

data family NobodyHasAgency (st ∷ ps) Source #

Tokens for terminal protocol states in which neither the client nor server has agency.

Instances

Instances details
NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfNobodyHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfNobodyHasAgency st → () #

data NobodyHasAgency (st ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data NobodyHasAgency (st ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data NobodyHasAgency (st ∷ PeerSharing peerAddress) where
data NobodyHasAgency (st ∷ BlockFetch block point) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

data NobodyHasAgency (st ∷ BlockFetch block point) where
data NobodyHasAgency (st ∷ LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data NobodyHasAgency (st ∷ LocalTxSubmission tx reject) where
data NobodyHasAgency (st ∷ TxSubmission2 txid tx) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data NobodyHasAgency (st ∷ TxSubmission2 txid tx) where
data NobodyHasAgency (st ∷ LocalStateQuery block point query) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

data NobodyHasAgency (st ∷ LocalStateQuery block point query) where
data NobodyHasAgency (st ∷ ChainSync header point tip) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

data NobodyHasAgency (st ∷ ChainSync header point tip) where
data NobodyHasAgency (st ∷ LocalTxMonitor txid tx slot) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

data NobodyHasAgency (st ∷ LocalTxMonitor txid tx slot) where

data TokBlockingStyle (k ∷ StBlockingStyle) where Source #

The value level equivalent of StBlockingStyle.

This is also used in MsgRequestTxIds where it is interpreted (and can be encoded) as a Bool with True for blocking, and False for non-blocking.

data StBlockingStyle where Source #

Constructors

StBlockingStBlockingStyle

In this sub-state the reply need not be prompt. There is no timeout.

StNonBlockingStBlockingStyle

In this state the peer must reply. There is a timeout.

data BlockingReplyList (blocking ∷ StBlockingStyle) a where Source #

We have requests for lists of things. In the blocking case the corresponding reply must be non-empty, whereas in the non-blocking case and empty reply is fine.

Instances

Instances details
Show a ⇒ Show (BlockingReplyList blocking a) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

showsPrecIntBlockingReplyList blocking a → ShowS #

showBlockingReplyList blocking a → String #

showList ∷ [BlockingReplyList blocking a] → ShowS #

NFData a ⇒ NFData (BlockingReplyList blocking a) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfBlockingReplyList blocking a → () #

Eq a ⇒ Eq (BlockingReplyList blocking a) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

(==)BlockingReplyList blocking a → BlockingReplyList blocking a → Bool #

(/=)BlockingReplyList blocking a → BlockingReplyList blocking a → Bool #

newtype NumTxIdsToAck Source #

Constructors

NumTxIdsToAck 

Instances

Instances details
Monoid NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Semigroup NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Bounded NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Enum NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Generic NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Associated Types

type Rep NumTxIdsToAckTypeType #

Num NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Integral NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Real NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Show NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NFData NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfNumTxIdsToAck → () #

Eq NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Ord NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NoThunks NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

type Rep NumTxIdsToAck Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

type Rep NumTxIdsToAck = D1 ('MetaData "NumTxIdsToAck" "Ouroboros.Network.Protocol.TxSubmission2.Type" "ouroboros-network-protocols-0.9.0.0-inplace" 'True) (C1 ('MetaCons "NumTxIdsToAck" 'PrefixI 'True) (S1 ('MetaSel ('Just "getNumTxIdsToAck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

newtype NumTxIdsToReq Source #

Constructors

NumTxIdsToReq 

Instances

Instances details
Monoid NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Semigroup NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Bounded NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Enum NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Generic NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Associated Types

type Rep NumTxIdsToReqTypeType #

Num NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Integral NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Real NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Show NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NFData NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnfNumTxIdsToReq → () #

Eq NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Ord NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

NoThunks NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

type Rep NumTxIdsToReq Source # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

type Rep NumTxIdsToReq = D1 ('MetaData "NumTxIdsToReq" "Ouroboros.Network.Protocol.TxSubmission2.Type" "ouroboros-network-protocols-0.9.0.0-inplace" 'True) (C1 ('MetaCons "NumTxIdsToReq" 'PrefixI 'True) (S1 ('MetaSel ('Just "getNumTxIdsToReq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

newtype SizeInBytes Source #

Constructors

SizeInBytes 

Instances

Instances details
Monoid SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Semigroup SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Enum SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Generic SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Associated Types

type Rep SizeInBytesTypeType #

Num SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Integral SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Real SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Show SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

NFData SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Methods

rnfSizeInBytes → () #

Eq SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Ord SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

BoundedMeasure SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

Measure SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

NoThunks SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

type Rep SizeInBytes 
Instance details

Defined in Ouroboros.Network.SizeInBytes

type Rep SizeInBytes = D1 ('MetaData "SizeInBytes" "Ouroboros.Network.SizeInBytes" "ouroboros-network-api-0.7.3.0-inplace" 'True) (C1 ('MetaCons "SizeInBytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSizeInBytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

type TxSizeInBytes = SizeInBytes Source #

Deprecated: Use SizeInBytes instead

Transactions are typically not big, but in principle in future we could have ones over 64k large.