Skip to content

Commit

Permalink
Change daBlockFetchMode to use GenesisBlockFetch
Browse files Browse the repository at this point in the history
  • Loading branch information
facundominguez authored and amesgen committed Sep 18, 2024
1 parent 8bf522b commit f217de0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ run blockGeneratorArgs limits ni na tracersExtra tracerBlockFetch =
(\ _ (_ :: SomeException) -> ShutdownNode)
, Diff.P2P.daPeerMetrics = peerMetrics
-- fetch mode is not used (no block-fetch mini-protocol)
, Diff.P2P.daBlockFetchMode = pure FetchModeDeadline
, Diff.P2P.daBlockFetchMode = pure $ PraosFetchMode FetchModeDeadline
, Diff.P2P.daReturnPolicy = \_ -> config_REPROMOTE_DELAY
, Diff.P2P.daPeerSharingRegistry = nkPeerSharingRegistry nodeKernel
}
Expand Down
4 changes: 2 additions & 2 deletions ouroboros-network/src/Ouroboros/Network/Diffusion/P2P.hs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ import Ouroboros.Network.Snocket (FileDescriptor, LocalAddress,
makeLocalBearer, makeSocketBearer)
import Ouroboros.Network.Snocket qualified as Snocket

import Ouroboros.Network.BlockFetch
import Ouroboros.Network.BlockFetch.ConsensusInterface (GenesisFetchMode)
import Ouroboros.Network.ConnectionId
import Ouroboros.Network.Context (ExpandedInitiatorContext, ResponderContext)
import Ouroboros.Network.Protocol.Handshake
Expand Down Expand Up @@ -362,7 +362,7 @@ data ApplicationsExtra ntnAddr m a =

-- | Used by churn-governor
--
, daBlockFetchMode :: STM m FetchMode
, daBlockFetchMode :: STM m GenesisFetchMode

-- | Used for peer sharing protocol
--
Expand Down
14 changes: 8 additions & 6 deletions ouroboros-network/src/Ouroboros/Network/PeerSelection/Churn.hs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import Control.Applicative (Alternative)
import Data.Functor (($>))
import Data.Monoid.Synchronisation (FirstToFinish (..))
import Ouroboros.Network.BlockFetch (FetchMode (..))
import Ouroboros.Network.BlockFetch.ConsensusInterface (GenesisFetchMode (..))
import Ouroboros.Network.ConsensusMode (ConsensusMode (..))
import Ouroboros.Network.Diffusion.Policies (churnEstablishConnectionTimeout,
closeConnectionTimeout, deactivateTimeout)
Expand Down Expand Up @@ -90,7 +91,7 @@ data PeerChurnArgs m peeraddr = PeerChurnArgs {
pcaMetrics :: PeerMetrics m peeraddr,
pcaModeVar :: StrictTVar m ChurnMode,
pcaRng :: StdGen,
pcaReadFetchMode :: STM m FetchMode,
pcaReadFetchMode :: STM m GenesisFetchMode,
peerTargets :: ConsensusModePeerTargets,
pcaPeerSelectionVar :: StrictTVar m PeerSelectionTargets,
pcaReadCounters :: STM m PeerSelectionCounters,
Expand Down Expand Up @@ -156,8 +157,9 @@ peerChurnGovernor PeerChurnArgs {
updateChurnMode = do
fm <- getFetchMode
let mode = case fm of
FetchModeDeadline -> ChurnModeNormal
FetchModeBulkSync -> ChurnModeBulkSync
PraosFetchMode FetchModeDeadline -> ChurnModeNormal
PraosFetchMode FetchModeBulkSync -> ChurnModeBulkSync
FetchModeGenesis -> ChurnModeBulkSync
writeTVar churnModeVar mode
return mode

Expand Down Expand Up @@ -583,9 +585,9 @@ peerChurnGovernor PeerChurnArgs {
mode <- atomically getFetchMode
-- todo: is this right?
case (mode, consensusMode) of
(FetchModeDeadline, _) -> longDelay rng execTime
(_, GenesisMode) -> longDelay rng execTime
_otherwise -> shortDelay rng execTime
(PraosFetchMode FetchModeDeadline, _) -> longDelay rng execTime
(_, GenesisMode) -> longDelay rng execTime
_otherwise -> shortDelay rng execTime


fuzzyDelay' :: DiffTime -> Double -> StdGen -> DiffTime -> m StdGen
Expand Down

0 comments on commit f217de0

Please sign in to comment.