|
12 | 12 |
|
13 | 13 | module Cardano.Node.Configuration.POM
|
14 | 14 | ( NodeConfiguration (..)
|
15 |
| - , NCForkPolicy (..) |
| 15 | + , ResponderCoreAffinityPolicy (..) |
16 | 16 | , NetworkP2PMode (..)
|
17 | 17 | , SomeNetworkP2PMode (..)
|
18 | 18 | , PartialNodeConfiguration(..)
|
@@ -46,7 +46,7 @@ import qualified Ouroboros.Consensus.Node as Consensus (NetworkP2PMode (..))
|
46 | 46 | import Ouroboros.Consensus.Node.Genesis (GenesisConfig, GenesisConfigFlags,
|
47 | 47 | defaultGenesisConfigFlags, mkGenesisConfig)
|
48 | 48 | import qualified Ouroboros.Network.Diffusion.Configuration as Ouroboros
|
49 |
| -import Ouroboros.Network.Mux (ForkPolicy, noBindForkPolicy, responderForkPolicy) |
| 49 | +import qualified Ouroboros.Network.Mux as Mux |
50 | 50 | import qualified Ouroboros.Network.PeerSelection.Governor as PeerSelection
|
51 | 51 | import Ouroboros.Consensus.Storage.LedgerDB.Args (QueryBatchSize (..))
|
52 | 52 | import Ouroboros.Consensus.Storage.LedgerDB.Snapshots (NumOfDiskSnapshots (..),
|
@@ -197,20 +197,22 @@ data NodeConfiguration
|
197 | 197 | -- Ouroboros Genesis
|
198 | 198 | , ncGenesisConfig :: GenesisConfig
|
199 | 199 |
|
200 |
| - , ncForkPolicy :: NCForkPolicy |
| 200 | + , ncResponderCoreAffinityPolicy :: ResponderCoreAffinityPolicy |
201 | 201 | } deriving (Eq, Show)
|
202 | 202 |
|
203 | 203 | -- | We expose the `Ouroboros.Network.Mux.ForkPolicy` as a `NodeConfiguration` field.
|
204 |
| --- * `NoBindForkPolicy` corresponds to `Ouroboros.Network.Mux.noBindForkPolicy` |
205 |
| --- * `ResponderForkPolicy` corresponds to `Ouroboros.Network.Mux.responderForkPolicy` |
206 |
| --- with a `randomIO` generated salt and `getNumCapabilities` |
207 |
| -data NCForkPolicy = NoBindForkPolicy | ResponderForkPolicy deriving (Eq, Show, Generic, FromJSON) |
| 204 | +-- |
| 205 | +-- * `NoResponderCoreAffinity` corresponds to `Ouroboros.Network.Mux.noBindForkPolicy` |
| 206 | +-- * `ResponderCoreAffinity` corresponds to `Ouroboros.Network.Mux.responderForkPolicy` |
| 207 | +-- with a `randomIO` generated salt and `getNumCapabilities`. |
| 208 | +-- |
| 209 | +data ResponderCoreAffinityPolicy = NoResponderCoreAffinity | ResponderCoreAffinity deriving (Eq, Show, Generic, FromJSON) |
208 | 210 |
|
209 | 211 | -- | Convert `NCForkPolicy` to a `Ouroboros.Network.Mux.ForkPolicy`
|
210 |
| -getForkPolicy :: Hashable peerAddr => NCForkPolicy -> IO (ForkPolicy peerAddr) |
| 212 | +getForkPolicy :: Hashable peerAddr => ResponderCoreAffinityPolicy -> IO (Mux.ForkPolicy peerAddr) |
211 | 213 | getForkPolicy = \case
|
212 |
| - NoBindForkPolicy -> pure noBindForkPolicy |
213 |
| - ResponderForkPolicy -> responderForkPolicy <$> randomIO <*> getNumCapabilities |
| 214 | + NoResponderCoreAffinity -> pure Mux.noBindForkPolicy |
| 215 | + ResponderCoreAffinity -> Mux.responderForkPolicy <$> randomIO <*> getNumCapabilities |
214 | 216 |
|
215 | 217 | data PartialNodeConfiguration
|
216 | 218 | = PartialNodeConfiguration
|
@@ -288,7 +290,7 @@ data PartialNodeConfiguration
|
288 | 290 | -- Ouroboros Genesis
|
289 | 291 | , pncGenesisConfigFlags :: !(Last GenesisConfigFlags)
|
290 | 292 |
|
291 |
| - , pncForkPolicy :: !(Last NCForkPolicy) |
| 293 | + , pncResponderCoreAffinityPolicy :: !(Last ResponderCoreAffinityPolicy) |
292 | 294 | } deriving (Eq, Generic, Show)
|
293 | 295 |
|
294 | 296 | instance AdjustFilePaths PartialNodeConfiguration where
|
@@ -398,7 +400,10 @@ instance FromJSON PartialNodeConfiguration where
|
398 | 400 | -- pncConsensusMode determines whether Genesis is enabled in the first place.
|
399 | 401 | pncGenesisConfigFlags <- Last <$> v .:? "LowLevelGenesisOptions"
|
400 | 402 |
|
401 |
| - pncForkPolicy <- Last <$> v .:? "ForkPolicy" |
| 403 | + pncResponderCoreAffinityPolicy <- |
| 404 | + (\a b -> Last a <> Last b) |
| 405 | + <$> v .:? "ResponderCoreAffinityPolicy" |
| 406 | + <*> v .:? "ForkPolicy" -- deprecated |
402 | 407 |
|
403 | 408 | pure PartialNodeConfiguration {
|
404 | 409 | pncProtocolConfig
|
@@ -440,7 +445,7 @@ instance FromJSON PartialNodeConfiguration where
|
440 | 445 | , pncEnableP2P
|
441 | 446 | , pncPeerSharing
|
442 | 447 | , pncGenesisConfigFlags
|
443 |
| - , pncForkPolicy |
| 448 | + , pncResponderCoreAffinityPolicy |
444 | 449 | }
|
445 | 450 | where
|
446 | 451 | parseMempoolCapacityBytesOverride v = parseNoOverride <|> parseOverride
|
@@ -676,7 +681,7 @@ defaultPartialNodeConfiguration =
|
676 | 681 | , pncEnableP2P = Last (Just EnabledP2PMode)
|
677 | 682 | , pncPeerSharing = Last (Just Ouroboros.defaultPeerSharing)
|
678 | 683 | , pncGenesisConfigFlags = Last (Just defaultGenesisConfigFlags)
|
679 |
| - , pncForkPolicy = Last $ Just NoBindForkPolicy |
| 684 | + , pncResponderCoreAffinityPolicy = Last $ Just NoResponderCoreAffinity |
680 | 685 | }
|
681 | 686 | where
|
682 | 687 | PeerSelectionTargets {
|
@@ -783,7 +788,7 @@ makeNodeConfiguration pnc = do
|
783 | 788 | $ pncGenesisConfigFlags pnc
|
784 | 789 | let ncGenesisConfig = mkGenesisConfig mGenesisConfigFlags
|
785 | 790 |
|
786 |
| - ncForkPolicy <- lastToEither "Missing ForkPolicy" $ pncForkPolicy pnc |
| 791 | + ncResponderCoreAffinityPolicy <- lastToEither "Missing ResponderCoreAffinityPolicy" $ pncResponderCoreAffinityPolicy pnc |
787 | 792 |
|
788 | 793 | let deadlineTargets =
|
789 | 794 | PeerSelectionTargets {
|
@@ -864,7 +869,7 @@ makeNodeConfiguration pnc = do
|
864 | 869 | , ncPeerSharing
|
865 | 870 | , ncConsensusMode
|
866 | 871 | , ncGenesisConfig
|
867 |
| - , ncForkPolicy |
| 872 | + , ncResponderCoreAffinityPolicy |
868 | 873 | }
|
869 | 874 |
|
870 | 875 | ncProtocol :: NodeConfiguration -> Protocol
|
|
0 commit comments