mirror of
https://github.com/grassrootseconomics/cic-chain-events.git
synced 2024-11-30 02:26: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()
|
||
|
}
|