Module Linux_ext.Timerfd
module Clock : sig ... end
Clock used to mark the progress of a timer.
module Flags : sig ... end
type t
= private Core.Unix.File_descr.t
val compare : t -> t -> int
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val to_file_descr : t -> Core.Unix.File_descr.t
val create : (?flags:Flags.t -> Clock.t -> t) Core.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.Time_ns.t -> unit
set_at t at
andset_after t span
sett
to fire once, atat
or afterspan
.set_after
treatsspan <= 0
asspan = 1ns
; unlike the underlying system call,timerfd_settime
, it does not clear the timer ifspan = 0
. To clear a timerfd, useTimerfd.clear
.set_repeating ?after t interval
setst
to fire everyinterval
starting afterafter
(default isinterval
), raising ifinterval <= 0
.
val set_after : t -> Core.Time_ns.Span.t -> unit
val set_repeating : ?after:Core.Time_ns.Span.t -> t -> Core.Time_ns.Span.t -> unit
val clear : t -> unit
clear t
causest
to not fire anymore.
type repeat
=
{
fire_after : Core.Time_ns.Span.t;
interval : Core.Time_ns.Span.t;
}
val get : t -> [ `Not_armed | `Fire_after of Core.Time_ns.Span.t | `Repeat of repeat ]
get t
returns the current state of the timert
.