Files
wazero/sys/clock.go
Crypt Keeper e188b646f7
Some checks failed
Release CLI / Pre-release build (push) Has been cancelled
Release CLI / Pre-release test (macos-12) (push) Has been cancelled
Release CLI / Pre-release test (ubuntu-22.04) (push) Has been cancelled
Release CLI / Pre-release test (windows-2022) (push) Has been cancelled
Release CLI / Release (push) Has been cancelled
godoc: clarifies UTC on clock sources (#1300)
This makes clock source configuration more clear about the timestamps
returned. Specifically, that realtime is UTC and the most common
consumers.

Signed-off-by: Adrian Cole <adrian@tetrate.io>
2023-03-29 09:28:52 +09:00

27 lines
1.1 KiB
Go

package sys
// ClockResolution is a positive granularity of clock precision in
// nanoseconds. For example, if the resolution is 1us, this returns 1000.
//
// Note: Some implementations return arbitrary resolution because there's
// no perfect alternative. For example, according to the source in time.go,
// windows monotonic resolution can be 15ms. See /RATIONALE.md.
type ClockResolution uint32
// Walltime returns the current unix/epoch time, seconds since midnight UTC
// 1 January 1970, with a nanosecond fraction.
type Walltime func() (sec int64, nsec int32)
// Nanotime returns nanoseconds since an arbitrary start point, used to measure
// elapsed time. This is sometimes referred to as a tick or monotonic time.
//
// Note: There are no constraints on the value return except that it
// increments. For example, -1 is a valid if the next value is >= 0.
type Nanotime func() int64
// Nanosleep puts the current goroutine to sleep for at least ns nanoseconds.
type Nanosleep func(ns int64)
// Osyield yields the processor, typically to implement spin-wait loops.
type Osyield func()