Documentation ¶
Index ¶
- func NewFollower(log zerolog.Logger, committee hotstuff.Committee, headers storage.Headers, ...) (*hotstuff.FollowerLoop, error)
- func NewParticipant(log zerolog.Logger, notifier hotstuff.Consumer, metrics module.HotstuffMetrics, ...) (*hotstuff.EventLoop, error)
- type Option
- func WithBlockRateDelay(delay time.Duration) Option
- func WithInitialTimeout(timeout time.Duration) Option
- func WithMinTimeout(timeout time.Duration) Option
- func WithTimeoutDecreaseFactor(factor float64) Option
- func WithTimeoutIncreaseFactor(factor float64) Option
- func WithVoteAggregationTimeoutFraction(fraction float64) Option
- type ParticipantConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFollower ¶
func NewFollower(log zerolog.Logger, committee hotstuff.Committee, headers storage.Headers, updater module.Finalizer, verifier hotstuff.Verifier, notifier hotstuff.FinalizationConsumer, rootHeader *flow.Header, rootQC *flow.QuorumCertificate, finalized *flow.Header, pending []*flow.Header) (*hotstuff.FollowerLoop, error)
func NewParticipant ¶
func NewParticipant( log zerolog.Logger, notifier hotstuff.Consumer, metrics module.HotstuffMetrics, headers storage.Headers, committee hotstuff.Committee, builder module.Builder, updater module.Finalizer, persist hotstuff.Persister, signer hotstuff.SignerVerifier, communicator hotstuff.Communicator, rootHeader *flow.Header, rootQC *flow.QuorumCertificate, finalized *flow.Header, pending []*flow.Header, options ...Option, ) (*hotstuff.EventLoop, error)
NewParticipant initialize the EventLoop instance and recover the forks' state with all pending block
Types ¶
type Option ¶
type Option func(*ParticipantConfig)
func WithBlockRateDelay ¶
func WithInitialTimeout ¶
func WithMinTimeout ¶
type ParticipantConfig ¶
type ParticipantConfig struct { TimeoutInitial time.Duration // the initial timeout for the pacemaker TimeoutMinimum time.Duration // the minimum timeout for the pacemaker TimeoutAggregationFraction float64 // the percentage part of the timeout period reserved for vote aggregation TimeoutIncreaseFactor float64 // the factor at which the timeout grows when timeouts occur TimeoutDecreaseFactor float64 // the factor at which the timeout grows when timeouts occur BlockRateDelay time.Duration // a delay to broadcast block proposal in order to control the block production rate }
Click to show internal directories.
Click to hide internal directories.