Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Node.NetworkProtocolVersion
Contents
Synopsis
- class (Show (BlockNodeToNodeVersion blk), Show (BlockNodeToClientVersion blk), Eq (BlockNodeToNodeVersion blk), Eq (BlockNodeToClientVersion blk)) ⇒ HasNetworkProtocolVersion blk where
- type BlockNodeToNodeVersion blk
- type BlockNodeToClientVersion blk
- class HasNetworkProtocolVersion blk ⇒ SupportedNetworkProtocolVersion blk where
- latestReleasedNodeVersionDefault ∷ SupportedNetworkProtocolVersion blk ⇒ Proxy blk → (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)
- data NodeToClientVersion
- data NodeToNodeVersion
Documentation
class (Show (BlockNodeToNodeVersion blk), Show (BlockNodeToClientVersion blk), Eq (BlockNodeToNodeVersion blk), Eq (BlockNodeToClientVersion blk)) ⇒ HasNetworkProtocolVersion blk Source #
Protocol versioning
IMPORTANT Note that this is entirely independent of the
shelleyProtVer
field et al.
Its primary purpose is to control the details of on-the-wire codecs. And
additionally which queries are allowed, in the case of
BlockNodeToClienVersion
(this use is already handled by
shelleyProtVer
in the NTN case).
Associated Types
type BlockNodeToNodeVersion blk Source #
type BlockNodeToNodeVersion blk = ()
type BlockNodeToClientVersion blk Source #
type BlockNodeToClientVersion blk = ()
Instances
(All (Compose Show WrapNodeToNodeVersion) xs, All (Compose Eq WrapNodeToNodeVersion) xs, All (Compose Show EraNodeToClientVersion) xs, All (Compose Eq EraNodeToClientVersion) xs, All HasNetworkProtocolVersion xs) ⇒ HasNetworkProtocolVersion (HardForkBlock xs) Source # | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.NetworkVersion Associated Types
|
class HasNetworkProtocolVersion blk ⇒ SupportedNetworkProtocolVersion blk where Source #
Methods
supportedNodeToNodeVersions ∷ Proxy blk → Map NodeToNodeVersion (BlockNodeToNodeVersion blk) Source #
Enumerate all supported node-to-node versions
supportedNodeToClientVersions ∷ Proxy blk → Map NodeToClientVersion (BlockNodeToClientVersion blk) Source #
Enumerate all supported node-to-client versions
latestReleasedNodeVersion ∷ Proxy blk → (Maybe NodeToNodeVersion, Maybe NodeToClientVersion) Source #
The latest released version
This is the latest version intended for deployment.
IMPORTANT Note that this is entirely independent of the
shelleyProtVer
field et al.
latestReleasedNodeVersionDefault ∷ SupportedNetworkProtocolVersion blk ⇒ Proxy blk → (Maybe NodeToNodeVersion, Maybe NodeToClientVersion) Source #
A default for latestReleasedNodeVersion
Chooses the greatest in supportedNodeToNodeVersions
and
supportedNodeToClientVersions
.
Re-exports
data NodeToClientVersion Source #
Enumeration of node to client protocol versions.
Constructors
NodeToClientV_16 | NodeToClientV_10
-- ^ added |
NodeToClientV_17 | added |
NodeToClientV_18 | added |
NodeToClientV_19 | added |
NodeToClientV_20 | added |
Instances
data NodeToNodeVersion Source #
Enumeration of node to node protocol versions.
Constructors
NodeToNodeV_13 | NodeToNodeV_8
-- ^ Changes:
--
-- * Enable block diffusion pipelining in ChainSync and BlockFetch logic.
| NodeToNodeV_9
-- ^ Changes:
--
-- * Enable |
NodeToNodeV_14 | Chang+1 HF |
Instances
NFData NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version Methods rnf ∷ NodeToNodeVersion → () # | |||||
Bounded NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version | |||||
Enum NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version Methods succ ∷ NodeToNodeVersion → NodeToNodeVersion # pred ∷ NodeToNodeVersion → NodeToNodeVersion # toEnum ∷ Int → NodeToNodeVersion # fromEnum ∷ NodeToNodeVersion → Int # enumFrom ∷ NodeToNodeVersion → [NodeToNodeVersion] # enumFromThen ∷ NodeToNodeVersion → NodeToNodeVersion → [NodeToNodeVersion] # enumFromTo ∷ NodeToNodeVersion → NodeToNodeVersion → [NodeToNodeVersion] # enumFromThenTo ∷ NodeToNodeVersion → NodeToNodeVersion → NodeToNodeVersion → [NodeToNodeVersion] # | |||||
Generic NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version Associated Types
Methods from ∷ NodeToNodeVersion → Rep NodeToNodeVersion x # to ∷ Rep NodeToNodeVersion x → NodeToNodeVersion # | |||||
Show NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version Methods showsPrec ∷ Int → NodeToNodeVersion → ShowS # show ∷ NodeToNodeVersion → String # showList ∷ [NodeToNodeVersion] → ShowS # | |||||
Eq NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version Methods | |||||
Ord NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version Methods compare ∷ NodeToNodeVersion → NodeToNodeVersion → Ordering # (<) ∷ NodeToNodeVersion → NodeToNodeVersion → Bool # (<=) ∷ NodeToNodeVersion → NodeToNodeVersion → Bool # (>) ∷ NodeToNodeVersion → NodeToNodeVersion → Bool # (>=) ∷ NodeToNodeVersion → NodeToNodeVersion → Bool # max ∷ NodeToNodeVersion → NodeToNodeVersion → NodeToNodeVersion # min ∷ NodeToNodeVersion → NodeToNodeVersion → NodeToNodeVersion # | |||||
type Rep NodeToNodeVersion | |||||
Defined in Ouroboros.Network.NodeToNode.Version type Rep NodeToNodeVersion = D1 ('MetaData "NodeToNodeVersion" "Ouroboros.Network.NodeToNode.Version" "ouroboros-network-api-0.13.0.0-5343a8071b3f542ab81b06c59cf16dafcc55f3756ea92962f719c77a1536151d" 'False) (C1 ('MetaCons "NodeToNodeV_13" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "NodeToNodeV_14" 'PrefixI 'False) (U1 ∷ Type → Type)) |