Module spin_sdk.wit.imports.wasi_clocks_system_clock_0_3_0
WASI System Clock is a clock API intended to let users query the current time. The clock is not necessarily monotonic as it may be reset.
It is intended to be portable at least between Unix-family platforms and Windows.
External references may be reset, so this clock is not necessarily monotonic, making it unsuitable for measuring elapsed time.
It is intended for reporting the current date and time for humans.
Functions
def get_resolution() ‑> int-
Expand source code
def get_resolution() -> int: """ Query the resolution of the clock. Returns the smallest duration of time that the implementation permits distinguishing. """ raise NotImplementedErrorQuery the resolution of the clock. Returns the smallest duration of time that the implementation permits distinguishing.
def now() ‑> Instant-
Expand source code
def now() -> Instant: """ Read the current value of the clock. This clock is not monotonic, therefore calling this function repeatedly will not necessarily produce a sequence of non-decreasing values. The nanoseconds field of the output is always less than 1000000000. """ raise NotImplementedErrorRead the current value of the clock.
This clock is not monotonic, therefore calling this function repeatedly will not necessarily produce a sequence of non-decreasing values.
The nanoseconds field of the output is always less than 1000000000.
Classes
class Instant (seconds: int, nanoseconds: int)-
Expand source code
@dataclass class Instant: """ An "instant", or "exact time", is a point in time without regard to any time zone: just the time since a particular external reference point, often called an "epoch". Here, the epoch is 1970-01-01T00:00:00Z, also known as [POSIX's Seconds Since the Epoch], also known as [Unix Time]. Note that even if the seconds field is negative, incrementing nanoseconds always represents moving forwards in time. For example, `{ -1 seconds, 999999999 nanoseconds }` represents the instant one nanosecond before the epoch. For more on various different ways to represent time, see https://tc39.es/proposal-temporal/docs/timezone.html [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16 [Unix Time]: https://en.wikipedia.org/wiki/Unix_time """ seconds: int nanoseconds: intAn "instant", or "exact time", is a point in time without regard to any time zone: just the time since a particular external reference point, often called an "epoch".
Here, the epoch is 1970-01-01T00:00:00Z, also known as POSIX's Seconds Since the Epoch, also known as Unix Time.
Note that even if the seconds field is negative, incrementing nanoseconds always represents moving forwards in time. For example,
{ -1 seconds, 999999999 nanoseconds }represents the instant one nanosecond before the epoch. For more on various different ways to represent time, see https://tc39.es/proposal-temporal/docs/timezone.htmlInstance variables
var nanoseconds : intvar seconds : int