Skip to content

Commit aad59d9

Browse files
committed
ouroboros-network: use LocalRootConfig instead of a tuple
1 parent 9dbbd0d commit aad59d9

File tree

12 files changed

+122
-104
lines changed

12 files changed

+122
-104
lines changed

ouroboros-network/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* Removed deprecated `ReconnectDelay` type alias.
99
* Addapted to `network-mux` changes in https://github.com/IntersectMBO/ouroboros-network/pull/4999
1010
* Addapted to `network-mux` changes in https://github.com/IntersectMBO/ouroboros-network/pull/4997
11+
* Use `LocalRootConfig` instead of a tuple.
1112

1213
### Non-Breaking changes
1314

ouroboros-network/sim-tests-lib/Test/Ouroboros/Network/PeerSelection.hs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ import Ouroboros.Network.PeerSelection.RootPeersDNS.PublicRootPeers
7777
import Ouroboros.Network.PeerSelection.State.EstablishedPeers qualified as EstablishedPeers
7878
import Ouroboros.Network.PeerSelection.State.KnownPeers qualified as KnownPeers
7979
import Ouroboros.Network.PeerSelection.State.LocalRootPeers (HotValency (..),
80-
LocalRootPeers (..), WarmValency (..))
80+
LocalRootConfig (..), LocalRootPeers (..), WarmValency (..))
8181
import Ouroboros.Network.PeerSelection.State.LocalRootPeers qualified as LocalRootPeers
8282
import Ouroboros.Network.Point
8383
import Ouroboros.Network.Protocol.PeerSharing.Type (PeerSharingResult (..))
@@ -3464,8 +3464,9 @@ prop_governor_only_bootstrap_peers_in_clean_state env =
34643464
. selectEnvEvents
34653465
$ events
34663466
where
3467-
isTrustable (_, IsTrustable) = True
3468-
isTrustable _ = False
3467+
isTrustable LocalRootConfig { peerTrustable = IsTrustable }
3468+
= True
3469+
isTrustable _ = False
34693470

