Skip to content

Commit 559c267

Browse files
committed
Move TxDecisionPolicy to MiniProtocolParamenters
1 parent 01c9085 commit 559c267

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{-# LANGUAGE CPP #-}
21
{-# LANGUAGE BangPatterns #-}
32
{-# LANGUAGE BlockArguments #-}
3+
{-# LANGUAGE CPP #-}
44
{-# LANGUAGE DeriveGeneric #-}
55
{-# LANGUAGE FlexibleContexts #-}
66
{-# LANGUAGE FlexibleInstances #-}

ouroboros-network/src/Ouroboros/Network/NodeToNode.hs

+9-7
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ import Ouroboros.Network.Subscription.Worker (LocalAddresses (..),
154154
SubscriberError)
155155
import Ouroboros.Network.Tracers
156156
import Ouroboros.Network.TxSubmission.Inbound qualified as TxInbound
157-
import Ouroboros.Network.TxSubmission.Inbound.Policy (max_TX_SIZE)
157+
import Ouroboros.Network.TxSubmission.Inbound.Policy (TxDecisionPolicy (..),
158+
defaultTxDecisionPolicy, max_TX_SIZE)
158159
import Ouroboros.Network.TxSubmission.Outbound qualified as TxOutbound
159160
import Ouroboros.Network.Util.ShowProxy (ShowProxy, showProxy)
160161

@@ -212,17 +213,16 @@ data MiniProtocolParameters = MiniProtocolParameters {
212213
blockFetchPipeliningMax :: !Word16,
213214
-- ^ maximal number of pipelined messages in 'block-fetch' mini-protocol.
214215

215-
txSubmissionMaxUnacked :: !NumTxIdsToAck
216-
-- ^ maximal number of unacked tx (pipelining is bounded by twice this
217-
-- number)
216+
txDecisionPolicy :: !TxDecisionPolicy
217+
-- ^ tx submission protocol decision logic parameters
218218
}
219219

220220
defaultMiniProtocolParameters :: MiniProtocolParameters
221221
defaultMiniProtocolParameters = MiniProtocolParameters {
222222
chainSyncPipeliningLowMark = 200
223223
, chainSyncPipeliningHighMark = 300
224224
, blockFetchPipeliningMax = 100
225-
, txSubmissionMaxUnacked = 10
225+
, txDecisionPolicy = defaultTxDecisionPolicy
226226
}
227227

228228
-- | Make an 'OuroborosApplication' for the bundle of mini-protocols that
@@ -346,7 +346,9 @@ blockFetchProtocolLimits MiniProtocolParameters { blockFetchPipeliningMax } = Mi
346346
max (10 * 2_097_154 :: Int) (fromIntegral blockFetchPipeliningMax * 90_112)
347347
}
348348

349-
txSubmissionProtocolLimits MiniProtocolParameters { txSubmissionMaxUnacked } = MiniProtocolLimits {
349+
txSubmissionProtocolLimits MiniProtocolParameters
350+
{ txDecisionPolicy = TxDecisionPolicy { maxUnacknowledgedTxIds }
351+
} = MiniProtocolLimits {
350352
-- tx-submission server can pipeline both 'MsgRequestTxIds' and
351353
-- 'MsgRequestTx'. This means that there can be many
352354
-- 'MsgReplyTxIds', 'MsgReplyTxs' messages in an inbound queue (their
@@ -409,7 +411,7 @@ txSubmissionProtocolLimits MiniProtocolParameters { txSubmissionMaxUnacked } = M
409411
-- 10% as a safety margin.
410412
--
411413
maximumIngressQueue = addSafetyMargin $
412-
fromIntegral txSubmissionMaxUnacked * (44 + fromIntegral @SizeInBytes @Int max_TX_SIZE)
414+
fromIntegral maxUnacknowledgedTxIds * (44 + fromIntegral @SizeInBytes @Int max_TX_SIZE)
413415
}
414416

415417
keepAliveProtocolLimits _ =

ouroboros-network/src/Ouroboros/Network/TxSubmission/Inbound/Policy.hs

-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ defaultTxDecisionPolicy =
5555
TxDecisionPolicy {
5656
maxNumTxIdsToRequest = 3,
5757
maxUnacknowledgedTxIds = 10, -- must be the same as txSubmissionMaxUnacked
58-
-- TODO: we should take it `MiniProtocolParameters`.
5958
txsSizeInflightPerPeer = max_TX_SIZE * 6,
6059
maxTxsSizeInflight = max_TX_SIZE * 20,
6160
txInflightMultiplicity = 1

0 commit comments

Comments
 (0)