txpool

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2022 License: LGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsBadTx

func IsBadTx(err error) bool

IsBadTx returns whether the given error indicates that tx is bad.

func IsTxRejected

func IsTxRejected(err error) bool

IsTxRejected returns whether the given error indicates tx is rejected.

func SetGlobTxPoolInst

func SetGlobTxPoolInst(pool *TxPool) bool

Types

type Options

type Options struct {
	Limit           int
	LimitPerAccount int
	MaxLifetime     time.Duration
}

Options options for tx pool.

type TxEvent

type TxEvent struct {
	Tx         *tx.Transaction
	Executable *bool
}

TxEvent will be posted when tx is added or status changed.

type TxPool

type TxPool struct {
	// contains filtered or unexported fields
}

TxPool maintains unprocessed transactions.

var (
	GlobTxPoolInst *TxPool
)

func GetGlobTxPoolInst

func GetGlobTxPoolInst() *TxPool

func New

func New(chain *chain.Chain, stateCreator *state.Creator, options Options) *TxPool

New create a new TxPool instance. Shutdown is required to be called at end.

func (*TxPool) Add

func (p *TxPool) Add(newTx *tx.Transaction) error

Add add new tx into pool. It's not assumed as an error if the tx to be added is already in the pool,

func (*TxPool) Close

func (p *TxPool) Close()

Close cleanup inner go routines.

func (*TxPool) Dump

func (p *TxPool) Dump() tx.Transactions

Dump dumps all txs in the pool.

func (*TxPool) Executables

func (p *TxPool) Executables() tx.Transactions

Executables returns executable txs.

func (*TxPool) Fill

func (p *TxPool) Fill(txs tx.Transactions)

Fill fills txs into pool.

func (*TxPool) Get added in v1.2.0

func (p *TxPool) Get(id meter.Bytes32) *tx.Transaction

func (*TxPool) Remove

func (p *TxPool) Remove(txID meter.Bytes32) bool

Remove removes tx from pool by its ID.

func (*TxPool) StrictlyAdd

func (p *TxPool) StrictlyAdd(newTx *tx.Transaction) error

StrictlyAdd add new tx into pool. A rejection error will be returned, if tx is not executable at this time.

func (*TxPool) SubscribeTxEvent

func (p *TxPool) SubscribeTxEvent(ch chan *TxEvent) event.Subscription

SubscribeTxEvent receivers will receive a tx

Jump to

Keyboard shortcuts

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