Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrTransactionExists = errors.New("transaction is already in pool")
ErrTransactionExists is returned when trying to add a transaction to the pool that already exists
Functions ¶
This section is empty.
Types ¶
type PriorityQueue ¶
type PriorityQueue struct {
// contains filtered or unexported fields
}
PriorityQueue implements a priority queue using a double linked list
func NewPriorityQueue ¶
func NewPriorityQueue() *PriorityQueue
NewPriorityQueue creates new instance of PriorityQueue
func (*PriorityQueue) Peek ¶
func (q *PriorityQueue) Peek() *ValidTransaction
Peek returns the next item without removing it from the queue
func (*PriorityQueue) Pending ¶
func (q *PriorityQueue) Pending() []*ValidTransaction
Pending returns all the transactions currently in the queue
func (*PriorityQueue) Pop ¶
func (q *PriorityQueue) Pop() *ValidTransaction
Pop removes the head of the queue and returns it
func (*PriorityQueue) Push ¶
func (q *PriorityQueue) Push(vt *ValidTransaction) (common.Hash, error)
Push traverses the list and places a valid transaction with priority p directly before the first node with priority p-1. If there are other nodes with priority p, the new node is placed behind them.
func (*PriorityQueue) RemoveExtrinsic ¶
func (q *PriorityQueue) RemoveExtrinsic(ext types.Extrinsic)
RemoveExtrinsic removes an extrinsic from the queue
type ValidTransaction ¶
ValidTransaction struct
func NewValidTransaction ¶
func NewValidTransaction(extrinsic types.Extrinsic, validity *Validity) *ValidTransaction
NewValidTransaction returns ValidTransaction
func (*ValidTransaction) Encode ¶
func (vt *ValidTransaction) Encode() ([]byte, error)
Encode SCALE encodes the transaction