@@ -39,6 +39,7 @@ module Ouroboros.Consensus.Network.NodeToNode
3939 , initiatorAndResponder
4040 ) where
4141
42+ import Cardano.Base.FeatureFlags (CardanoFeatureFlag )
4243import Codec.CBOR.Decoding (Decoder )
4344import qualified Codec.CBOR.Decoding as CBOR
4445import Codec.CBOR.Encoding (Encoding )
@@ -54,6 +55,7 @@ import qualified Data.ByteString.Lazy as BSL
5455import Data.Hashable (Hashable )
5556import Data.Int (Int64 )
5657import Data.Map.Strict (Map )
58+ import Data.Set (Set )
5759import Data.Void (Void )
5860import qualified Network.Mux as Mux
5961import Network.TypedProtocol.Codec
@@ -994,13 +996,15 @@ mkApps kernel rng Tracers{..} mkCodecs ByteLimits{..} chainSyncTimeouts lopBucke
994996-- on the protocol version, but it eventually may; this is why @_version@ is
995997-- currently unused.
996998initiator ::
999+ Set CardanoFeatureFlag ->
9971000 MiniProtocolParameters ->
9981001 NodeToNodeVersion ->
9991002 NodeToNodeVersionData ->
10001003 Apps m addr b b b b b b a c ->
10011004 OuroborosBundleWithExpandedCtx 'Mux.InitiatorMode addr b m a Void
1002- initiator miniProtocolParameters version versionData Apps {.. } =
1005+ initiator featureFlags miniProtocolParameters version versionData Apps {.. } =
10031006 nodeToNodeProtocols
1007+ featureFlags
10041008 miniProtocolParameters
10051009 -- TODO: currently consensus is using 'ConnectionId' for its 'peer' type.
10061010 -- This is currently ok, as we might accept multiple connections from the
@@ -1017,6 +1021,8 @@ initiator miniProtocolParameters version versionData Apps{..} =
10171021 (InitiatorProtocolOnly (MiniProtocolCb (\ ctx -> aTxSubmission2Client version ctx)))
10181022 , perasCertDiffusionProtocol =
10191023 (InitiatorProtocolOnly (MiniProtocolCb (\ ctx -> aPerasCertDiffusionClient version ctx)))
1024+ , perasVoteDiffusionProtocol =
1025+ error " perasVoteDiffusionProtocol: not implemented"
10201026 , keepAliveProtocol =
10211027 (InitiatorProtocolOnly (MiniProtocolCb (\ ctx -> aKeepAliveClient version ctx)))
10221028 , peerSharingProtocol =
@@ -1032,13 +1038,15 @@ initiator miniProtocolParameters version versionData Apps{..} =
10321038-- on the protocol version, but it eventually may; this is why @_version@ is
10331039-- currently unused.
10341040initiatorAndResponder ::
1041+ Set CardanoFeatureFlag ->
10351042 MiniProtocolParameters ->
10361043 NodeToNodeVersion ->
10371044 NodeToNodeVersionData ->
10381045 Apps m addr b b b b b b a c ->
10391046 OuroborosBundleWithExpandedCtx 'Mux.InitiatorResponderMode addr b m a c
1040- initiatorAndResponder miniProtocolParameters version versionData Apps {.. } =
1047+ initiatorAndResponder featureFlags miniProtocolParameters version versionData Apps {.. } =
10411048 nodeToNodeProtocols
1049+ featureFlags
10421050 miniProtocolParameters
10431051 ( NodeToNodeProtocols
10441052 { chainSyncProtocol =
@@ -1061,6 +1069,8 @@ initiatorAndResponder miniProtocolParameters version versionData Apps{..} =
10611069 (MiniProtocolCb (\ initiatorCtx -> aPerasCertDiffusionClient version initiatorCtx))
10621070 (MiniProtocolCb (\ responderCtx -> aPerasCertDiffusionServer version responderCtx))
10631071 )
1072+ , perasVoteDiffusionProtocol =
1073+ error " perasVoteDiffusionProtocol: not implemented"
10641074 , keepAliveProtocol =
10651075 ( InitiatorAndResponderProtocol
10661076 (MiniProtocolCb (\ initiatorCtx -> aKeepAliveClient version initiatorCtx))
0 commit comments