Documentation ¶
Index ¶
Constants ¶
View Source
const ( WindowDuration = 5 * time.Second MaxVerifyWindows = 6 MaxVerifyDelay = MaxVerifyWindows * WindowDuration // 30 seconds MaxBuildWindows = 60 MaxBuildDelay = MaxBuildWindows * WindowDuration // 5 minutes MaxLookAheadSlots = 720 MaxLookAheadWindow = MaxLookAheadSlots * WindowDuration // 1 hour )
Proposer list constants
Variables ¶
View Source
var ( ErrAnyoneCanPropose = errors.New("anyone can propose") ErrUnexpectedSamplerFailure = errors.New("unexpected sampler failure") )
Functions ¶
func TimeToSlot ¶ added in v1.10.18
Types ¶
type Windower ¶
type Windower interface { // Proposers returns the proposer list for building a block at [blockHeight] // when the validator set is defined at [pChainHeight]. The list is returned // in order. The minimum delay of a validator is the index they appear times // [WindowDuration]. Proposers( ctx context.Context, blockHeight, pChainHeight uint64, maxWindows int, ) ([]ids.NodeID, error) // Delay returns the amount of time that [validatorID] must wait before // building a block at [blockHeight] when the validator set is defined at // [pChainHeight]. Delay( ctx context.Context, blockHeight, pChainHeight uint64, validatorID ids.NodeID, maxWindows int, ) (time.Duration, error) // In the Post-Durango windowing scheme, every validator active at // [pChainHeight] gets specific slots it can propose in (instead of being // able to propose from a given time on as it happens Pre-Durango). // [ExpectedProposer] calculates which nodeID is scheduled to propose a // block of height [blockHeight] at [slot]. // If no validators are currently available, [ErrAnyoneCanPropose] is // returned. ExpectedProposer( ctx context.Context, blockHeight, pChainHeight, slot uint64, ) (ids.NodeID, error) // In the Post-Durango windowing scheme, every validator active at // [pChainHeight] gets specific slots it can propose in (instead of being // able to propose from a given time on as it happens Pre-Durango). // [MinDelayForProposer] specifies how long [nodeID] needs to wait for its // slot to start. Delay is specified as starting from slot zero start. // (which is parent timestamp). For efficiency reasons, we cap the slot // search to [MaxLookAheadSlots]. // If no validators are currently available, [ErrAnyoneCanPropose] is // returned. MinDelayForProposer( ctx context.Context, blockHeight, pChainHeight uint64, nodeID ids.NodeID, startSlot uint64, ) (time.Duration, error) }
Directories ¶
Path | Synopsis |
---|---|
Package proposermock is a generated GoMock package.
|
Package proposermock is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.