Module Eio.Time

Clocks, time, sleeping and timeouts.

type 'a clock_ty = [
  1. | `Clock of 'a
]
type 'a clock_base = 'a Std.r constraint 'a = [> _ clock_ty ]
type 'a clock = [> float clock_ty ] as 'a Std.r
val now : _ clock -> float

now t is the current time since 00:00:00 GMT, Jan. 1, 1970 - in seconds - according to t.

val sleep_until : _ clock -> float -> unit

sleep_until t time waits until the given time is reached.

val sleep : _ clock -> float -> unit

sleep t d waits for d seconds.

module Mono : sig ... end

Monotonic clocks.

Timeouts

exception Timeout
val with_timeout : _ clock -> float -> (unit -> ('a, 'e) result) -> ('a, [> `Timeout ] as 'e) result

with_timeout clock d fn runs fn () but cancels it after d seconds.

val with_timeout_exn : _ clock -> float -> (unit -> 'a) -> 'a

with_timeout_exn clock d fn runs fn () but cancels it after d seconds, raising exception Timeout.

module Timeout : sig ... end

Timeout values.

module Pi : sig ... end