sig
type t = Async_core.Scheduler.t
val t : unit -> t
val invariant : t -> unit
val current_execution_context : t -> Async_core.Execution_context.t
val with_execution_context :
t -> Async_core.Execution_context.t -> f:(unit -> 'a) -> 'a
val add_job : Async_core.Execution_context.t -> ('a -> unit) -> 'a -> unit
val main_execution_context : Async_core.Execution_context.t
val cycle_start : t -> Core.Std.Time.t
val run_cycle : t -> unit
val run_cycles_until_no_jobs_remain : unit -> unit
val next_upcoming_event : t -> Core.Std.Time.t option
val uncaught_exn : t -> Core.Std.Error.t option
val num_pending_jobs : t -> int
val num_jobs_run : t -> int
val cycle_times : t -> Core.Std.Time.Span.t Async_core.Async_stream.t
val cycle_num_jobs : t -> int Async_core.Async_stream.t
val cycle_count : t -> int
val set_max_num_jobs_per_priority_per_cycle : t -> int -> unit
val set_check_access : t -> (unit -> unit) -> unit
val check_access : t -> unit
type 'a with_options =
?work_group:Async_core.Work_group.t ->
?monitor:Async_core.Monitor.t -> ?priority:Async_core.Priority.t -> 'a
val within' :
((unit -> 'a Async_core.Deferred.t) -> 'a Async_core.Deferred.t)
with_options
val within : ((unit -> unit) -> unit) with_options
val within_v : ((unit -> 'a) -> 'a option) with_options
val schedule' :
((unit -> 'a Async_core.Deferred.t) -> 'a Async_core.Deferred.t)
with_options
val schedule : ((unit -> unit) -> unit) with_options
val within_context :
Async_core.Execution_context.t ->
(unit -> 'a) -> ('a, unit) Core.Std.Result.t
val reset_in_forked_process : unit -> unit
val sexp_of_t : t -> Sexplib.Sexp.t
val ounit_tests : unit -> OUnit.test
end