34703471
govHasOnlyBootstrapPeers :: Signal Bool
34713472
govHasOnlyBootstrapPeers =
@@ -3874,8 +3875,8 @@ prop_issue_3550 = prop_governor_target_established_below defaultMaxTime $
38743875
(PeerAddr 29,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((ToWarm,NoDelay) :| [(ToCold,NoDelay),(Noop,NoDelay)])})
38753876
],
38763877
localRootPeers = LocalRootPeers.fromGroups
3877-
[ (1, 1, Map.fromList [(PeerAddr 16,(DoAdvertisePeer, IsNotTrustable))])
3878-
, (1, 1, Map.fromList [(PeerAddr 4,(DoAdvertisePeer, IsNotTrustable))])
3878+
[ (1, 1, Map.fromList [(PeerAddr 16, LocalRootConfig DoAdvertisePeer IsNotTrustable)])
3879+
, (1, 1, Map.fromList [(PeerAddr 4, LocalRootConfig DoAdvertisePeer IsNotTrustable)])
38793880
],
38803881
publicRootPeers = PublicRootPeers.fromPublicRootPeers
38813882
(Map.fromList [ (PeerAddr 14, DoNotAdvertisePeer)
@@ -3922,7 +3923,7 @@ prop_issue_3515 = prop_governor_nolivelock $
39223923
peerSharingScript = Script (PeerSharingDisabled :| []),
39233924
connectionScript = Script ((ToCold,NoDelay) :| [(Noop,NoDelay)])
39243925
})],
3925-
localRootPeers = LocalRootPeers.fromGroups [(1,1,Map.fromList [(PeerAddr 10,(DoAdvertisePeer, IsNotTrustable))])],
3926+
localRootPeers = LocalRootPeers.fromGroups [(1,1,Map.fromList [(PeerAddr 10, LocalRootConfig DoAdvertisePeer IsNotTrustable)])],
39263927
publicRootPeers = PublicRootPeers.empty,
39273928
targets = Script . NonEmpty.fromList $ targets'',
39283929
pickKnownPeersForPeerShare = Script (PickFirst :| []),
@@ -3963,7 +3964,7 @@ prop_issue_3494 = prop_governor_nofail $
39633964
peerSharingScript = Script (PeerSharingDisabled :| []),
39643965
connectionScript = Script ((ToCold,NoDelay) :| [(Noop,NoDelay)])
39653966
})],
3966-
localRootPeers = LocalRootPeers.fromGroups [(1,1,Map.fromList [(PeerAddr 64, (DoAdvertisePeer, IsNotTrustable))])],
3967+
localRootPeers = LocalRootPeers.fromGroups [(1,1,Map.fromList [(PeerAddr 64, LocalRootConfig DoAdvertisePeer IsNotTrustable)])],
39673968
publicRootPeers = PublicRootPeers.empty,
39683969
targets = Script . NonEmpty.fromList $ targets'',
39693970
pickKnownPeersForPeerShare = Script (PickFirst :| []),
@@ -4012,8 +4013,8 @@ prop_issue_3233 = prop_governor_nolivelock $
40124013
(PeerAddr 15,[],GovernorScripts {peerShareScript = Script (Just ([],PeerShareTimeSlow) :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((Noop,NoDelay) :| [])})
40134014
],
40144015
localRootPeers = LocalRootPeers.fromGroups
4015-
[ (1, 1, Map.fromList [(PeerAddr 15, (DoAdvertisePeer, IsNotTrustable))])
4016-
, (1, 1, Map.fromList [(PeerAddr 13, (DoAdvertisePeer, IsNotTrustable))])
4016+
[ (1, 1, Map.fromList [(PeerAddr 15, LocalRootConfig DoAdvertisePeer IsNotTrustable)])
4017+
, (1, 1, Map.fromList [(PeerAddr 13, LocalRootConfig DoAdvertisePeer IsNotTrustable)])
40174018
],
40184019
publicRootPeers = PublicRootPeers.fromPublicRootPeers
40194020
(Map.fromList [(PeerAddr 4, DoNotAdvertisePeer)]),

ouroboros-network/sim-tests-lib/Test/Ouroboros/Network/PeerSelection/Instances.hs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ import Ouroboros.Network.PeerSelection.PeerSharing (PeerSharing (..))
3535
import Ouroboros.Network.PeerSelection.PeerTrustable (PeerTrustable (..))
3636
import Ouroboros.Network.PeerSelection.RelayAccessPoint (DomainAccessPoint (..),
3737
RelayAccessPoint (..))
38+
import Ouroboros.Network.PeerSelection.State.LocalRootPeers
39+
(LocalRootConfig (..))
3840
import Ouroboros.Network.Testing.Utils (ShrinkCarefully, prop_shrink_nonequal,
3941
prop_shrink_valid)
4042
import Test.QuickCheck
@@ -188,3 +190,14 @@ prop_shrink_PeerSelectionTargets x =
188190
prop_shrink_valid sanePeerSelectionTargets x
189191
.&&. prop_shrink_nonequal x
190192

193+
194+
instance Arbitrary LocalRootConfig where
195+
arbitrary = LocalRootConfig <$> arbitrary <*> arbitrary
196+
shrink a@LocalRootConfig { peerAdvertise, peerTrustable } =
197+
[ a { peerTrustable = peerTrustable' }
198+
| peerTrustable' <- shrink peerTrustable
199+
]
200+
++
201+
[ a { peerAdvertise = peerAdvertise' }
202+
| peerAdvertise' <- shrink peerAdvertise
203+
]

ouroboros-network/sim-tests-lib/Test/Ouroboros/Network/PeerSelection/LocalRootPeers.hs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,16 @@ import Data.Map.Strict qualified as Map
1717
import Data.Set (Set)
1818
import Data.Set qualified as Set
1919

20+
import Ouroboros.Network.PeerSelection.Governor
2021
import Ouroboros.Network.PeerSelection.State.LocalRootPeers (HotValency (..),
21-
LocalRootPeers (..), WarmValency (..))
22+
LocalRootConfig (..), LocalRootPeers (..), WarmValency (..))
2223
import Ouroboros.Network.PeerSelection.State.LocalRootPeers qualified as LocalRootPeers
2324

24-
import Ouroboros.Network.PeerSelection.Governor
25-
2625
import Ouroboros.Network.Testing.Utils (ShrinkCarefully, prop_shrink_nonequal,
2726
prop_shrink_valid, renderRanges)
2827
import Test.Ouroboros.Network.PeerSelection.Instances
2928

3029

31-
import Ouroboros.Network.PeerSelection.PeerAdvertise (PeerAdvertise)
32-
import Ouroboros.Network.PeerSelection.PeerTrustable (PeerTrustable)
3330
import Test.QuickCheck
3431
import Test.Tasty (TestTree, testGroup)
3532
import Test.Tasty.QuickCheck (testProperty)
@@ -153,7 +150,7 @@ prop_shrink_LocalRootPeers x =
153150
prop_shrink_valid LocalRootPeers.invariant x
154151
.&&. prop_shrink_nonequal x
155152

156-
prop_fromGroups :: [(HotValency, WarmValency, Map PeerAddr (PeerAdvertise, PeerTrustable))] -> Bool
153+
prop_fromGroups :: [(HotValency, WarmValency, Map PeerAddr LocalRootConfig)] -> Bool
157154
prop_fromGroups = LocalRootPeers.invariant . LocalRootPeers.fromGroups
158155

159156
prop_fromToGroups :: LocalRootPeers PeerAddr -> Bool

ouroboros-network/sim-tests-lib/Test/Ouroboros/Network/PeerSelection/RootPeersDNS.hs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ import Ouroboros.Network.PeerSelection.RootPeersDNS.DNSSemaphore
6565
import Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
6666
import Ouroboros.Network.PeerSelection.RootPeersDNS.PublicRootPeers
6767
import Ouroboros.Network.PeerSelection.State.LocalRootPeers (HotValency (..),
68-
WarmValency (..))
68+
LocalRootConfig (..), WarmValency (..))
6969
import Ouroboros.Network.Testing.Data.Script (Script (Script), initScript',
7070
scriptHead, singletonScript, stepScript')
7171
import Test.Ouroboros.Network.PeerSelection.Instances ()
@@ -104,7 +104,7 @@ tests =
104104
data MockRoots = MockRoots {
105105
mockLocalRootPeers :: [( HotValency
106106
, WarmValency
107-
, Map RelayAccessPoint (PeerAdvertise, PeerTrustable))]
107+
, Map RelayAccessPoint LocalRootConfig)]
108108
, mockLocalRootPeersDNSMap :: Script (Map Domain [(IP, TTL)])
109109
, mockPublicRootPeers :: Map RelayAccessPoint PeerAdvertise
110110
, mockPublicRootPeersDNSMap :: Script (Map Domain [(IP, TTL)])
@@ -238,10 +238,10 @@ simpleMockRoots = MockRoots localRootPeers dnsMap Map.empty (singletonScript Map
238238
[ ( 2, 2
239239
, Map.fromList
240240
[ ( RelayAccessAddress (read "192.0.2.1") (read "3333")
241-
, (DoAdvertisePeer, IsNotTrustable)
241+
, LocalRootConfig DoAdvertisePeer IsNotTrustable
242242
)
243243
, ( RelayAccessDomain "test.domain" (read "4444")
244-
, (DoNotAdvertisePeer, IsNotTrustable)
244+
, LocalRootConfig DoNotAdvertisePeer IsNotTrustable
245245
)
246246
]
247247
)
@@ -463,7 +463,7 @@ mockResolveLedgerPeers tracer (MockRoots _ _ publicRootPeers dnsMapScript)
463463
--
464464

465465
data TestTraceEvent = RootPeerDNSLocal (TraceLocalRootPeers SockAddr Failure)
466-
| LocalRootPeersResults [(HotValency, WarmValency, Map SockAddr (PeerAdvertise, PeerTrustable))]
466+
| LocalRootPeersResults [(HotValency, WarmValency, Map SockAddr LocalRootConfig)]
467467
| RootPeerDNSPublic TracePublicRootPeers
468468
deriving (Show, Typeable)
469469

@@ -499,13 +499,13 @@ selectLocalRootPeersEvents :: [(Time, TestTraceEvent)]
499499
selectLocalRootPeersEvents trace = [ (t, e) | (t, RootPeerDNSLocal e) <- trace ]
500500

501501
selectLocalRootPeersResults :: [(Time, TestTraceEvent)]
502-
-> [(Time, [(HotValency, WarmValency, Map SockAddr (PeerAdvertise, PeerTrustable))])]
502+
-> [(Time, [(HotValency, WarmValency, Map SockAddr LocalRootConfig)])]
503503
selectLocalRootPeersResults trace = [ (t, r) | (t, LocalRootPeersResults r) <- trace ]
504504

505505
selectLocalRootGroupsEvents :: [(Time, TraceLocalRootPeers SockAddr Failure)]
506506
-> [(Time, [( HotValency
507507
, WarmValency
508-
, Map SockAddr (PeerAdvertise, PeerTrustable))])]
508+
, Map SockAddr LocalRootConfig)])]
509509
selectLocalRootGroupsEvents trace = [ (t, e) | (t, TraceLocalRootGroups e) <- trace ]
510510

