diff options
Diffstat (limited to 'internal/tai64n')
-rw-r--r-- | internal/tai64n/tai64n.go | 26 | ||||
-rw-r--r-- | internal/tai64n/tai64n_test.go | 21 |
2 files changed, 0 insertions, 47 deletions
diff --git a/internal/tai64n/tai64n.go b/internal/tai64n/tai64n.go deleted file mode 100644 index da5257c..0000000 --- a/internal/tai64n/tai64n.go +++ /dev/null @@ -1,26 +0,0 @@ -package tai64n - -import ( - "bytes" - "encoding/binary" - "time" -) - -const TimestampSize = 12 -const base = uint64(4611686018427387914) - -type Timestamp [TimestampSize]byte - -func Now() Timestamp { - var tai64n Timestamp - now := time.Now() - secs := base + uint64(now.Unix()) - nano := uint32(now.UnixNano()) - binary.BigEndian.PutUint64(tai64n[:], secs) - binary.BigEndian.PutUint32(tai64n[8:], nano) - return tai64n -} - -func (t1 Timestamp) After(t2 Timestamp) bool { - return bytes.Compare(t1[:], t2[:]) > 0 -} diff --git a/internal/tai64n/tai64n_test.go b/internal/tai64n/tai64n_test.go deleted file mode 100644 index 389b65c..0000000 --- a/internal/tai64n/tai64n_test.go +++ /dev/null @@ -1,21 +0,0 @@ -package tai64n - -import ( - "testing" - "time" -) - -/* Testing the essential property of the timestamp - * as used by WireGuard. - */ -func TestMonotonic(t *testing.T) { - old := Now() - for i := 0; i < 10000; i++ { - time.Sleep(time.Nanosecond) - next := Now() - if !next.After(old) { - t.Error("TAI64N, not monotonically increasing on nano-second scale") - } - old = next - } -} |