Skip to content

Commit

Permalink
outbound-governor: renamed fuzzRng to stdGen
Browse files Browse the repository at this point in the history
A more generic name suits better since we want to use it not just for
random delays.
  • Loading branch information
coot committed May 7, 2024
1 parent f87f9c6 commit c0adb9f
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ jobPromoteWarmPeer PeerSelectionActions{peerStateActions = PeerStateActions {act
activePeers,
establishedPeers,
knownPeers,
fuzzRng,
stdGen,
targets = PeerSelectionTargets {
targetNumberOfActivePeers,
targetNumberOfActiveBigLedgerPeers
Expand All @@ -352,7 +352,7 @@ jobPromoteWarmPeer PeerSelectionActions{peerStateActions = PeerStateActions {act
in if peeraddr `Set.member` inProgressPromoteWarm st
then let establishedPeers' = EstablishedPeers.delete peeraddr
establishedPeers
(fuzz, fuzzRng') = randomR (-2, 2 :: Double) fuzzRng
(fuzz, stdGen') = randomR (-2, 2 :: Double) stdGen
delay = realToFrac fuzz + policyErrorDelay
knownPeers' = if peeraddr `KnownPeers.member` knownPeers
then KnownPeers.setConnectTimes
Expand Down Expand Up @@ -387,7 +387,7 @@ jobPromoteWarmPeer PeerSelectionActions{peerStateActions = PeerStateActions {act
(inProgressPromoteWarm st),
knownPeers = knownPeers',
establishedPeers = establishedPeers',
fuzzRng = fuzzRng'
stdGen = stdGen'
},
decisionJobs = []
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ jobPromoteColdPeer PeerSelectionActions {
Completion $ \st@PeerSelectionState {
publicRootPeers,
establishedPeers,
fuzzRng,
stdGen,
targets = PeerSelectionTargets {
targetNumberOfEstablishedPeers,
targetNumberOfEstablishedBigLedgerPeers
Expand All @@ -378,7 +378,7 @@ jobPromoteColdPeer PeerSelectionActions {
let (failCount, knownPeers') = KnownPeers.incrementFailCount
peeraddr
(knownPeers st)
(fuzz, fuzzRng') = randomR (-2, 2 :: Double) fuzzRng
(fuzz, stdGen') = randomR (-2, 2 :: Double) stdGen

-- exponential backoff: 5s, 10s, 20s, 40s, 80s, 160s.
delay :: DiffTime
Expand Down Expand Up @@ -409,7 +409,7 @@ jobPromoteColdPeer PeerSelectionActions {
knownPeers',
inProgressPromoteCold = Set.delete peeraddr
(inProgressPromoteCold st),
fuzzRng = fuzzRng'
stdGen = stdGen'
},
decisionJobs = []
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ belowTarget actions
},
ledgerStateJudgement,
bootstrapPeersFlag,
fuzzRng
stdGen
}
-- Only start Peer Sharing request if PeerSharing was enabled
| PeerSharingEnabled <- peerSharing actions
Expand Down Expand Up @@ -99,7 +99,7 @@ belowTarget actions
numPeersToReq :: PeerSharingAmount
!numPeersToReq = fromIntegral
$ min 255 (max 8 (objective `div` numPeerShareReqs))
(salt, fuzzRng') = random fuzzRng
(salt, stdGen') = random stdGen

return $ \now -> Decision {
decisionTrace = [TracePeerShareRequests
Expand All @@ -115,7 +115,7 @@ belowTarget actions
selectedForPeerShare
(addTime policyPeerShareRetryTime now)
establishedPeers,
fuzzRng = fuzzRng'
stdGen = stdGen'
},
decisionJobs =
[jobPeerShare actions policy objective salt numPeersToReq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ connections PeerSelectionActions{
inProgressDemoteWarm,
inProgressPromoteWarm,
inProgressDemoteToCold,
fuzzRng
stdGen
} =
Guarded Nothing $ do
-- Get previously cooling peers
Expand All @@ -218,8 +218,8 @@ connections PeerSelectionActions{
let (demotedToWarm, demotedToCoolingOrCold) = Map.partition ((==PeerWarm) . fst) demotions
(demotedToCold, demotedToCooling) = Map.partition ((==PeerCold) . fst) demotedToCoolingOrCold
-- fuzz reconnect delays
(aFuzz, fuzzRng') = randomR (0.1, 10 :: Double) fuzzRng
(rFuzz, fuzzRng'') = randomR (0.1, 4 :: Double) fuzzRng'
(aFuzz, stdGen') = randomR (0.1, 10 :: Double) stdGen
(rFuzz, stdGen'') = randomR (0.1, 4 :: Double) stdGen'
demotions' = (\a@(peerState, repromoteDelay) -> case peerState of
PeerHot -> a
PeerWarm ->
Expand Down Expand Up @@ -310,7 +310,7 @@ connections PeerSelectionActions{
-- to not include peers in those sets. Instead,
-- those ones will complete synchronously.

fuzzRng = fuzzRng''
stdGen = stdGen''
}
}
where
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -436,8 +436,9 @@ data PeerSelectionState peeraddr peerconn = PeerSelectionState {
-- being closed
inProgressDemoteToCold :: !(Set peeraddr),

-- | Rng for fuzzy delay
fuzzRng :: !StdGen,
-- | Rng for fuzzy delays and random choices.
--
stdGen :: !StdGen,

-- | 'PeerSelectionCounters' counters cache. Allows to only trace
-- values when necessary.
Expand Down Expand Up @@ -632,7 +633,7 @@ emptyPeerSelectionState rng localRoots =
inProgressDemoteWarm = Set.empty,
inProgressDemoteHot = Set.empty,
inProgressDemoteToCold = Set.empty,
fuzzRng = rng,
stdGen = rng,
countersCache = Cache (PeerSelectionCounters 0 0 0 0 0 0 localRoots),
ledgerStateJudgement = TooOld,
bootstrapPeersFlag = DontUseBootstrapPeers,
Expand Down

0 comments on commit c0adb9f

Please sign in to comment.