Module CCTimer

Event timer

Used to be part of CCFuture

type t

A scheduler for events. It runs in its own thread.

val create : unit ‑> t

A new timer.

val set_exn_handler : t ‑> (exn ‑> unit) ‑> unit

set_exn_handler timer f registers f so that any exception raised by a task scheduled in timer is given to f.

exception Stopped
val after : t ‑> float ‑> f:(unit ‑> _) ‑> unit

Call the callback f after the given number of seconds.

val at : t ‑> float ‑> f:(unit ‑> _) ‑> unit

Create a future that evaluates to () at the given Unix timestamp.

exception ExitEvery
val every : ?⁠delay:float ‑> t ‑> float ‑> f:(unit ‑> _) ‑> unit

every timer n ~f calls f () every n seconds. f() can raise ExitEvery to stop the cycle.

val stop : t ‑> unit

Stop the given timer, cancelling pending tasks. Idempotent. From now on, calling most other operations on the timer will raise Stopped.

val active : t ‑> bool

Return true until stop t has been called.