module Timerfd:sig
..end
module Clock:sig
..end
module Flags:sig
..end
typet = private
Core_unix.File_descr.t
val to_file_descr : t -> Core_unix.File_descr.t
val create : (?flags:Flags.t ->
Clock.t -> t)
Core_kernel.Std.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.Std.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.Std.Time_ns.Span.t -> unit
val set_repeating : ?after:Core_kernel.Std.Time_ns.Span.t ->
t -> Core_kernel.Std.Time_ns.Span.t -> unit
val clear : t -> unit
clear t
causes t
to not fire any more.type
repeat = {
|
fire_after : |
|
interval : |
val get : t ->
[ `Fire_after of Core_kernel.Std.Time_ns.Span.t
| `Not_armed
| `Repeat of repeat ]
get t
returns the current state of the timer t
.val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
val bin_t : t Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_t : t Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_t : t Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_t : t Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_t : t Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_t : t Core_kernel.Std.Bin_prot.Type_class.writer
create ?flags clock
creates a new timer file descriptor. With Linux 2.6.26 or
earlier flags
must be empty.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
.
clear t
causes t
to not fire any more.
get t
returns the current state of the timer t
.