Documentation
¶
Index ¶
- func NewPausableManager(manager *Manager) interfaces.PausableManager
- type Manager
- func (m *Manager) CalculateUptime(nodeID ids.NodeID, netID ids.ID) (time.Duration, time.Duration, error)
- func (m *Manager) CalculateUptimePercent(nodeID ids.NodeID, subnetID ids.ID) (float64, error)
- func (m *Manager) CalculateUptimePercentFrom(nodeID ids.NodeID, subnetID ids.ID, _ time.Time) (float64, error)
- func (m *Manager) Connect(nodeID ids.NodeID) error
- func (m *Manager) Disconnect(nodeID ids.NodeID) error
- func (m *Manager) EnsureExists(nodeID ids.NodeID)
- func (m *Manager) IsConnected(nodeID ids.NodeID) bool
- func (m *Manager) SetCalculator(_ ids.ID, _ uptime.Calculator) error
- func (m *Manager) StartTracking(nodeIDs []ids.NodeID) error
- func (m *Manager) StopTracking(nodeIDs []ids.NodeID) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewPausableManager ¶
func NewPausableManager(manager *Manager) interfaces.PausableManager
NewPausableManager takes a Manager and returns a PausableManager
Types ¶
type Manager ¶ added in v0.8.8
type Manager struct {
// contains filtered or unexported fields
}
Manager tracks validator uptime and connection status
func NewManager ¶ added in v0.8.8
NewManager creates a new uptime manager
func (*Manager) CalculateUptime ¶ added in v0.8.8
func (m *Manager) CalculateUptime(nodeID ids.NodeID, netID ids.ID) (time.Duration, time.Duration, error)
CalculateUptime returns the uptime duration and total tracking duration for a node
func (*Manager) CalculateUptimePercent ¶ added in v0.8.8
CalculateUptimePercent returns the uptime percentage for a node
func (*Manager) CalculateUptimePercentFrom ¶ added in v0.8.8
func (m *Manager) CalculateUptimePercentFrom(nodeID ids.NodeID, subnetID ids.ID, _ time.Time) (float64, error)
CalculateUptimePercentFrom returns the uptime percentage since a given time
func (*Manager) Connect ¶ added in v0.8.8
Connect marks a validator as connected and begins counting uptime if tracking
func (*Manager) Disconnect ¶ added in v0.8.8
Disconnect marks a validator as disconnected and finalizes uptime if tracking
func (*Manager) EnsureExists ¶ added in v0.8.8
EnsureExists ensures a nodeUptime entry exists for the given node This is used to track nodes even before they connect
func (*Manager) IsConnected ¶ added in v0.8.8
IsConnected returns whether a validator is connected
func (*Manager) SetCalculator ¶ added in v0.8.8
SetCalculator is a no-op for compatibility with uptime.Calculator interface
func (*Manager) StartTracking ¶ added in v0.8.8
StartTracking starts tracking uptime for the given set of validators Any time before StartTracking is credited as "optimistic" uptime