sig
type t
type event
type interval = private
INone
| INormal of Span.t
| IRandom of Span.t * float
val create : ?min_size:int -> unit -> Timer.t
val size : Timer.t -> int
val deactivate : Timer.t -> unit
val add :
Timer.t ->
(Timer.event -> Time.t -> unit) ->
?randomize:float -> ?interval:Span.t -> Span.t -> Timer.event
val add_abs :
Timer.t ->
(Timer.event -> Time.t -> unit) ->
?randomize:float -> ?interval:Span.t -> Time.t -> Timer.event
val remove : Timer.event -> unit
val reschedule :
Timer.event -> ?randomize:float -> ?interval:Span.t -> Span.t -> unit
val get_timer : Timer.event -> Timer.t
val get_event_time : Timer.event -> Time.t
val get_event_interval : Timer.event -> Timer.interval
val is_activated : Timer.t -> bool
end