@@ -154,7 +154,8 @@ import Ouroboros.Network.Subscription.Worker (LocalAddresses (..),
154
154
SubscriberError )
155
155
import Ouroboros.Network.Tracers
156
156
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 )
158
159
import Ouroboros.Network.TxSubmission.Outbound qualified as TxOutbound
159
160
import Ouroboros.Network.Util.ShowProxy (ShowProxy , showProxy )
160
161
@@ -212,17 +213,16 @@ data MiniProtocolParameters = MiniProtocolParameters {
212
213
blockFetchPipeliningMax :: ! Word16 ,
213
214
-- ^ maximal number of pipelined messages in 'block-fetch' mini-protocol.
214
215
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
218
218
}
219
219
220
220
defaultMiniProtocolParameters :: MiniProtocolParameters
221
221
defaultMiniProtocolParameters = MiniProtocolParameters {
222
222
chainSyncPipeliningLowMark = 200
223
223
, chainSyncPipeliningHighMark = 300
224
224
, blockFetchPipeliningMax = 100
225
- , txSubmissionMaxUnacked = 10
225
+ , txDecisionPolicy = defaultTxDecisionPolicy
226
226
}
227
227
228
228
-- | Make an 'OuroborosApplication' for the bundle of mini-protocols that
@@ -346,7 +346,9 @@ blockFetchProtocolLimits MiniProtocolParameters { blockFetchPipeliningMax } = Mi
346
346
max (10 * 2_097_154 :: Int ) (fromIntegral blockFetchPipeliningMax * 90_112 )
347
347
}
348
348
349
- txSubmissionProtocolLimits MiniProtocolParameters { txSubmissionMaxUnacked } = MiniProtocolLimits {
349
+ txSubmissionProtocolLimits MiniProtocolParameters
350
+ { txDecisionPolicy = TxDecisionPolicy { maxUnacknowledgedTxIds }
351
+ } = MiniProtocolLimits {
350
352
-- tx-submission server can pipeline both 'MsgRequestTxIds' and
351
353
-- 'MsgRequestTx'. This means that there can be many
352
354
-- 'MsgReplyTxIds', 'MsgReplyTxs' messages in an inbound queue (their
@@ -409,7 +411,7 @@ txSubmissionProtocolLimits MiniProtocolParameters { txSubmissionMaxUnacked } = M
409
411
-- 10% as a safety margin.
410
412
--
411
413
maximumIngressQueue = addSafetyMargin $
412
- fromIntegral txSubmissionMaxUnacked * (44 + fromIntegral @ SizeInBytes @ Int max_TX_SIZE)
414
+ fromIntegral maxUnacknowledgedTxIds * (44 + fromIntegral @ SizeInBytes @ Int max_TX_SIZE)
413
415
}
414
416
415
417
keepAliveProtocolLimits _ =
0 commit comments