gossip

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: BSD-3-Clause Imports: 8 Imported by: 2

Documentation

Overview

Package gossip implements a transaction pool that is using a gossip protocol to spread the transactions to other participants.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Pool

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

Pool is a transaction pool that is using gossip to send the transactions to the other participants.

- implements pool.Pool

func NewPool

func NewPool(gossiper gossip.Gossiper) (*Pool, error)

NewPool creates a new empty pool and starts to gossip incoming transaction.

func (*Pool) Add

func (p *Pool) Add(tx txn.Transaction) error

Add implements pool.Pool. It adds the transaction to the pool and gossips it to other participants.

func (*Pool) AddFilter

func (p *Pool) AddFilter(filter pool.Filter)

AddFilter implements pool.Pool. It adds the filter to the gatherer.

func (*Pool) Close

func (p *Pool) Close() error

Close stops the gossiper and terminate the routine that listens for rumors.

func (*Pool) Gather

func (p *Pool) Gather(ctx context.Context, cfg pool.Config) []txn.Transaction

Gather implements pool.Pool. It blocks until the pool has enough transactions according to the configuration and then returns the transactions.

func (*Pool) Remove

func (p *Pool) Remove(tx txn.Transaction) error

Remove implements pool.Pool. It removes the transaction from the pool.

func (*Pool) ResetStats

func (p *Pool) ResetStats()

ResetStats implements pool.Pool. It resets the transaction statistics.

func (*Pool) SetPlayers

func (p *Pool) SetPlayers(players mino.Players) error

SetPlayers implements pool.Pool. It sets the list of participants the transactions should be gossiped to.

func (*Pool) Stats

func (p *Pool) Stats() pool.Stats

Stats implements pool.Pool. It gets the transaction statistics.

Jump to

Keyboard shortcuts

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