Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Validators validators.Manager
Threshold int
MinimumFailingDuration time.Duration
Duration time.Duration
MaxPortion float64
PeerSummaryEnabled bool
}
Config defines the configuration for a benchlist
type Manager ¶
type Manager interface {
// RegisterQuery registers a sent query and returns whether the query is subject to benchlist
RegisterQuery(ids.ID, ids.ShortID, uint32, constants.MsgType) bool
// RegisterResponse registers the response to a query message
RegisterResponse(ids.ID, ids.ShortID, uint32)
// QueryFailed registers that a query did not receive a response within our synchrony bound
QueryFailed(ids.ID, ids.ShortID, uint32)
// RegisterChain registers a new chain with metrics under [namespac]
RegisterChain(*snow.Context, string) error
}
Manager provides an interface for a benchlist to register whether queries have been successful or unsuccessful and place validators with consistently failing queries on a benchlist to prevent waiting up to the full network timeout for their responses.
func NewManager ¶
NewManager returns a manager for chain-specific query benchlisting
func NewNoBenchlist ¶
func NewNoBenchlist() Manager
NewNoBenchlist returns an empty benchlist that will never stop any queries
type QueryBenchlist ¶
type QueryBenchlist interface {
// RegisterQuery registers a sent query and returns whether the query is subject to benchlist
RegisterQuery(validatorID ids.ShortID, requestID uint32, msgType constants.MsgType) bool
// RegisterResponse registers the response to a query message
RegisterResponse(validatorID ids.ShortID, requstID uint32)
// QueryFailed registers that a query did not receive a response within our synchrony bound
QueryFailed(validatorID ids.ShortID, requestID uint32)
}
QueryBenchlist ...
func NewQueryBenchlist ¶
func NewQueryBenchlist( validators validators.Set, ctx *snow.Context, threshold int, minimumFailingDuration, duration time.Duration, maxPortion float64, summaryEnabled bool, namespace string, ) (QueryBenchlist, error)
NewQueryBenchlist ...
Click to show internal directories.
Click to hide internal directories.