Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ouroboros.Network.NodeToNode.Version
Synopsis
- data NodeToNodeVersion
- data NodeToNodeVersionData = NodeToNodeVersionData {}
- data DiffusionMode
- data ConnectionMode
- nodeToNodeVersionCodec ∷ CodecCBORTerm (Text, Maybe Int) NodeToNodeVersion
- nodeToNodeCodecCBORTerm ∷ NodeToNodeVersion → CodecCBORTerm Text NodeToNodeVersionData
- isPipeliningEnabled ∷ NodeToNodeVersion → WhetherReceivingTentativeBlocks
Documentation
data NodeToNodeVersion Source #
Enumeration of node to node protocol versions.
Constructors
NodeToNodeV_7 | Changes:
|
NodeToNodeV_8 | Changes:
|
NodeToNodeV_9 | Changes:
|
NodeToNodeV_10 | Changes:
|
NodeToNodeV_11 | Changes:
|
NodeToNodeV_12 | No changes. (In the past, this enabled Conway, but the negotiated |
NodeToNodeV_13 | Changes:
|
Instances
data NodeToNodeVersionData Source #
Version data for NodeToNode protocol
Constructors
NodeToNodeVersionData | |
Fields |
Instances
Show NodeToNodeVersionData Source # | |
Defined in Ouroboros.Network.NodeToNode.Version Methods showsPrec ∷ Int → NodeToNodeVersionData → ShowS # show ∷ NodeToNodeVersionData → String # showList ∷ [NodeToNodeVersionData] → ShowS # | |
Eq NodeToNodeVersionData Source # | |
Defined in Ouroboros.Network.NodeToNode.Version Methods (==) ∷ NodeToNodeVersionData → NodeToNodeVersionData → Bool # (/=) ∷ NodeToNodeVersionData → NodeToNodeVersionData → Bool # | |
Acceptable NodeToNodeVersionData Source # | |
Queryable NodeToNodeVersionData Source # | |
Defined in Ouroboros.Network.NodeToNode.Version Methods |
data DiffusionMode Source #
The flag which indicates whether the node runs only initiator or both initiator or responder node.
This data structure has two proposes:
- instruct the diffusion layer if it should listen on incoming connections;
- it is communicated via
NodeToNodeVersionData
during handshake negotiation. In non-p2p mode we always sendInitiatorOnlyDiffusionMode
, in p2p mode we send exactly what the diffusion is given. In non-p2p mode every connection outbound port is ephemeral, the remote side cannot connect to it, however in p2p mode the outbound port is actually the port on which the node is listening (if it runs inInitiatorAndResponderDiffusionMode
).
Instances
Show DiffusionMode Source # | |
Defined in Ouroboros.Network.NodeToNode.Version Methods showsPrec ∷ Int → DiffusionMode → ShowS # show ∷ DiffusionMode → String # showList ∷ [DiffusionMode] → ShowS # | |
Eq DiffusionMode Source # | |
Defined in Ouroboros.Network.NodeToNode.Version | |
Ord DiffusionMode Source # | |
Defined in Ouroboros.Network.NodeToNode.Version Methods compare ∷ DiffusionMode → DiffusionMode → Ordering # (<) ∷ DiffusionMode → DiffusionMode → Bool # (<=) ∷ DiffusionMode → DiffusionMode → Bool # (>) ∷ DiffusionMode → DiffusionMode → Bool # (>=) ∷ DiffusionMode → DiffusionMode → Bool # |
data ConnectionMode Source #
Constructors
UnidirectionalMode | |
DuplexMode |
isPipeliningEnabled ∷ NodeToNodeVersion → WhetherReceivingTentativeBlocks Source #
Check whether a version enabling diffusion pipelining has been negotiated.
TODO: this ought to be defined in `ouroboros-consensus` or `ouroboros-consensus-diffusion`