Safe Haskell | None |
---|---|
Language | Haskell2010 |
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.
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
NodeToNodeVersionData | |
|
Instances
Show NodeToNodeVersionData Source # | |
Defined in Ouroboros.Network.NodeToNode.Version showsPrec :: Int -> NodeToNodeVersionData -> ShowS # show :: NodeToNodeVersionData -> String # showList :: [NodeToNodeVersionData] -> ShowS # | |
Eq NodeToNodeVersionData Source # | |
Defined in Ouroboros.Network.NodeToNode.Version (==) :: NodeToNodeVersionData -> NodeToNodeVersionData -> Bool # (/=) :: NodeToNodeVersionData -> NodeToNodeVersionData -> Bool # | |
Acceptable NodeToNodeVersionData Source # | |
Queryable NodeToNodeVersionData Source # | |
Defined in Ouroboros.Network.NodeToNode.Version |
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 showsPrec :: Int -> DiffusionMode -> ShowS # show :: DiffusionMode -> String # showList :: [DiffusionMode] -> ShowS # | |
Eq DiffusionMode Source # | |
Defined in Ouroboros.Network.NodeToNode.Version (==) :: DiffusionMode -> DiffusionMode -> Bool # (/=) :: DiffusionMode -> DiffusionMode -> Bool # | |
Ord DiffusionMode Source # | |
Defined in Ouroboros.Network.NodeToNode.Version compare :: DiffusionMode -> DiffusionMode -> Ordering # (<) :: DiffusionMode -> DiffusionMode -> Bool # (<=) :: DiffusionMode -> DiffusionMode -> Bool # (>) :: DiffusionMode -> DiffusionMode -> Bool # (>=) :: DiffusionMode -> DiffusionMode -> Bool # max :: DiffusionMode -> DiffusionMode -> DiffusionMode # min :: DiffusionMode -> DiffusionMode -> DiffusionMode # |
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`