123456789101112131415161718192021222324252627282930 |
- package peer
- import (
- "sync"
- )
- type Latency interface {
- Value() uint64
- }
- type HasLatency interface {
- ConnectionLatency() Latency
- HandshakeLatency() Latency
- }
- type AverageLatency struct {
- access sync.Mutex
- value uint64
- }
- func (al *AverageLatency) Update(newValue uint64) {
- al.access.Lock()
- defer al.access.Unlock()
- al.value = (al.value + newValue*2) / 3
- }
- func (al *AverageLatency) Value() uint64 {
- return al.value
- }
|