Versions in this module Expand all Collapse all v0 v0.1.0 Apr 13, 2021 Changes in this version + var ErrAlreadyStarted = errors.New("service is already started") + var ErrAlreadyStopped = errors.New("service is already stopped") + var ErrCounterLocked = errors.New(...) + var ErrMustShutdown = errors.New("node cannot be promoted anymore, so it must be shut down") + var ErrThresholdExceeded = errors.New("threshold exceeded due to too many blocks missed in a row") + var LogLevels = []logutils.LogLevel + type BaseService struct + Logger *SyncLogger + func NewBaseService(logger *SyncLogger, name string, impl Service) *BaseService + func (bs *BaseService) IsRunning() bool + func (bs *BaseService) OnStart() error + func (bs *BaseService) OnStop() error + func (bs *BaseService) Quit() <-chan struct{} + func (bs *BaseService) Start() error + func (bs *BaseService) Stop() error + func (bs *BaseService) String() string + func (bs *BaseService) Wait() + type BaseSignCtrled struct + Logger *SyncLogger + func NewBaseSignCtrled(logger *SyncLogger, threshold int, rank int, impl SignCtrled) *BaseSignCtrled + func (bsc *BaseSignCtrled) GetCurrentHeight() int64 + func (bsc *BaseSignCtrled) GetMissedInARow() int + func (bsc *BaseSignCtrled) GetRank() int + func (bsc *BaseSignCtrled) GetThreshold() int + func (bsc *BaseSignCtrled) LockCounter() + func (bsc *BaseSignCtrled) Missed() error + func (bsc *BaseSignCtrled) OnMissedTooMany() + func (bsc *BaseSignCtrled) OnPromote() + func (bsc *BaseSignCtrled) Promote() error + func (bsc *BaseSignCtrled) Reset() + func (bsc *BaseSignCtrled) SetCurrentHeight(height int64) + func (bsc *BaseSignCtrled) SetRank(rank int) + func (bsc *BaseSignCtrled) UnlockCounter() + type Gauges struct + MissedInARowGauge prometheus.Gauge + RankGauge prometheus.Gauge + func RegisterGauges() Gauges + type Service interface + IsRunning func() bool + OnStart func() error + OnStop func() error + Quit func() <-chan struct{} + Start func() error + Stop func() error + String func() string + type SignCtrled interface + Missed func() error + OnMissedTooMany func() + OnPromote func() + Promote func() error + Reset func() + type SyncLogger struct + func NewSyncLogger(out io.Writer, prefix string, flag int) *SyncLogger + func (sl *SyncLogger) Debug(format string, v ...interface{}) + func (sl *SyncLogger) Error(format string, v ...interface{}) + func (sl *SyncLogger) Info(format string, v ...interface{}) + func (sl *SyncLogger) SetOutput(w io.Writer) + func (sl *SyncLogger) Warn(format string, v ...interface{})