type t = Async_kernel__.Types.Scheduler.t
val t : unit -> t
val current_execution_context : t -> Async_kernel.Execution_context.tval with_execution_context : t -> Async_kernel.Execution_context.t -> f:(unit -> 'a) -> 'aval set_execution_context : t -> Async_kernel.Execution_context.t -> unitval enqueue : t -> Async_kernel.Execution_context.t -> ('a -> unit) -> 'a -> unitval create_job : t -> Async_kernel.Execution_context.t -> ('a -> unit) -> 'a -> Async_kernel__.Job.tval enqueue_job : t -> Async_kernel__.Job.t -> free_job:bool -> unitval free_job : t -> Async_kernel__.Job.t -> unitval main_execution_context : Async_kernel.Execution_context.tval cycle_start : t -> Async_kernel__.Import.Time_ns.tval run_cycle : t -> unitval run_cycles_until_no_jobs_remain : unit -> unitval has_upcoming_event : t -> boolval next_upcoming_event : t -> Async_kernel__.Import.Time_ns.t optionval next_upcoming_event_exn : t -> Async_kernel__.Import.Time_ns.tval event_precision : t -> Async_kernel__.Import.Time_ns.Span.tval uncaught_exn : t -> Core_kernel.Error.t optionval uncaught_exn_unwrapped : t -> (Core_kernel.Exn.t * Core_kernel.Sexp.t) optionval num_pending_jobs : t -> intval num_jobs_run : t -> intval map_cycle_times : t -> f:(Async_kernel__.Import.Time_ns.Span.t -> 'a) -> 'a Async_kernel__.Async_stream.tval cycle_num_jobs : t -> int Async_kernel__.Async_stream.tval cycle_count : t -> intval total_cycle_time : t -> Async_kernel__.Import.Time_ns.Span.tval max_num_jobs_per_priority_per_cycle : t -> intval set_max_num_jobs_per_priority_per_cycle : t -> int -> unitval set_check_access : t -> (unit -> unit) option -> unitval check_access : t -> unitval check_invariants : t -> boolval set_check_invariants : t -> bool -> unitval set_record_backtraces : t -> bool -> unitval run_every_cycle_start : t -> f:(unit -> unit) -> unitval long_cycles : t -> at_least:Async_kernel__.Import.Time_ns.Span.t -> Async_kernel__.Import.Time_ns.Span.t Async_kernel__.Async_stream.tval can_run_a_job : t -> boolval create_alarm : t -> (unit -> unit) -> Core_kernel.Gc.Expert.Alarm.tval add_finalizer : t -> 'a Core_kernel.Heap_block.t -> ('a Core_kernel.Heap_block.t -> unit) -> unitval add_finalizer_exn : t -> 'a -> ('a -> unit) -> unitval add_finalizer_last : t -> 'a Core_kernel.Heap_block.t -> (unit -> unit) -> unitval add_finalizer_last_exn : t -> 'a -> (unit -> unit) -> unitval set_thread_safe_external_job_hook : t -> (unit -> unit) -> unitval set_job_queued_hook : t -> (Async_kernel.Priority.t -> unit) -> unitval set_event_added_hook : t -> (Async_kernel__.Import.Time_ns.t -> unit) -> unitval set_on_start_of_cycle : t -> (unit -> unit) -> unitval set_on_end_of_cycle : t -> (unit -> unit) -> unitval thread_safe_enqueue_external_job : t -> Async_kernel.Execution_context.t -> ('a -> unit) -> 'a -> unitval force_current_cycle_to_end : t -> unit
type 'a with_options = ?monitor:Async_kernel.Monitor.t -> ?priority:Async_kernel.Priority.t -> 'a
val within' : ((unit -> 'a Deferred.t) -> 'a Deferred.t) with_optionsval within : ((unit -> unit) -> unit) with_optionsval within_v : ((unit -> 'a) -> 'a option) with_optionsval schedule' : ((unit -> 'a Deferred.t) -> 'a Deferred.t) with_optionsval schedule : ((unit -> unit) -> unit) with_optionsval preserve_execution_context : ('a -> unit) -> ('a -> unit) Core_kernel.Staged.tval preserve_execution_context' : ('a -> 'b Deferred.t) -> ('a -> 'b Deferred.t) Core_kernel.Staged.tval within_context : Async_kernel.Execution_context.t -> (unit -> 'a) -> ('a, unit) Core_kernel.Result.tval find_local : 'a Core_kernel.Univ_map.Key.t -> 'a optionval with_local : 'a Core_kernel.Univ_map.Key.t -> 'a option -> f:(unit -> 'b) -> 'bval make_async_unusable : unit -> unitval reset_in_forked_process : unit -> unitval yield : t -> unit Deferred.tval yield_every : n:int -> (t -> unit Deferred.t) Core_kernel.Staged.tval yield_until_no_jobs_remain : t -> unit Deferred.t