Documentation
¶
Overview ¶
Package uptime provides uptime calculation functionality
Index ¶
- type Calculator
- type LockedCalculator
- type NoOpCalculator
- func (NoOpCalculator) CalculateUptime(ids.NodeID, ids.ID) (time.Duration, time.Duration, error)
- func (NoOpCalculator) CalculateUptimePercent(ids.NodeID, ids.ID) (float64, error)
- func (NoOpCalculator) CalculateUptimePercentFrom(ids.NodeID, ids.ID, time.Time) (float64, error)
- func (NoOpCalculator) SetCalculator(ids.ID, Calculator) error
- type State
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Calculator ¶
type Calculator interface {
CalculateUptime(nodeID ids.NodeID, subnetID ids.ID) (time.Duration, time.Duration, error)
CalculateUptimePercent(nodeID ids.NodeID, subnetID ids.ID) (float64, error)
CalculateUptimePercentFrom(nodeID ids.NodeID, subnetID ids.ID, from time.Time) (float64, error)
SetCalculator(subnetID ids.ID, calc Calculator) error
}
Calculator calculates uptime
type LockedCalculator ¶
type LockedCalculator interface {
Calculator
}
LockedCalculator is a wrapper for a Calculator that ensures thread-safety
func NewLockedCalculator ¶
func NewLockedCalculator() LockedCalculator
NewLockedCalculator returns a new LockedCalculator
type NoOpCalculator ¶
type NoOpCalculator struct{}
NoOpCalculator is a no-op implementation of Calculator
func (NoOpCalculator) CalculateUptime ¶
CalculateUptime always returns 100% uptime
func (NoOpCalculator) CalculateUptimePercent ¶
CalculateUptimePercent always returns 100% uptime
func (NoOpCalculator) CalculateUptimePercentFrom ¶
CalculateUptimePercentFrom always returns 100% uptime
func (NoOpCalculator) SetCalculator ¶
func (NoOpCalculator) SetCalculator(ids.ID, Calculator) error
SetCalculator is a no-op
type State ¶
type State interface {
// GetUptime returns the uptime for a validator
GetUptime(nodeID ids.NodeID, netID ids.ID) (time.Duration, time.Duration, error)
// SetUptime sets the uptime for a validator
SetUptime(nodeID ids.NodeID, netID ids.ID, uptime time.Duration, lastUpdated time.Time) error
// GetStartTime returns when the validator started
GetStartTime(nodeID ids.NodeID, netID ids.ID) (time.Time, error)
}
State tracks validator uptime
Directories
¶
| Path | Synopsis |
|---|---|
|
Package uptimemock provides mock implementations for uptime tracking
|
Package uptimemock provides mock implementations for uptime tracking |
Click to show internal directories.
Click to hide internal directories.