Module Async_kernel__.Scheduler0
include Async_kernel__.Types.Scheduler
type t
=
{
mutable check_access : (unit -> unit) option;
mutable job_pool : Async_kernel__.Types.Job_pool.t;
normal_priority_jobs : Async_kernel__.Types.Job_queue.t;
low_priority_jobs : Async_kernel__.Types.Job_queue.t;
very_low_priority_workers : Async_kernel__.Types.Very_low_priority_worker.t Core_kernel.Deque.t;
mutable main_execution_context : Async_kernel__.Types.Execution_context.t;
mutable current_execution_context : Async_kernel__.Types.Execution_context.t;
mutable uncaught_exn : (Core_kernel.Exn.t * Core_kernel.Sexp.t) option;
mutable cycle_count : int;
mutable cycle_start : Async_kernel__.Import.Time_ns.t;
mutable in_cycle : bool;
mutable run_every_cycle_start : (unit -> unit) list;
mutable run_every_cycle_end : (unit -> unit) list;
mutable last_cycle_time : Async_kernel__.Import.Time_ns.Span.t;
mutable last_cycle_num_jobs : int;
mutable total_cycle_time : Async_kernel__.Import.Time_ns.Span.t;
mutable time_source : Core_kernel.read_write Async_kernel__.Types.Time_source.t1;
external_jobs : Async_kernel__.Types.External_job.t Thread_safe_queue.t;
mutable thread_safe_external_job_hook : unit -> unit;
mutable job_queued_hook : (Async_kernel.Priority.t -> unit) option;
mutable event_added_hook : (Async_kernel__.Import.Time_ns.t -> unit) option;
mutable yield : (unit, Core_kernel.read_write) Async_kernel__.Types.Bvar.t;
mutable yield_until_no_jobs_remain : (unit, Core_kernel.read_write) Async_kernel__.Types.Bvar.t;
mutable check_invariants : bool;
mutable max_num_jobs_per_priority_per_cycle : Async_kernel__.Import.Max_num_jobs_per_priority_per_cycle.t;
mutable record_backtraces : bool;
mutable on_start_of_cycle : unit -> unit;
mutable on_end_of_cycle : unit -> unit;
}
val events : t -> Async_kernel__Types.Job_or_event.t Timing_wheel.t
val set_execution_context : t -> Async_kernel__Types.Execution_context.t -> unit