Documentation
¶
Index ¶
- Constants
- type Block
- type BlockStatus
- type CGOConsensus
- func (c *CGOConsensus) Add(block Block) error
- func (c *CGOConsensus) Finalized() bool
- func (c *CGOConsensus) GetPreference() ids.ID
- func (c *CGOConsensus) HealthCheck() error
- func (c *CGOConsensus) IsAccepted(blockID ids.ID) bool
- func (c *CGOConsensus) Parameters() ConsensusParams
- func (c *CGOConsensus) RecordPoll(blockID ids.ID, accept bool) error
- type Consensus
- type ConsensusFactory
- type ConsensusParams
- type Error
- type Fx
- type Handler
- type MessageType
- type SendConfig
- type Sender
- type Stats
Constants ¶
const (
PendingTxs = common.PendingTxs
)
Message constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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 SendConfig ¶
type SendConfig = warp.SendConfig
SendConfig configures message sending parameters.
Source Files
¶
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 |