Timing_wheel.Alarm_precision
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
include Core_kernel.Equal.S with type t := t
val equal : t Core_kernel.Equal.equal
val of_span : Core_kernel.Time_ns.Span.t -> t
val of_span_floor_pow2_ns : Core_kernel.Time_ns.Span.t -> t
of_span_floor_pow2_ns span
returns the largest alarm precision less than or equal to span
that is a power of two number of nanoseconds.
val to_span : t -> Core_kernel.Time_ns.Span.t
val one_nanosecond : t
Constants that are the closest power of two number of nanoseconds to the stated span.
val about_one_day : t
~19.5 h
val about_one_microsecond : t
1024 us
val about_one_millisecond : t
~1.05 ms
val about_one_second : t
~1.07 s
mul t ~pow2
is t * 2^pow2
. pow2
may be negative, but mul
does not check for overflow or underflow.
div t ~pow2
is t / 2^pow2
. pow2
may be negative, but div
does not check for overflow or underflow.
module Unstable : sig ... end
The unstable bin and sexp format is that of Time_ns.Span
, with the caveat that deserialization implicitly floors the time span to the nearest power of two nanoseconds. This ensures that the alarm precision that is used is at least as precise than the alarm precision that is stated.