sig
type t
val t : unit -> Scheduler.t
val invariant : t Core_kernel.Invariant_intf.inv
val current_execution_context : Scheduler.t -> Execution_context.t
val with_execution_context :
Scheduler.t -> Execution_context.t -> f:(unit -> 'a) -> 'a
val set_execution_context : Scheduler.t -> Execution_context.t -> unit
val add_job : Execution_context.t -> ('a -> unit) -> 'a -> unit
val main_execution_context : Execution_context.t
val add_job2 : Scheduler.t -> Job.t -> unit
val cycle_start : Scheduler.t -> Core.Std.Time.t
val run_cycle : Scheduler.t -> unit
val run_cycles_until_no_jobs_remain : unit -> unit
val next_upcoming_event : Scheduler.t -> Core.Std.Time.t option
val uncaught_exn : Scheduler.t -> Core.Std.Error.t option
val num_pending_jobs : Scheduler.t -> int
val num_jobs_run : Scheduler.t -> int
val cycle_times : Scheduler.t -> Core.Std.Time.Span.t Async_stream.t
val cycle_num_jobs : Scheduler.t -> int Async_stream.t
val cycle_count : Scheduler.t -> int
val set_max_num_jobs_per_priority_per_cycle : Scheduler.t -> int -> unit
val set_check_access : Scheduler.t -> (unit -> unit) option -> unit
val check_access : Scheduler.t -> unit
val check_invariants : Scheduler.t -> bool
val set_check_invariants : Scheduler.t -> bool -> unit
val set_record_backtraces : Scheduler.t -> bool -> unit
val events : Scheduler.t -> Job.t Core.Std.Timing_wheel.t
val add_finalizer :
Scheduler.t ->
'a Core.Std.Heap_block.t -> ('a Core.Std.Heap_block.t -> unit) -> unit
val add_finalizer_exn : Scheduler.t -> 'a -> ('a -> unit) -> unit
val set_thread_safe_finalizer_hook : Scheduler.t -> (unit -> unit) -> unit
val thread_safe_enqueue_finalizer_job : Scheduler.t -> Job.t -> unit
val force_current_cycle_to_end : Scheduler.t -> unit
type 'a with_options = ?monitor:Monitor.t -> ?priority:Priority.t -> 'a
val within' :
((unit -> 'a Deferred.t) -> 'a Deferred.t) Scheduler.with_options
val within : ((unit -> unit) -> unit) Scheduler.with_options
val within_v : ((unit -> 'a) -> 'a option) Scheduler.with_options
val schedule' :
((unit -> 'a Deferred.t) -> 'a Deferred.t) Scheduler.with_options
val schedule : ((unit -> unit) -> unit) Scheduler.with_options
val preserve_execution_context :
('a -> unit) -> ('a -> unit) Core.Std.Staged.t
val preserve_execution_context' :
('a -> 'b Deferred.t) -> ('a -> 'b Deferred.t) Core.Std.Staged.t
val within_context :
Execution_context.t -> (unit -> 'a) -> ('a, unit) Core.Std.Result.t
val find_local : 'a Core.Std.Univ_map.Key.t -> 'a option
val with_local :
'a Core.Std.Univ_map.Key.t -> 'a option -> f:(unit -> 'b) -> 'b
val reset_in_forked_process : unit -> unit
val sexp_of_t : Scheduler.t -> Sexplib.Sexp.t
end