Module Async_unix.Require_explicit_time_source
Deprecates functions that use wall-clock time, so that code must be explicit about what time source is used.
Idiomatic usage is:
open! Require_explicit_time_source
or, in an import.ml:
include Require_explicit_time_source
include Async_unix__.Require_explicit_time_source_intf.Require_explicit_time_source
We shadow Time_ns
and Scheduler
from Async_kernel
because the local versions have a different interface.
include module type of sig ... end with module Scheduler := Async_unix__.Require_explicit_time_source_intf.From_kernel.Scheduler with module Time_ns := Async_unix__.Require_explicit_time_source_intf.From_kernel.Time_ns
val at : Time_ns.t -> unit Async_kernel.Deferred.t
val after : Time_ns.Span.t -> unit Async_kernel.Deferred.t
val every : ?start:unit Async_kernel.Deferred.t -> ?stop:unit Async_kernel.Deferred.t -> ?continue_on_error:bool -> Time_ns.Span.t -> (unit -> unit) -> unit
val with_timeout : Time_ns.Span.t -> 'a Async_kernel.Deferred.t -> [ `Result of 'a | `Timeout ] Async_kernel.Deferred.t
module Scheduler : sig ... end
module Time : sig ... end
module Time_ns : sig ... end
module Clock : Async_kernel.Clock_ns.Clock_deprecated with module Time := Time