Module Incr.Clock

val sexp_of_t : t -> Sexplib0.Sexp.t
val default_timing_wheel_config : Timing_wheel.Config.t
val get_default_timing_wheel_config : unit -> Timing_wheel.Config.t
val create : ?timing_wheel_config:Timing_wheel.Config.t -> start:Core.Int63.t -> unit -> t
val alarm_precision : t -> Core.Time_ns.Span.t
val timing_wheel_length : t -> int
val now : t -> Core.Int63.t
val watch_now : t -> Core.Int63.t t
val advance_clock : t -> to_:Core.Int63.t -> unit
val advance_clock_by : t -> Core.Time_ns.Span.t -> unit
val at_intervals : t -> Core.Time_ns.Span.t -> unit t
val step_function : t -> init:'a -> (Core.Int63.t * 'a) list -> 'a t
val incremental_step_function : t -> 'a Step_function.t t -> 'a t
val snapshot : t -> 'a t -> at:Core.Int63.t -> before:'a -> 'a t Core.Or_error.t