driver

package
v0.15.4 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommitListener added in v0.15.2

type CommitListener[V types.Hashable[H], H types.Hash, A types.Addr] interface {
	// Commit is called by Tendermint when a block has been decided on and can be committed to the DB.
	Commit(context.Context, types.Height, V)
	// Listen returns a channel that will receive committed blocks.
	// This is supposed to be used by the component that writes the committed blocks to the database.
	Listen() <-chan sync.CommittedBlock
}

CommitListener is a component that is used to notify different components that a new committed block is available.

func NewCommitListener added in v0.15.2

func NewCommitListener[V types.Hashable[H], H types.Hash, A types.Addr](
	log utils.Logger,
	proposalStore *proposal.ProposalStore[H],
	proposer proposer.Proposer[V, H],
	p2p p2p.P2P[V, H, A],
) CommitListener[V, H, A]

type Driver

type Driver[V types.Hashable[H], H types.Hash, A types.Addr] struct {
	// contains filtered or unexported fields
}

func New

func New[V types.Hashable[H], H types.Hash, A types.Addr](
	log utils.Logger,
	db db.TendermintDB[V, H, A],
	stateMachine tendermint.StateMachine[V, H, A],
	commitListener CommitListener[V, H, A],
	p2p p2p.P2P[V, H, A],
	getTimeout TimeoutFn,
) Driver[V, H, A]

func (*Driver[V, H, A]) Run added in v0.15.0

func (d *Driver[V, H, A]) Run(ctx context.Context) error

The Driver is responsible for listening to messages from the network and passing them into the stateMachine. The stateMachine processes these messages and returns a set of actions to be executed by the Driver. The Driver executes these actions (namely broadcasting messages and triggering scheduled timeouts).

type TimeoutFn added in v0.15.2

type TimeoutFn func(step types.Step, round types.Round) time.Duration

Jump to

Keyboard shortcuts

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