engine

package
v0.0.0-...-9cf9cea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SubmitterEngine

type SubmitterEngine struct {
	HorizonClient horizonclient.ClientInterface
	preconditions.LedgerNumberTracker
	signing.SignatureService
	MaxBaseFee int
}

SubmitterEngine aggregates the dependencies that are shared between all Submitter instances, such as the Ledger number tracker.

func (*SubmitterEngine) Validate

func (se *SubmitterEngine) Validate() error

type TransactionProcessingLimiter

type TransactionProcessingLimiter struct {
	CurrNumChannelAccounts        int
	IndeterminateResponsesCounter int
	CounterLastUpdated            time.Time
	// contains filtered or unexported fields
}

TransactionProcessingLimiter is utilized by the manager and transaction worker to share metadata about and adjust the rate at which tss processes transactions based on responses from Horizon.

func NewTransactionProcessingLimiter

func NewTransactionProcessingLimiter(limit int) *TransactionProcessingLimiter

func (*TransactionProcessingLimiter) AdjustLimitIfNeeded

func (tpl *TransactionProcessingLimiter) AdjustLimitIfNeeded(hErr *utils.HorizonErrorWrapper)

AdjustLimitIfNeeded re-establishes the transaction processing limit based on how many transactions result in - `504`, 429`, `400` - tx_insufficient_fee` which are indicators for network congestion causing a cascade of further transaction failures and need for retries.

func (*TransactionProcessingLimiter) LimitValue

func (tpl *TransactionProcessingLimiter) LimitValue() int

LimitValue resets the necessary counter-related values when the current time is well outside the fixed window of the last refresh, and serves as a getter for the `limitValue` field.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL