ouroboros-consensus
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Description

The LeiosFetch mini-protocol's types and codec.

Synopsis

Documentation

data LeiosFetch point eb tx Source #

The LeiosFetch mini-protocol's states, as the cardano-blueprint specifies them: https://cardano-scaling.github.io/cardano-blueprint/network/node-to-node/leios-fetch/index.html?leios=on. CIP-0164 specifies the Leios mini-protocols, https://cips.cardano.org/cip/CIP-0164.

Constructors

StIdle 
StBusy (LeiosFetchBusy point eb tx) 
StDone 

Instances

Instances details
(ShowProxy point, ShowProxy eb, ShowProxy tx) ⇒ ShowProxy (LeiosFetch point eb tx ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showProxy ∷ Proxy (LeiosFetch point eb tx) → String #

NFData (Message (LeiosFetch point eb tx) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

rnf ∷ Message (LeiosFetch point eb tx) from to → () #

(Eq point, Eq eb, Eq tx) ⇒ Eq (Message (LeiosFetch point eb tx) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

(==) ∷ Message (LeiosFetch point eb tx) from to → Message (LeiosFetch point eb tx) from to → Bool #

(/=) ∷ Message (LeiosFetch point eb tx) from to → Message (LeiosFetch point eb tx) from to → Bool #

(Show point, Show eb, Show tx) ⇒ Show (Message (LeiosFetch point eb tx) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showsPrec ∷ Int → Message (LeiosFetch point eb tx) from to → ShowS #

show ∷ Message (LeiosFetch point eb tx) from to → String #

showList ∷ [Message (LeiosFetch point eb tx) from to] → ShowS #

Protocol (LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Associated Types

type StateToken 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

type StateToken = SingLeiosFetch ∷ LeiosFetch point eb tx → Type
ShowProxy ('StDone ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showProxy ∷ Proxy ('StDone ∷ LeiosFetch point eb tx) → String #

ShowProxy ('StIdle ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showProxy ∷ Proxy ('StIdle ∷ LeiosFetch point eb tx) → String #

StateTokenI ('StDone ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

stateToken ∷ StateToken ('StDone ∷ LeiosFetch point eb tx) Source #

StateTokenI ('StIdle ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

stateToken ∷ StateToken ('StIdle ∷ LeiosFetch point eb tx) Source #

ShowProxy ('StBusy ('StBlock ∷ LeiosFetchBusy point eb tx) ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showProxy ∷ Proxy ('StBusy ('StBlock ∷ LeiosFetchBusy point eb tx)) → String #

ShowProxy ('StBusy ('StBlockTxs ∷ LeiosFetchBusy point eb tx) ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showProxy ∷ Proxy ('StBusy ('StBlockTxs ∷ LeiosFetchBusy point eb tx)) → String #

StateTokenI ('StBusy ('StBlock ∷ LeiosFetchBusy point eb tx) ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

stateToken ∷ StateToken ('StBusy ('StBlock ∷ LeiosFetchBusy point eb tx)) Source #

StateTokenI ('StBusy ('StBlockTxs ∷ LeiosFetchBusy point eb tx) ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

stateToken ∷ StateToken ('StBusy ('StBlockTxs ∷ LeiosFetchBusy point eb tx)) Source #

data Message (LeiosFetch point eb tx) (from ∷ LeiosFetch point eb tx) (to ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

data Message (LeiosFetch point eb tx) (from ∷ LeiosFetch point eb tx) (to ∷ LeiosFetch point eb tx) where
type StateToken Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

type StateToken = SingLeiosFetch ∷ LeiosFetch point eb tx → Type
type StateAgency ('StDone ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

type StateAgency ('StDone ∷ LeiosFetch point eb tx) = 'NobodyAgency
type StateAgency ('StIdle ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

type StateAgency ('StIdle ∷ LeiosFetch point eb tx) = 'ClientAgency
type StateAgency ('StBusy st ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

type StateAgency ('StBusy st ∷ LeiosFetch point eb tx) = 'ServerAgency

data LeiosFetchBusy point eb tx Source #

Constructors

StBlock 
StBlockTxs 

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
NFData (Message (LeiosFetch point eb tx) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

rnf ∷ Message (LeiosFetch point eb tx) from to → () #

NFData (Message (LeiosNotify point announcement vote) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosNotify.Type

Methods

rnf ∷ Message (LeiosNotify point announcement vote) from to → () #

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

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

rnf ∷ Message (BlockFetch block point) from to → () #

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

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

rnf ∷ Message (ChainSync header point tip) from to → () #

NFData (Message KeepAlive from to) # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnf ∷ Message KeepAlive from to → () #

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

Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type

Methods

rnf ∷ Message (LocalStateQuery block point query) from to → () #

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

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

rnf ∷ Message (LocalTxMonitor txid tx slot) from to → () #

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

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnf ∷ Message (LocalTxSubmission tx reject) from to → () #

(NFData objectId, NFData object) ⇒ NFData (Message (ObjectDiffusion objectId object) from to) # 
Instance details

Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type

Methods

rnf ∷ Message (ObjectDiffusion objectId object) from to → () #

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

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnf ∷ Message (PeerSharing peerAddress) from to → () #

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

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

rnf ∷ Message (TxSubmission2 txid tx) from to → () #

(Eq point, Eq eb, Eq tx) ⇒ Eq (Message (LeiosFetch point eb tx) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

(==) ∷ Message (LeiosFetch point eb tx) from to → Message (LeiosFetch point eb tx) from to → Bool #

(/=) ∷ Message (LeiosFetch point eb tx) from to → Message (LeiosFetch point eb tx) from to → Bool #

(Eq point, Eq announcement, Eq vote) ⇒ Eq (Message (LeiosNotify point announcement vote) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosNotify.Type

Methods

(==) ∷ Message (LeiosNotify point announcement vote) from to → Message (LeiosNotify point announcement vote) from to → Bool #

(/=) ∷ Message (LeiosNotify point announcement vote) from to → Message (LeiosNotify point announcement vote) from to → Bool #

(Eq tx, Eq reject) ⇒ Eq (Message (LocalTxSubmission tx reject) from to) # 
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 objectId, Eq object) ⇒ Eq (Message (ObjectDiffusion objectId object) from to) # 
Instance details

Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type

Methods

(==) ∷ Message (ObjectDiffusion objectId object) from to → Message (ObjectDiffusion objectId object) from to → Bool #

(/=) ∷ Message (ObjectDiffusion objectId object) from to → Message (ObjectDiffusion objectId object) from to → Bool #

(Eq txid, Eq tx) ⇒ Eq (Message (TxSubmission2 txid tx) from to) # 
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 #

(Show point, Show eb, Show tx) ⇒ Show (Message (LeiosFetch point eb tx) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

Methods

showsPrec ∷ Int → Message (LeiosFetch point eb tx) from to → ShowS #

show ∷ Message (LeiosFetch point eb tx) from to → String #

showList ∷ [Message (LeiosFetch point eb tx) from to] → ShowS #

(Show point, Show announcement, Show vote) ⇒ Show (Message (LeiosNotify point announcement vote) from to) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosNotify.Type

Methods

showsPrec ∷ Int → Message (LeiosNotify point announcement vote) from to → ShowS #

show ∷ Message (LeiosNotify point announcement vote) from to → String #

showList ∷ [Message (LeiosNotify point announcement vote) from to] → ShowS #

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

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

Methods

showsPrec ∷ Int → Message (BlockFetch block point) from to → ShowS #

show ∷ Message (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) # 
Instance details

Defined in Ouroboros.Network.Protocol.ChainSync.Type

Methods

showsPrec ∷ Int → Message (ChainSync header point tip) from to → ShowS #

show ∷ Message (ChainSync header point tip) from to → String #

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

Show (Message KeepAlive from to) # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

showsPrec ∷ Int → Message KeepAlive from to → ShowS #

show ∷ Message KeepAlive from to → String #

showList ∷ [Message KeepAlive from to] → ShowS #

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

Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type

Methods

showsPrec ∷ Int → Message (LocalTxMonitor txid tx slot) from to → ShowS #

show ∷ Message (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) # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

showsPrec ∷ Int → Message (LocalTxSubmission tx reject) from to → ShowS #

show ∷ Message (LocalTxSubmission tx reject) from to → String #

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

(Show objectId, Show object) ⇒ Show (Message (ObjectDiffusion objectId object) from to) # 
Instance details

Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type

Methods

showsPrec ∷ Int → Message (ObjectDiffusion objectId object) from to → ShowS #

show ∷ Message (ObjectDiffusion objectId object) from to → String #

showList ∷ [Message (ObjectDiffusion objectId object) from to] → ShowS #

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

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

showsPrec ∷ Int → Message (PeerSharing peer) from to → ShowS #

show ∷ Message (PeerSharing peer) from to → String #

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

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

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

Methods

showsPrec ∷ Int → Message (TxSubmission2 txid tx) from to → ShowS #

show ∷ Message (TxSubmission2 txid tx) from to → String #

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

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

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

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

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data Message (PeerSharing peerAddress) (from ∷ PeerSharing peerAddress) (to ∷ PeerSharing peerAddress) where
  • MsgShareRequest ∷ ∀ peerAddress. PeerSharingAmount → Message (PeerSharing peerAddress) ('StIdle ∷ PeerSharing peerAddress) ('StBusy ∷ PeerSharing peerAddress)
  • MsgSharePeers ∷ ∀ peerAddress. [peerAddress] → Message (PeerSharing peerAddress) ('StBusy ∷ PeerSharing peerAddress) ('StIdle ∷ PeerSharing peerAddress)
  • MsgDone ∷ ∀ peerAddress. Message (PeerSharing peerAddress) ('StIdle ∷ PeerSharing peerAddress) ('StDone ∷ PeerSharing peerAddress)
data Message (BlockFetch block point) (from ∷ BlockFetch block point) (to ∷ BlockFetch block point) # 
Instance details

Defined in Ouroboros.Network.Protocol.BlockFetch.Type

data Message (BlockFetch block point) (from ∷ BlockFetch block point) (to ∷ BlockFetch block point) where
  • MsgRequestRange ∷ ∀ point block. ChainRange point → Message (BlockFetch block point) ('BFIdle ∷ BlockFetch block point) ('BFBusy ∷ BlockFetch block point)
  • MsgStartBatch ∷ ∀ block point. Message (BlockFetch block point) ('BFBusy ∷ BlockFetch block point) ('BFStreaming ∷ BlockFetch block point)
  • MsgNoBlocks ∷ ∀ block point. Message (BlockFetch block point) ('BFBusy ∷ BlockFetch block point) ('BFIdle ∷ BlockFetch block point)
  • MsgBlock ∷ ∀ block point. block → Message (BlockFetch block point) ('BFStreaming ∷ BlockFetch block point) ('BFStreaming ∷ BlockFetch block point)
  • MsgBatchDone ∷ ∀ block point. Message (BlockFetch block point) ('BFStreaming ∷ BlockFetch block point) ('BFIdle ∷ BlockFetch block point)
  • MsgClientDone ∷ ∀ block point. Message (BlockFetch block point) ('BFIdle ∷ BlockFetch block point) ('BFDone ∷ BlockFetch block point)
data Message (LocalTxSubmission tx reject) (from ∷ LocalTxSubmission tx reject) (to ∷ LocalTxSubmission tx reject) # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data Message (LocalTxSubmission tx reject) (from ∷ LocalTxSubmission tx reject) (to ∷ LocalTxSubmission tx reject) where
  • MsgSubmitTx ∷ ∀ tx reject. tx → Message (LocalTxSubmission tx reject) ('StIdle ∷ LocalTxSubmission tx reject) ('StBusy ∷ LocalTxSubmission tx reject)
  • MsgAcceptTx ∷ ∀ tx reject. Message (LocalTxSubmission tx reject) ('StBusy ∷ LocalTxSubmission tx reject) ('StIdle ∷ LocalTxSubmission tx reject)
  • MsgRejectTx ∷ ∀ reject tx. reject → Message (LocalTxSubmission tx reject) ('StBusy ∷ LocalTxSubmission tx reject) ('StIdle ∷ LocalTxSubmission tx reject)
  • MsgDone ∷ ∀ tx reject. Message (LocalTxSubmission tx reject) ('StIdle ∷ LocalTxSubmission tx reject) ('StDone ∷ LocalTxSubmission tx reject)
data Message (ObjectDiffusion objectId object) (from ∷ ObjectDiffusion objectId object) (to ∷ ObjectDiffusion objectId object) # 
Instance details

Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type

data Message (ObjectDiffusion objectId object) (from ∷ ObjectDiffusion objectId object) (to ∷ ObjectDiffusion objectId object) where
  • MsgInit ∷ ∀ objectId object. Message (ObjectDiffusion objectId object) ('StInit ∷ ObjectDiffusion objectId object) ('StIdle ∷ ObjectDiffusion objectId object)
  • MsgRequestObjectIds ∷ ∀ (blocking ∷ StBlockingStyle) objectId object. SingBlockingStyle blocking → NumObjectIdsAck → NumObjectIdsReq → Message (ObjectDiffusion objectId object) ('StIdle ∷ ObjectDiffusion objectId object) ('StObjectIds blocking ∷ ObjectDiffusion objectId object)
  • MsgReplyObjectIds ∷ ∀ (blocking ∷ StBlockingStyle) objectId object. BlockingReplyList blocking objectId → Message (ObjectDiffusion objectId object) ('StObjectIds blocking ∷ ObjectDiffusion objectId object) ('StIdle ∷ ObjectDiffusion objectId object)
  • MsgRequestObjects ∷ ∀ objectId object. [objectId] → Message (ObjectDiffusion objectId object) ('StIdle ∷ ObjectDiffusion objectId object) ('StObjects ∷ ObjectDiffusion objectId object)
  • MsgReplyObjects ∷ ∀ object objectId. [object] → Message (ObjectDiffusion objectId object) ('StObjects ∷ ObjectDiffusion objectId object) ('StIdle ∷ ObjectDiffusion objectId object)
  • MsgDone ∷ ∀ objectId object. Message (ObjectDiffusion objectId object) ('StIdle ∷ ObjectDiffusion objectId object) ('StDone ∷ ObjectDiffusion objectId object)
data Message (TxSubmission2 txid tx) (from ∷ TxSubmission2 txid tx) (to ∷ TxSubmission2 txid tx) # 
Instance details

Defined in Ouroboros.Network.Protocol.TxSubmission2.Type

data Message (TxSubmission2 txid tx) (from ∷ TxSubmission2 txid tx) (to ∷ TxSubmission2 txid tx) where
  • MsgInit ∷ ∀ txid tx. Message (TxSubmission2 txid tx) ('StInit ∷ TxSubmission2 txid tx) ('StIdle ∷ TxSubmission2 txid tx)
  • MsgRequestTxIds ∷ ∀ (blocking ∷ StBlockingStyle) txid tx. SingI blocking ⇒ SingBlockingStyle blocking → NumTxIdsToAck → NumTxIdsToReq → Message (TxSubmission2 txid tx) ('StIdle ∷ TxSubmission2 txid tx) ('StTxIds blocking ∷ TxSubmission2 txid tx)
  • MsgReplyTxIds ∷ ∀ (blocking ∷ StBlockingStyle) txid tx. BlockingReplyList blocking (txid, SizeInBytes) → Message (TxSubmission2 txid tx) ('StTxIds blocking ∷ TxSubmission2 txid tx) ('StIdle ∷ TxSubmission2 txid tx)
  • MsgRequestTxs ∷ ∀ txid tx. [txid] → Message (TxSubmission2 txid tx) ('StIdle ∷ TxSubmission2 txid tx) ('StTxs ∷ TxSubmission2 txid tx)
  • MsgReplyTxs ∷ ∀ tx txid. [tx] → Message (TxSubmission2 txid tx) ('StTxs ∷ TxSubmission2 txid tx) ('StIdle ∷ TxSubmission2 txid tx)
  • MsgDone ∷ ∀ txid tx. Message (TxSubmission2 txid tx) ('StTxIds 'StBlocking ∷ TxSubmission2 txid tx) ('StDone ∷ TxSubmission2 txid tx)
data Message (LeiosFetch point eb tx) (from ∷ LeiosFetch point eb tx) (to ∷ LeiosFetch point eb tx) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

data Message (LeiosFetch point eb tx) (from ∷ LeiosFetch point eb tx) (to ∷ LeiosFetch point eb tx) where
data Message (LeiosNotify point announcement vote) (from ∷ LeiosNotify point announcement vote) (to ∷ LeiosNotify point announcement vote) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosNotify.Type

data Message (LeiosNotify point announcement vote) (from ∷ LeiosNotify point announcement vote) (to ∷ LeiosNotify point announcement vote) where
data Message (ChainSync header point tip) (from ∷ ChainSync header point tip) (to ∷ ChainSync header point tip) # 
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
  • MsgRequestNext ∷ ∀ header point tip. Message (ChainSync header point tip) ('StIdle ∷ ChainSync header point tip) ('StNext 'StCanAwait ∷ ChainSync header point tip)
  • MsgAwaitReply ∷ ∀ header point tip. Message (ChainSync header point tip) ('StNext 'StCanAwait ∷ ChainSync header point tip) ('StNext 'StMustReply ∷ ChainSync header point tip)
  • MsgRollForward ∷ ∀ header tip point (any ∷ StNextKind). header → tip → Message (ChainSync header point tip) ('StNext any ∷ ChainSync header point tip) ('StIdle ∷ ChainSync header point tip)
  • MsgRollBackward ∷ ∀ point tip header (any ∷ StNextKind). point → tip → Message (ChainSync header point tip) ('StNext any ∷ ChainSync header point tip) ('StIdle ∷ ChainSync header point tip)
  • MsgFindIntersect ∷ ∀ point header tip. [point] → Message (ChainSync header point tip) ('StIdle ∷ ChainSync header point tip) ('StIntersect ∷ ChainSync header point tip)
  • MsgIntersectFound ∷ ∀ point tip header. point → tip → Message (ChainSync header point tip) ('StIntersect ∷ ChainSync header point tip) ('StIdle ∷ ChainSync header point tip)
  • MsgIntersectNotFound ∷ ∀ tip header point. tip → Message (ChainSync header point tip) ('StIntersect ∷ ChainSync header point tip) ('StIdle ∷ ChainSync header point tip)
  • MsgDone ∷ ∀ header point tip. Message (ChainSync header point tip) ('StIdle ∷ ChainSync header point tip) ('StDone ∷ ChainSync header point tip)
data Message (LocalStateQuery block point query) (from ∷ LocalStateQuery block point query) (to ∷ LocalStateQuery block point query) # 
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
  • MsgAcquire ∷ ∀ point block (query ∷ Type → Type). Target point → Message (LocalStateQuery block point query) ('StIdle ∷ LocalStateQuery block point query) ('StAcquiring ∷ LocalStateQuery block point query)
  • MsgAcquired ∷ ∀ block point (query ∷ Type → Type). Message (LocalStateQuery block point query) ('StAcquiring ∷ LocalStateQuery block point query) ('StAcquired ∷ LocalStateQuery block point query)
  • MsgFailure ∷ ∀ block point (query ∷ Type → Type). AcquireFailure → Message (LocalStateQuery block point query) ('StAcquiring ∷ LocalStateQuery block point query) ('StIdle ∷ LocalStateQuery block point query)
  • MsgQuery ∷ ∀ (query ∷ Type → Type) result block point. query result → Message (LocalStateQuery block point query) ('StAcquired ∷ LocalStateQuery block point query) ('StQuerying result ∷ LocalStateQuery block point query)
  • MsgResult ∷ ∀ result block point (query ∷ Type → Type). result → Message (LocalStateQuery block point query) ('StQuerying result ∷ LocalStateQuery block point query) ('StAcquired ∷ LocalStateQuery block point query)
  • MsgRelease ∷ ∀ block point (query ∷ Type → Type). Message (LocalStateQuery block point query) ('StAcquired ∷ LocalStateQuery block point query) ('StIdle ∷ LocalStateQuery block point query)
  • MsgReAcquire ∷ ∀ point block (query ∷ Type → Type). Target point → Message (LocalStateQuery block point query) ('StAcquired ∷ LocalStateQuery block point query) ('StAcquiring ∷ LocalStateQuery block point query)
  • MsgDone ∷ ∀ block point (query ∷ Type → Type). Message (LocalStateQuery block point query) ('StIdle ∷ LocalStateQuery block point query) ('StDone ∷ LocalStateQuery block point query)
data Message (LocalTxMonitor txid tx slot) (from ∷ LocalTxMonitor txid tx slot) (to ∷ LocalTxMonitor txid tx slot) # 
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
  • MsgAcquire ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StIdle ∷ LocalTxMonitor txid tx slot) ('StAcquiring ∷ LocalTxMonitor txid tx slot)
  • MsgAcquired ∷ ∀ slot txid tx. slot → Message (LocalTxMonitor txid tx slot) ('StAcquiring ∷ LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot)
  • MsgAwaitAcquire ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot) ('StAcquiring ∷ LocalTxMonitor txid tx slot)
  • MsgNextTx ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot) ('StBusy 'NextTx ∷ LocalTxMonitor txid tx slot)
  • MsgReplyNextTx ∷ ∀ tx txid slot. Maybe tx → Message (LocalTxMonitor txid tx slot) ('StBusy 'NextTx ∷ LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot)
  • MsgHasTx ∷ ∀ txid tx slot. txid → Message (LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot) ('StBusy 'HasTx ∷ LocalTxMonitor txid tx slot)
  • MsgReplyHasTx ∷ ∀ txid tx slot. Bool → Message (LocalTxMonitor txid tx slot) ('StBusy 'HasTx ∷ LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot)
  • MsgGetSizes ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot) ('StBusy 'GetSizes ∷ LocalTxMonitor txid tx slot)
  • MsgReplyGetSizes ∷ ∀ txid tx slot. MempoolSizeAndCapacity → Message (LocalTxMonitor txid tx slot) ('StBusy 'GetSizes ∷ LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot)
  • MsgGetMeasures ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot) ('StBusy 'GetMeasures ∷ LocalTxMonitor txid tx slot)
  • MsgReplyGetMeasures ∷ ∀ txid tx slot. MempoolMeasures → Message (LocalTxMonitor txid tx slot) ('StBusy 'GetMeasures ∷ LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot)
  • MsgRelease ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StAcquired ∷ LocalTxMonitor txid tx slot) ('StIdle ∷ LocalTxMonitor txid tx slot)
  • MsgDone ∷ ∀ txid tx slot. Message (LocalTxMonitor txid tx slot) ('StIdle ∷ LocalTxMonitor txid tx slot) ('StDone ∷ LocalTxMonitor txid tx slot)

data SingLeiosFetch (st ∷ LeiosFetch point eb tx) where Source #

Constructors

SingIdle ∷ ∀ {point} {eb} {tx}. SingLeiosFetch ('StIdle ∷ LeiosFetch point eb tx) 
SingBlock ∷ ∀ {point} {eb} {tx}. SingLeiosFetch ('StBusy ('StBlock ∷ LeiosFetchBusy point eb tx)) 
SingBlockTxs ∷ ∀ {point} {eb} {tx}. SingLeiosFetch ('StBusy ('StBlockTxs ∷ LeiosFetchBusy point eb tx)) 
SingDone ∷ ∀ {point} {eb} {tx}. SingLeiosFetch ('StDone ∷ LeiosFetch point eb tx) 

Instances

Instances details
Show (SingLeiosFetch st) Source # 
Instance details

Defined in Ouroboros.Consensus.MiniProtocol.LeiosFetch.Type

type TxBitmaps = [(Word16, Word64)] Source #

Which of an endorser block's transactions a request names: each entry is the index of a run of 64 transactions and a bitmap of those 64, the most significant bit naming the first of them.

bitmapOffsets ∷ TxBitmaps → [Int] Source #

The offsets of the transactions the bitmaps name, in the bitmaps' order.

byteLimitsLeiosFetch ∷ (bytes → Word) → ProtocolSizeLimits (LeiosFetch point eb tx) bytes Source #

The limits assume that peers write the parts of a message that are not hashed, such as the framing around its payloads, in tight CBOR: each integer and length in its fewest bytes. The decoders accept wider ones too, but the limits do not make room for them.

codecLeiosFetch Source #

Arguments

∷ ∀ point eb tx (m ∷ Type → Type). MonadST m 
⇒ Int

The most txs an EB can hold. The decoder rejects a larger count before it allocates.

→ (point → Encoding) 
→ (∀ s. Decoder s point) 
→ (eb → Encoding) 
→ (∀ s. Decoder s (ByteString → eb))

Decode an endorser block, given the bytes of the whole message. Its byte offsets count from the start of the message, as the ledger's annotators expect, so it slices its own bytes out of them.

→ (tx → Encoding) 
→ (∀ s. Decoder s tx) 
→ AnnotatedCodec (LeiosFetch point eb tx) DeserialiseFailure m ByteString 

codecLeiosFetchId ∷ ∀ point eb tx (m ∷ Type → Type). Monad m ⇒ Codec (LeiosFetch point eb tx) CodecFailure m (AnyMessage (LeiosFetch point eb tx)) Source #

maxLeiosTxsRequestBytesSize ∷ Word32 Source #

The most transaction bytes an honest client asks for in one MsgLeiosBlockTxsRequest, so that it fetches an endorser block's closure as several smaller requests, smoothing out its load on the peer. The server need not enforce it. The client bounds the size of a MsgLeiosBlockTxs by it.

Its value is a design choice; no protocol parameter bounds it.

timeLimitsLeiosFetch ∷ ProtocolTimeLimits (LeiosFetch point eb tx) Source #