rippled
|
Structure used to customize TxQ behavior. More...
Public Member Functions | |
Setup ()=default | |
Default constructor. More... | |
Public Attributes | |
std::size_t | ledgersInQueue = 20 |
Number of ledgers' worth of transactions to allow in the queue. More... | |
std::size_t | queueSizeMin = 2000 |
The smallest limit the queue is allowed. More... | |
std::uint32_t | retrySequencePercent = 25 |
Extra percentage required on the fee level of a queued transaction to replace that transaction with another with the same SeqProxy. More... | |
FeeLevel64 | minimumEscalationMultiplier = baseLevel * 500 |
Minimum value of the escalation multiplier, regardless of the prior ledger's median fee level. More... | |
std::uint32_t | minimumTxnInLedger = 32 |
Minimum number of transactions to allow into the ledger before escalation, regardless of the prior ledger's size. More... | |
std::uint32_t | minimumTxnInLedgerSA = 1000 |
Like minimumTxnInLedger for standalone mode. More... | |
std::uint32_t | targetTxnInLedger = 256 |
Number of transactions per ledger that fee escalation "works
towards". More... | |
std::optional< std::uint32_t > | maximumTxnInLedger |
Optional maximum allowed value of transactions per ledger before fee escalation kicks in. More... | |
std::uint32_t | normalConsensusIncreasePercent = 20 |
When the ledger has more transactions than "expected", and performance is humming along nicely, the expected ledger size is updated to the previous ledger size plus this percentage. More... | |
std::uint32_t | slowConsensusDecreasePercent = 50 |
When consensus takes longer than appropriate, the expected ledger size is updated to the lesser of the previous ledger size and the current expected ledger size minus this percentage. More... | |
std::uint32_t | maximumTxnPerAccount = 10 |
Maximum number of transactions that can be queued by one account. More... | |
std::uint32_t | minimumLastLedgerBuffer = 2 |
Minimum difference between the current ledger sequence and a transaction's LastLedgerSequence for the transaction to be queueable. More... | |
bool | standAlone = false |
Use standalone mode behavior. More... | |
|
explicitdefault |
Default constructor.
std::size_t ripple::TxQ::Setup::ledgersInQueue = 20 |
Number of ledgers' worth of transactions to allow in the queue.
For example, if the last ledger had 150 transactions, then up to 3000 transactions can be queued.
Can be overridden by queueSizeMin
std::size_t ripple::TxQ::Setup::queueSizeMin = 2000 |
std::uint32_t ripple::TxQ::Setup::retrySequencePercent = 25 |
Extra percentage required on the fee level of a queued transaction to replace that transaction with another with the same SeqProxy.
If queued transaction for account "Alice" with seq 45 has a fee level of 512, a replacement transaction for "Alice" with seq 45 must have a fee level of at least 512 * (1 + 0.25) = 640 to be considered.
FeeLevel64 ripple::TxQ::Setup::minimumEscalationMultiplier = baseLevel * 500 |
std::uint32_t ripple::TxQ::Setup::minimumTxnInLedger = 32 |
std::uint32_t ripple::TxQ::Setup::minimumTxnInLedgerSA = 1000 |
Like minimumTxnInLedger for standalone mode.
Primarily so that tests don't need to worry about queuing.
std::uint32_t ripple::TxQ::Setup::targetTxnInLedger = 256 |
std::optional<std::uint32_t> ripple::TxQ::Setup::maximumTxnInLedger |
Optional maximum allowed value of transactions per ledger before fee escalation kicks in.
By default, the maximum is an emergent property of network, validator, and consensus performance. This setting can override that behavior to prevent fee escalation from allowing more than maximumTxnInLedger
"cheap" transactions into the open ledger.
std::uint32_t ripple::TxQ::Setup::normalConsensusIncreasePercent = 20 |
When the ledger has more transactions than "expected", and performance is humming along nicely, the expected ledger size is updated to the previous ledger size plus this percentage.
Calculations are subject to configured limits, and the recent transactions counts buffer.
Example: If the "expectation" is for 500 transactions, and a ledger is validated normally with 501 transactions, then the expected ledger size will be updated to 601.
std::uint32_t ripple::TxQ::Setup::slowConsensusDecreasePercent = 50 |
When consensus takes longer than appropriate, the expected ledger size is updated to the lesser of the previous ledger size and the current expected ledger size minus this percentage.
Calculations are subject to configured limits.
Example: If the ledger has 15000 transactions, and it is validated slowly, then the expected ledger size will be updated to 7500. If there are only 6 transactions, the expected ledger size will be updated to 5, assuming the default minimum.
std::uint32_t ripple::TxQ::Setup::maximumTxnPerAccount = 10 |
std::uint32_t ripple::TxQ::Setup::minimumLastLedgerBuffer = 2 |