sig
type t = {
mutable check_access : (unit -> unit) option;
jobs :
Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque;
mutable main_execution_context : Raw_scheduler.Execution_context.t;
mutable current_execution_context : Raw_scheduler.Execution_context.t;
mutable max_num_jobs_per_priority_per_cycle : int;
mutable uncaught_exn : Core.Std.Error.t option;
mutable num_jobs_run : int;
mutable cycle_count : int;
mutable cycle_start : Core.Std.Time.t;
mutable last_cycle_time : Core.Std.Time.Span.t;
cycle_times : Core.Std.Time.Span.t Raw_scheduler.tail;
mutable last_cycle_num_jobs : int;
cycle_num_jobs : int Raw_scheduler.tail;
events :
Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t Events.t;
finalizer_jobs :
Raw_scheduler.Execution_context.t Job.t Core.Std.Thread_safe_queue.t
Core.Std.sexp_opaque;
mutable thread_safe_finalizer_hook : unit -> unit;
}
val sexp_of_t : Raw_scheduler.T.t -> Sexplib.Sexp.t
val thread_safe_finalizer_hook : Raw_scheduler.T.t -> unit -> unit
val set_thread_safe_finalizer_hook :
Raw_scheduler.T.t -> (unit -> unit) -> unit
val finalizer_jobs :
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Job.t Core.Std.Thread_safe_queue.t
Core.Std.sexp_opaque
val events :
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t Events.t
val cycle_num_jobs : Raw_scheduler.T.t -> int Raw_scheduler.tail
val last_cycle_num_jobs : Raw_scheduler.T.t -> int
val set_last_cycle_num_jobs : Raw_scheduler.T.t -> int -> unit
val cycle_times :
Raw_scheduler.T.t -> Core.Std.Time.Span.t Raw_scheduler.tail
val last_cycle_time : Raw_scheduler.T.t -> Core.Std.Time.Span.t
val set_last_cycle_time : Raw_scheduler.T.t -> Core.Std.Time.Span.t -> unit
val cycle_start : Raw_scheduler.T.t -> Core.Std.Time.t
val set_cycle_start : Raw_scheduler.T.t -> Core.Std.Time.t -> unit
val cycle_count : Raw_scheduler.T.t -> int
val set_cycle_count : Raw_scheduler.T.t -> int -> unit
val num_jobs_run : Raw_scheduler.T.t -> int
val set_num_jobs_run : Raw_scheduler.T.t -> int -> unit
val uncaught_exn : Raw_scheduler.T.t -> Core.Std.Error.t option
val set_uncaught_exn : Raw_scheduler.T.t -> Core.Std.Error.t option -> unit
val max_num_jobs_per_priority_per_cycle : Raw_scheduler.T.t -> int
val set_max_num_jobs_per_priority_per_cycle :
Raw_scheduler.T.t -> int -> unit
val current_execution_context :
Raw_scheduler.T.t -> Raw_scheduler.Execution_context.t
val set_current_execution_context :
Raw_scheduler.T.t -> Raw_scheduler.Execution_context.t -> unit
val main_execution_context :
Raw_scheduler.T.t -> Raw_scheduler.Execution_context.t
val set_main_execution_context :
Raw_scheduler.T.t -> Raw_scheduler.Execution_context.t -> unit
val jobs :
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque
val check_access : Raw_scheduler.T.t -> (unit -> unit) option
val set_check_access : Raw_scheduler.T.t -> (unit -> unit) option -> unit
module Fields :
sig
val names : string list
val thread_safe_finalizer_hook :
(Raw_scheduler.T.t, unit -> unit) Fieldslib.Field.t
val finalizer_jobs :
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Core.Std.Thread_safe_queue.t
Core.Std.sexp_opaque)
Fieldslib.Field.t
val events :
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
Events.t)
Fieldslib.Field.t
val cycle_num_jobs :
(Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t
val last_cycle_num_jobs : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val cycle_times :
(Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t
val last_cycle_time :
(Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t
val cycle_start :
(Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t
val cycle_count : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val num_jobs_run : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val uncaught_exn :
(Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t
val max_num_jobs_per_priority_per_cycle :
(Raw_scheduler.T.t, int) Fieldslib.Field.t
val current_execution_context :
(Raw_scheduler.T.t, Raw_scheduler.Execution_context.t)
Fieldslib.Field.t
val main_execution_context :
(Raw_scheduler.T.t, Raw_scheduler.Execution_context.t)
Fieldslib.Field.t
val jobs :
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
Fieldslib.Field.t
val check_access :
(Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t
val make_creator :
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t ->
'a -> ('b -> (unit -> unit) option) * 'c) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t ->
'c ->
('b ->
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque) *
'd) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
'd ->
('b -> Raw_scheduler.Execution_context.t) *
'e) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
'e ->
('b -> Raw_scheduler.Execution_context.t) *
'f) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t ->
'f -> ('b -> int) * 'g) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t ->
'g -> ('b -> Core.Std.Error.t option) * 'h) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
'h -> ('b -> int) * 'i) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
'i -> ('b -> int) * 'j) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
'j -> ('b -> Core.Std.Time.t) * 'k) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t ->
'k -> ('b -> Core.Std.Time.Span.t) * 'l) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t ->
'l ->
('b -> Core.Std.Time.Span.t Raw_scheduler.tail) * 'm) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
'm -> ('b -> int) * 'n) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t ->
'n -> ('b -> int Raw_scheduler.tail) * 'o) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t ->
'o ->
('b ->
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t) *
'p) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t ->
'p ->
('b ->
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque) *
'q) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t ->
'q -> ('b -> unit -> unit) * 'r) ->
'a -> ('b -> Raw_scheduler.T.t) * 'r
val create :
check_access:(unit -> unit) option ->
jobs:Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque ->
main_execution_context:Raw_scheduler.Execution_context.t ->
current_execution_context:Raw_scheduler.Execution_context.t ->
max_num_jobs_per_priority_per_cycle:int ->
uncaught_exn:Core.Std.Error.t option ->
num_jobs_run:int ->
cycle_count:int ->
cycle_start:Core.Std.Time.t ->
last_cycle_time:Core.Std.Time.Span.t ->
cycle_times:Core.Std.Time.Span.t Raw_scheduler.tail ->
last_cycle_num_jobs:int ->
cycle_num_jobs:int Raw_scheduler.tail ->
events:Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
Events.t ->
finalizer_jobs:Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque ->
thread_safe_finalizer_hook:(unit -> unit) -> Raw_scheduler.T.t
val iter :
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t -> 'a) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t -> 'b) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> 'c) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> 'd) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t -> 'e) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t -> 'f) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'g) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'h) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
'i) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t -> 'j) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t -> 'k) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'l) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t -> 'm) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t -> 'n) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t -> 'o) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t -> 'p) ->
'p
val fold :
init:'a ->
check_access:('a ->
(Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t -> 'b) ->
jobs:('b ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t -> 'c) ->
main_execution_context:('c ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> 'd) ->
current_execution_context:('d ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> 'e) ->
max_num_jobs_per_priority_per_cycle:('e ->
(Raw_scheduler.T.t, int)
Fieldslib.Field.t -> 'f) ->
uncaught_exn:('f ->
(Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t -> 'g) ->
num_jobs_run:('g -> (Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'h) ->
cycle_count:('h -> (Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'i) ->
cycle_start:('i ->
(Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
'j) ->
last_cycle_time:('j ->
(Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t -> 'k) ->
cycle_times:('k ->
(Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t -> 'l) ->
last_cycle_num_jobs:('l ->
(Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'm) ->
cycle_num_jobs:('m ->
(Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t -> 'n) ->
events:('n ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t -> 'o) ->
finalizer_jobs:('o ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t -> 'p) ->
thread_safe_finalizer_hook:('p ->
(Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t -> 'q) ->
'q
val map :
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t -> (unit -> unit) option) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t ->
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
Raw_scheduler.Execution_context.t) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
Raw_scheduler.Execution_context.t) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t -> int) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t -> Core.Std.Error.t option) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> int) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> int) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
Core.Std.Time.t) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t -> Core.Std.Time.Span.t) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t ->
Core.Std.Time.Span.t Raw_scheduler.tail) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
int) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t -> int Raw_scheduler.tail) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t ->
Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
Events.t) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t ->
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t -> unit -> unit) ->
Raw_scheduler.T.t
val map_poly : (Raw_scheduler.T.t, 'a) Fieldslib.Field.user -> 'a list
val for_all :
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t -> bool) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t -> bool) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> bool) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> bool) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t -> bool) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t -> bool) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
bool) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t -> bool) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t -> bool) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
bool) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t -> bool) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t -> bool) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t -> bool) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t -> bool) ->
bool
val exists :
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t -> bool) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t -> bool) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> bool) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> bool) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t -> bool) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t -> bool) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
bool) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t -> bool) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t -> bool) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
bool) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t -> bool) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t -> bool) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t -> bool) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t -> bool) ->
bool
val to_list :
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t -> 'a) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t -> 'a) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> 'a) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t -> 'a) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t -> 'a) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t -> 'a) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'a) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'a) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
'a) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t -> 'a) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t -> 'a) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'a) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t -> 'a) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t -> 'a) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t -> 'a) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t -> 'a) ->
'a list
module Direct :
sig
val iter :
Raw_scheduler.T.t ->
check_access:((Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> (unit -> unit) option -> 'a) ->
jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque -> 'b) ->
main_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t -> 'c) ->
current_execution_context:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t ->
'd) ->
max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
int -> 'e) ->
uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> Core.Std.Error.t option -> 'f) ->
num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
Raw_scheduler.T.t -> int -> 'g) ->
cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
Raw_scheduler.T.t -> int -> 'h) ->
cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> Core.Std.Time.t -> 'i) ->
last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> Core.Std.Time.Span.t -> 'j) ->
cycle_times:((Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Core.Std.Time.Span.t Raw_scheduler.tail -> 'k) ->
last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
Raw_scheduler.T.t -> int -> 'l) ->
cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> int Raw_scheduler.tail -> 'm) ->
events:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t -> 'n) ->
finalizer_jobs:((Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t
Core.Std.sexp_opaque)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque ->
'o) ->
thread_safe_finalizer_hook:((Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
(unit -> unit) -> 'p) ->
'p
val fold :
Raw_scheduler.T.t ->
init:'a ->
check_access:('a ->
(Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> (unit -> unit) option -> 'b) ->
jobs:('b ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Job.t Jobs.t
Core.Std.sexp_opaque -> 'c) ->
main_execution_context:('c ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t -> 'd) ->
current_execution_context:('d ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t ->
'e) ->
max_num_jobs_per_priority_per_cycle:('e ->
(Raw_scheduler.T.t, int)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
int -> 'f) ->
uncaught_exn:('f ->
(Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> Core.Std.Error.t option -> 'g) ->
num_jobs_run:('g ->
(Raw_scheduler.T.t, int) Fieldslib.Field.t ->
Raw_scheduler.T.t -> int -> 'h) ->
cycle_count:('h ->
(Raw_scheduler.T.t, int) Fieldslib.Field.t ->
Raw_scheduler.T.t -> int -> 'i) ->
cycle_start:('i ->
(Raw_scheduler.T.t, Core.Std.Time.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> Core.Std.Time.t -> 'j) ->
last_cycle_time:('j ->
(Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> Core.Std.Time.Span.t -> 'k) ->
cycle_times:('k ->
(Raw_scheduler.T.t,
Core.Std.Time.Span.t Raw_scheduler.tail)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Core.Std.Time.Span.t Raw_scheduler.tail -> 'l) ->
last_cycle_num_jobs:('l ->
(Raw_scheduler.T.t, int) Fieldslib.Field.t ->
Raw_scheduler.T.t -> int -> 'm) ->
cycle_num_jobs:('m ->
(Raw_scheduler.T.t, int Raw_scheduler.tail)
Fieldslib.Field.t ->
Raw_scheduler.T.t -> int Raw_scheduler.tail -> 'n) ->
events:('n ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t
Raw_scheduler.Clock_event.t Events.t -> 'o) ->
finalizer_jobs:('o ->
(Raw_scheduler.T.t,
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t
Core.Std.sexp_opaque)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
Raw_scheduler.Execution_context.t Job.t
Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque ->
'p) ->
thread_safe_finalizer_hook:('p ->
(Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t ->
Raw_scheduler.T.t ->
(unit -> unit) -> 'q) ->
'q
end
end
end