511511
selectLocalRootResultEvents :: [(Time, TraceLocalRootPeers SockAddr Failure)]
@@ -555,13 +555,13 @@ prop_local_preservesIPs mockRoots@(MockRoots localRoots _ _ _)
555555
where
556556
checkAll :: [(Time, [( HotValency
557557
, WarmValency
558-
, Map SockAddr (PeerAdvertise, PeerTrustable))])]
558+
, Map SockAddr LocalRootConfig)])]
559559
-> Property
560560
checkAll [] = property True
561561
checkAll (x:t) =
562562
let thrd (_, _, c) = c
563563
-- get local root ip addresses
564-
localRootAddresses :: [(a, b, Map RelayAccessPoint (PeerAdvertise, PeerTrustable))]
564+
localRootAddresses :: [(a, b, Map RelayAccessPoint LocalRootConfig)]
565565
-> Set SockAddr
566566
localRootAddresses lrp =
567567
Set.fromList
@@ -573,7 +573,7 @@ prop_local_preservesIPs mockRoots@(MockRoots localRoots _ _ _)
573573
-- get ip addresses out of LocalRootGroup trace events
574574
localGroupEventsAddresses :: (a, [( HotValency
575575
, WarmValency
576-
, Map SockAddr (PeerAdvertise, PeerTrustable))])
576+
, Map SockAddr LocalRootConfig)])
577577
-> Set SockAddr
578578
localGroupEventsAddresses (_, s) =
579579
Set.fromList

0 commit comments

Comments
 (0)