mirror of
https://github.com/grassrootseconomics/cic-chain-events.git
synced 2024-11-26 08:46:46 +01:00
29 lines
519 B
Go
29 lines
519 B
Go
package syncer
|
|
|
|
import (
|
|
"sync/atomic"
|
|
)
|
|
|
|
// Stats synchronize syncer values across the head and janitor.
|
|
// could also be used to expose Prom gauges
|
|
type Stats struct {
|
|
headCursor atomic.Uint64
|
|
lowerBound atomic.Uint64
|
|
}
|
|
|
|
func (s *Stats) UpdateHeadCursor(val uint64) {
|
|
s.headCursor.Store(val)
|
|
}
|
|
|
|
func (s *Stats) GetHeadCursor() uint64 {
|
|
return s.headCursor.Load()
|
|
}
|
|
|
|
func (s *Stats) UpdateLowerBound(val uint64) {
|
|
s.lowerBound.Store(val)
|
|
}
|
|
|
|
func (s *Stats) GetLowerBound() uint64 {
|
|
return s.lowerBound.Load()
|
|
}
|