Skip to content

Commit

Permalink
Use NetworkP2PMode switch in POM
Browse files Browse the repository at this point in the history
  • Loading branch information
bolt12 committed Jun 14, 2021
1 parent 9e6a282 commit 9a4a96a
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
19 changes: 19 additions & 0 deletions cardano-node/src/Cardano/Node/Configuration/POM.hs
Expand Up @@ -37,6 +37,7 @@ import Cardano.Tracing.Config
import Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy (SnapshotInterval (..))
import Ouroboros.Network.Block (MaxSlotNo (..))
import Ouroboros.Network.NodeToNode (DiffusionMode (..))
import Ouroboros.Consensus.Node ( NetworkP2PMode (..) )

data NodeConfiguration
= NodeConfiguration
Expand Down Expand Up @@ -85,6 +86,9 @@ data NodeConfiguration
, ncTargetNumberOfKnownPeers :: Int
, ncTargetNumberOfEstablishedPeers :: Int
, ncTargetNumberOfActivePeers :: Int

-- Enable P2P switch
, ncEnableP2P :: NetworkP2PMode
} deriving (Eq, Show)


Expand Down Expand Up @@ -130,6 +134,9 @@ data PartialNodeConfiguration
, pncTargetNumberOfKnownPeers :: !(Last Int)
, pncTargetNumberOfEstablishedPeers :: !(Last Int)
, pncTargetNumberOfActivePeers :: !(Last Int)

-- Enable P2P switch
, pncEnableP2P :: !(Last NetworkP2PMode)
} deriving (Eq, Generic, Show)

instance AdjustFilePaths PartialNodeConfiguration where
Expand Down Expand Up @@ -187,6 +194,12 @@ instance FromJSON PartialNodeConfiguration where
pncTargetNumberOfEstablishedPeers <- Last <$> v .:? "TargetNumberOfEstablishedPeers"
pncTargetNumberOfActivePeers <- Last <$> v .:? "TargetNumberOfActivePeers"

-- Enable P2P switch
p2pSwitch <- v .:? "EnableP2P" .!= Just False
let pncEnableP2P =
case p2pSwitch of
Nothing -> mempty
Just r -> Last $ Just (bool DisabledP2PMode EnabledP2PMode r)

pure PartialNodeConfiguration {
pncProtocolConfig = pncProtocolConfig'
Expand Down Expand Up @@ -214,6 +227,7 @@ instance FromJSON PartialNodeConfiguration where
, pncTargetNumberOfKnownPeers
, pncTargetNumberOfEstablishedPeers
, pncTargetNumberOfActivePeers
, pncEnableP2P
}
where
parseByronProtocol v = do
Expand Down Expand Up @@ -319,6 +333,7 @@ defaultPartialNodeConfiguration =
, pncTargetNumberOfKnownPeers = Last (Just 5)
, pncTargetNumberOfEstablishedPeers = Last (Just 2)
, pncTargetNumberOfActivePeers = Last (Just 1)
, pncEnableP2P = Last (Just DisabledP2PMode)
}

lastOption :: Parser a -> Parser (Last a)
Expand Down Expand Up @@ -360,6 +375,9 @@ makeNodeConfiguration pnc = do
ncTimeWaitTimeout <-
lastToEither "Missing TimeWaitTimeout"
$ pncTimeWaitTimeout pnc
ncEnableP2P <-
lastToEither "Missing EnableP2P"
$ pncEnableP2P pnc

return $ NodeConfiguration
{ ncNodeIPv4Addr = getLast $ pncNodeIPv4Addr pnc
Expand Down Expand Up @@ -387,6 +405,7 @@ makeNodeConfiguration pnc = do
, ncTargetNumberOfKnownPeers
, ncTargetNumberOfEstablishedPeers
, ncTargetNumberOfActivePeers
, ncEnableP2P
}

ncProtocol :: NodeConfiguration -> Protocol
Expand Down
1 change: 1 addition & 0 deletions cardano-node/src/Cardano/Node/Parsers.hs
Expand Up @@ -95,6 +95,7 @@ nodeRunParser = do
, pncTargetNumberOfKnownPeers = mempty
, pncTargetNumberOfEstablishedPeers = mempty
, pncTargetNumberOfActivePeers = mempty
, pncEnableP2P = mempty
}

parseSocketPath :: Text -> Parser SocketPath
Expand Down
4 changes: 4 additions & 0 deletions cardano-node/test/Test/Cardano/Node/POM.hs
Expand Up @@ -15,6 +15,7 @@ import Cardano.Tracing.Config (TraceOptions (..))
import Ouroboros.Network.Block (MaxSlotNo (..), SlotNo (..))
import Ouroboros.Network.NodeToNode (DiffusionMode (InitiatorAndResponderDiffusionMode))
import Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy (SnapshotInterval (..))
import Ouroboros.Consensus.Node (NetworkP2PMode (..))

import Hedgehog (Property, discover, withTests, (===))
import qualified Hedgehog
Expand Down Expand Up @@ -70,6 +71,7 @@ testPartialYamlConfig =
, pncTargetNumberOfKnownPeers = mempty
, pncTargetNumberOfEstablishedPeers = mempty
, pncTargetNumberOfActivePeers = mempty
, pncEnableP2P = Last (Just DisabledP2PMode)
}

-- | Example partial configuration theoretically created
Expand Down Expand Up @@ -102,6 +104,7 @@ testPartialCliConfig =
, pncTargetNumberOfKnownPeers = mempty
, pncTargetNumberOfEstablishedPeers = mempty
, pncTargetNumberOfActivePeers = mempty
, pncEnableP2P = Last (Just DisabledP2PMode)
}

-- | Expected final NodeConfiguration
Expand Down Expand Up @@ -135,6 +138,7 @@ expectedConfig =
, ncTargetNumberOfKnownPeers = 5
, ncTargetNumberOfEstablishedPeers = 2
, ncTargetNumberOfActivePeers = 1
, ncEnableP2P = DisabledP2PMode
}

-- -----------------------------------------------------------------------------
Expand Down

0 comments on commit 9a4a96a

Please sign in to comment.