Up
Module
Make
(
Time
:
Timing_wheel_intf.Timing_wheel_time
) (
Timing_wheel
:
Timing_wheel_intf.Timing_wheel
with
module
Time
:=
Time
)
Parameters
Time
:
Timing_wheel_intf.Timing_wheel_time
Timing_wheel
:
Timing_wheel_intf.Timing_wheel
with
module
Time
:=
Time
Signature
type
'a t = 'a
Timing_wheel.t
val
sexp_of_t : ('a ->
Sexplib.Sexp.t
) -> 'a
t
->
Sexplib.Sexp.t
type
'a timing_wheel = 'a
t
type
'a t_now = 'a
t
val
sexp_of_t_now : ('a ->
Sexplib.Sexp.t
) -> 'a
t_now
->
Sexplib.Sexp.t
module
Interval_num
: sig .. end
module
Alarm
: sig .. end
val
invariant : 'a
Invariant_intf.inv
-> 'a
t
Invariant_intf.inv
module
Level_bits
: sig .. end
module
Config
: sig .. end
val
create : config:
Config.t
-> start:
Time.t
-> 'a
t
val
alarm_precision : 'a
t
->
Time.Span.t
val
now : 'a
t
->
Time.t
val
start : 'a
t
->
Time.t
val
is_empty : 'a
t
-> bool
val
length : 'a
t
-> int
val
iter : 'a
t
-> f:('a
Alarm.t
-> unit) -> unit
val
interval_num : 'a
t
->
Time.t
->
Interval_num.t
val
now_interval_num : 'a
t
->
Interval_num.t
val
interval_num_start : 'a
t
->
Interval_num.t
->
Time.t
val
interval_start : 'a
t
->
Time.t
->
Time.t
val
advance_clock : 'a
t
-> to_:
Time.t
-> handle_fired:('a
Alarm.t
-> unit) -> unit
val
fire_past_alarms : 'a
t
-> handle_fired:('a
Alarm.t
-> unit) -> unit
val
alarm_upper_bound : 'a
t
->
Time.t
val
add : 'a
t
-> at:
Time.t
-> 'a -> 'a
Alarm.t
val
add_at_interval_num : 'a
t
-> at:
Interval_num.t
-> 'a -> 'a
Alarm.t
val
mem : 'a
t
-> 'a
Alarm.t
-> bool
val
remove : 'a
t
-> 'a
Alarm.t
-> unit
val
reschedule : 'a
t
-> 'a
Alarm.t
-> at:
Time.t
-> unit
val
reschedule_at_interval_num : 'a
t
-> 'a
Alarm.t
-> at:
Interval_num.t
-> unit
val
clear : 'a
t
-> unit
val
next_alarm_fires_at : 'a
t
->
Time.t
option
val
next_alarm_fires_at_exn : 'a
t
->
Time.t
module
Priority_queue
: sig .. end
val
check_invariant : bool Pervasives.ref
val
show_messages : bool Pervasives.ref