core

package
v1.22.8 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2025 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PendingTxs = common.PendingTxs
)

Message constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AppError

type AppError = consensus_core.AppError

AppError represents an application error

type AppHandler

type AppHandler = consensus_core.AppHandler

AppHandler handles application messages

type AppSender deprecated

type AppSender = warp.Sender

Deprecated: Use Sender instead.

type Block

type Block interface {
	ID() ids.ID
	ParentID() ids.ID
	Height() uint64
	Timestamp() int64
	Bytes() []byte
	Verify(context.Context) error
	Accept(context.Context) error
	Reject(context.Context) error
}

Block interface for consensus

type BlockStatus

type BlockStatus uint8

BlockStatus represents block status

const (
	StatusUnknown BlockStatus = iota
	StatusProcessing
	StatusAccepted
	StatusRejected
)

type CGOConsensus

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

CGOConsensus is a CGO-based implementation of consensus For now, it's the same as the pure Go implementation

func NewCGOConsensus

func NewCGOConsensus(params ConsensusParams) (*CGOConsensus, error)

NewCGOConsensus creates a new CGO consensus engine

func (*CGOConsensus) Add

func (c *CGOConsensus) Add(block Block) error

Add adds a block to consensus

func (*CGOConsensus) Finalized

func (c *CGOConsensus) Finalized() bool

Finalized checks if consensus is finalized

func (*CGOConsensus) GetPreference

func (c *CGOConsensus) GetPreference() ids.ID

GetPreference returns the current preference

func (*CGOConsensus) HealthCheck

func (c *CGOConsensus) HealthCheck() error

HealthCheck performs a health check

func (*CGOConsensus) IsAccepted

func (c *CGOConsensus) IsAccepted(blockID ids.ID) bool

IsAccepted checks if a block is accepted

func (*CGOConsensus) Parameters

func (c *CGOConsensus) Parameters() ConsensusParams

Parameters returns consensus parameters

func (*CGOConsensus) RecordPoll

func (c *CGOConsensus) RecordPoll(blockID ids.ID, accept bool) error

RecordPoll records a poll result

type Consensus

type Consensus interface {
	Add(Block) error
	RecordPoll(ids.ID, bool) error
	IsAccepted(ids.ID) bool
	GetPreference() ids.ID
	Finalized() bool
	Parameters() ConsensusParams
	HealthCheck() error
}

Consensus interface

type ConsensusFactory

type ConsensusFactory struct{}

ConsensusFactory creates the appropriate consensus implementation This is the CGO version when CGO is enabled

func NewConsensusFactory

func NewConsensusFactory() *ConsensusFactory

NewConsensusFactory creates a new consensus factory

func (*ConsensusFactory) CreateConsensus

func (f *ConsensusFactory) CreateConsensus(params ConsensusParams) (Consensus, error)

CreateConsensus creates a consensus engine instance

type ConsensusParams

type ConsensusParams struct {
	K                     int
	AlphaPreference       int
	AlphaConfidence       int
	Beta                  int
	ConcurrentPolls       int
	OptimalProcessing     int
	MaxOutstandingItems   int
	MaxItemProcessingTime time.Duration
}

ConsensusParams defines consensus parameters

type FakeSender

type FakeSender = warp.FakeSender

FakeSender is the warp FakeSender for testing.

type Fx

type Fx struct {
	ID ids.ID
	Fx interface{}
}

Fx represents a feature extension

type MessageType

type MessageType = common.MessageType

MessageType represents the type of message

type Sender added in v1.22.7

type Sender = warp.Sender

Sender is the warp Sender interface.

type SenderTest

type SenderTest struct {
	FakeSender
}

SenderTest is a test implementation of Sender.

type Stats

type Stats struct {
	BlocksAccepted        uint64
	BlocksRejected        uint64
	VotesProcessed        uint64
	PollsCompleted        uint64
	AverageDecisionTimeMs float64
}

Stats represents consensus statistics

type WarpSender deprecated added in v1.22.6

type WarpSender = warp.Sender

Deprecated: Use Sender instead.

Directories

Path Synopsis
Package coremock provides mock implementations for core consensus
Package coremock provides mock implementations for core consensus
Package coretest provides test utilities for consensus engine core
Package coretest provides test utilities for consensus engine core

Jump to

Keyboard shortcuts

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