module Clock : sig ... end
Clock used to mark the progress of a timer.
module Flags : sig ... end
type t = private Unix.file_descr
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val to_file_descr : t -> Unix.file_descr
val create : (?flags:Flags.t -> Clock.t -> t) Core_kernel.Or_error.t
create ?flags clock
creates a new timer file descriptor. With Linux 2.6.26 or earlier, flags
must be empty.
val set_at : t -> Core_kernel.Time_ns.t -> unit
set_at t at
and set_after t span
set t
to fire once, at at
or after span
. set_after
treats span <= 0
as span = 1ns
; unlike the underlying system call, timerfd_settime
, it does not clear the timer if span = 0
. To clear a timerfd, use Timerfd.clear
.
set_repeating ?after t interval
sets t
to fire every interval
starting after after
(default is interval
), raising if interval <= 0
.
val set_after : t -> Core_kernel.Time_ns.Span.t -> unit
val set_repeating : ?after:Core_kernel.Time_ns.Span.t -> t -> Core_kernel.Time_ns.Span.t -> unit
val clear : t -> unit
clear t
causes t
to not fire anymore.
val get : t -> [ `Not_armed | `Fire_after of Core_kernel.Time_ns.Span.t | `Repeat of repeat ]
get t
returns the current state of the timer t
.