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 committed Aug 20, 2024
1 parent e5b3c7c commit 5c304e5
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,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 @@ -70,7 +70,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 @@ -340,7 +340,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
13 changes: 8 additions & 5 deletions ouroboros-network/src/Ouroboros/Network/PeerSelection/Churn.hs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,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.Diffusion.Policies (churnEstablishConnectionTimeout,
closeConnectionTimeout, deactivateTimeout)
import Ouroboros.Network.PeerSelection.Bootstrap (UseBootstrapPeers (..))
Expand Down Expand Up @@ -68,7 +69,7 @@ peerChurnGovernor :: forall m peeraddr.
-> PeerMetrics m peeraddr
-> StrictTVar m ChurnMode
-> StdGen
-> STM m FetchMode
-> STM m GenesisFetchMode
-> PeerSelectionTargets
-- ^ base targets; set in a configuration file
-> StrictTVar m PeerSelectionTargets
Expand Down Expand Up @@ -109,8 +110,9 @@ peerChurnGovernor tracer churnTracer
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 @@ -532,8 +534,9 @@ peerChurnGovernor tracer churnTracer
fuzzyDelay rng execTime = do
mode <- atomically getFetchMode
case mode of
FetchModeDeadline -> longDelay rng execTime
FetchModeBulkSync -> shortDelay rng execTime
PraosFetchMode FetchModeDeadline -> longDelay rng execTime
PraosFetchMode FetchModeBulkSync -> shortDelay rng execTime
FetchModeGenesis -> shortDelay rng execTime


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

0 comments on commit 5c304e5

Please sign in to comment.