Module Require_explicit_time_source.Scheduler
include module type of sig ... end
type t= Async_unix__.Raw_scheduler.t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
type 'a with_options= ?monitor:Async_kernel.Monitor.t -> ?priority:Async_kernel.Priority.t -> 'a
val current_execution_context : unit -> Async_kernel.Execution_context.tval within_context : Async_kernel.Execution_context.t -> (unit -> 'a) -> ('a, unit) Core_kernel.Result.tval within' : ((unit -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.t) with_optionsval within : ((unit -> unit) -> unit) with_optionsval within_v : ((unit -> 'a) -> 'a option) with_optionsval with_local : 'a Core_kernel.Univ_map.Key.t -> 'a option -> f:(unit -> 'b) -> 'bval find_local : 'a Core_kernel.Univ_map.Key.t -> 'a optionval schedule' : ((unit -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.t) with_optionsval schedule : ((unit -> unit) -> unit) with_optionsval enqueue_job : Async_kernel.Execution_context.t -> ('a -> unit) -> 'a -> unitval thread_safe_enqueue_job : Async_kernel.Execution_context.t -> ('a -> unit) -> 'a -> unitval preserve_execution_context : ('a -> unit) -> ('a -> unit) Core_kernel.Staged.tval preserve_execution_context' : ('a -> 'b Async_kernel.Deferred.t) -> ('a -> 'b Async_kernel.Deferred.t) Core_kernel.Staged.tval cycle_start : unit -> Core_kernel.Time.tval cycle_start_ns : unit -> Async_kernel__.Import.Time_ns.tval cycle_times : unit -> Core_kernel.Time.Span.t Async_kernel__.Async_stream.tval cycle_times_ns : unit -> Async_kernel__.Import.Time_ns.Span.t Async_kernel__.Async_stream.tval long_cycles : at_least:Async_kernel__.Import.Time_ns.Span.t -> Async_kernel__.Import.Time_ns.Span.t Async_kernel__.Async_stream.tval cycle_count : unit -> intval total_cycle_time : unit -> Async_kernel__.Import.Time_ns.Span.tval event_precision : unit -> Core_kernel.Time.Span.tval event_precision_ns : unit -> Async_kernel__.Import.Time_ns.Span.tval force_current_cycle_to_end : unit -> unitval set_max_num_jobs_per_priority_per_cycle : int -> unitval max_num_jobs_per_priority_per_cycle : unit -> intval set_record_backtraces : bool -> unitval yield : unit -> unit Async_kernel.Deferred.tval yield_until_no_jobs_remain : unit -> unit Async_kernel.Deferred.tval yield_every : n:int -> (unit -> unit Async_kernel.Deferred.t) Core_kernel.Staged.tval num_jobs_run : unit -> intval num_pending_jobs : unit -> int
module Private = Async_kernel__.Schedulerval t : unit -> tval max_num_open_file_descrs : unit -> intval max_num_threads : unit -> intval go : ?raise_unhandled_exn:bool -> unit -> Core.never_returnsval go_main : ?raise_unhandled_exn:bool -> ?file_descr_watcher:Async_unix__.Config.File_descr_watcher.t -> ?max_num_open_file_descrs:int -> ?max_num_threads:int -> main:(unit -> unit) -> unit -> Core.never_returnsval report_long_cycle_times : ?cutoff:Core.Time.Span.t -> unit -> unitval is_running : unit -> boolval set_max_inter_cycle_timeout : Core.Time.Span.t -> unitval set_check_invariants : bool -> unitval set_detect_invalid_access_from_thread : bool -> unit
type 'b folder= 'b Async_unix__Scheduler.folder={folder : a. 'b -> t -> (t, 'a) Core.Field.t -> 'b;}
val fold_fields : init:'b -> 'b folder -> 'bval is_ready_to_initialize : unit -> boolval reset_in_forked_process : unit -> unitval make_async_unusable : unit -> unitval add_busy_poller : (unit -> [ `Continue_polling | `Stop_polling of 'a ]) -> 'a Async_unix__.Import.Deferred.tval handle_thread_pool_stuck : (stuck_for:Core.Time_ns.Span.t -> unit) -> unitval default_handle_thread_pool_stuck : Thread_pool.t -> stuck_for:Core.Time_ns.Span.t -> unitval time_spent_waiting_for_io : unit -> Core.Time_ns.Span.tval set_min_inter_cycle_timeout : Core.Time_ns.Span.t -> unit
val cycle_start : unit -> Time.t