1
Fork 0

Implement jiffies.

This commit is contained in:
Juliusz Chroboczek 2020-06-03 20:18:06 +02:00
parent 7ae9a9ea69
commit dddecd8610
2 changed files with 15 additions and 1 deletions

View File

@ -22,6 +22,13 @@ func Microseconds() uint64 {
return Now(1000000)
}
// JiffiesPerSec is the LCM of 48000, 96000 and 65536
const JiffiesPerSec = 24576000
func Jiffies() uint64 {
return Now(JiffiesPerSec)
}
var ntpEpoch = time.Date(1900, 1, 1, 0, 0, 0, 0, time.UTC)
func NTPToTime(ntp uint64) time.Time {

View File

@ -24,7 +24,7 @@ func differs(a, b, delta uint64) bool {
return a - b >= delta
}
func TestMono(t *testing.T) {
func TestTime(t *testing.T) {
a := Now(48000)
time.Sleep(4 * time.Millisecond)
b := Now(48000) - a
@ -38,6 +38,13 @@ func TestMono(t *testing.T) {
if differs(d, 4000, 1000) {
t.Errorf("Expected %v, got %v", 4000, d)
}
c = Jiffies()
time.Sleep(time.Second * 100000 / JiffiesPerSec)
d = Jiffies() - c
if differs(d, 100000, 10000) {
t.Errorf("Expected %v, got %v", 4000, d)
}
}
func TestNTP(t *testing.T) {