conductor

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2024 License: MIT, MIT Imports: 2 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NoOpConductor

type NoOpConductor struct{}

NoOpConductor is a no-op conductor that assumes this node is the leader sequencer.

func (*NoOpConductor) Close

func (c *NoOpConductor) Close()

Close closes the conductor client.

func (*NoOpConductor) CommitUnsafePayload

func (c *NoOpConductor) CommitUnsafePayload(ctx context.Context, payload *eth.ExecutionPayloadEnvelope) error

CommitUnsafePayload commits an unsafe payload to the conductor log.

func (*NoOpConductor) Leader

func (c *NoOpConductor) Leader(ctx context.Context) (bool, error)

Leader returns true if this node is the leader sequencer. NoOpConductor always returns true.

func (*NoOpConductor) OverrideLeader added in v1.8.0

func (c *NoOpConductor) OverrideLeader(ctx context.Context) error

OverrideLeader implements SequencerConductor.

type SequencerConductor

type SequencerConductor interface {
	// Leader returns true if this node is the leader sequencer.
	Leader(ctx context.Context) (bool, error)
	// CommitUnsafePayload commits an unsafe payload to the conductor FSM.
	CommitUnsafePayload(ctx context.Context, payload *eth.ExecutionPayloadEnvelope) error
	// OverrideLeader forces current node to be considered leader and be able to start sequencing during disaster situations in HA mode.
	OverrideLeader(ctx context.Context) error
	// Close closes the conductor client.
	Close()
}

SequencerConductor is an interface for the driver to communicate with the sequencer conductor. It is used to determine if the current node is the active sequencer, and to commit unsafe payloads to the conductor log.

Jump to

Keyboard shortcuts

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