Module Async_unix.Require_explicit_time_source_intf.Require_explicit_time_source.Scheduler

include module type of sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
val t : unit ‑> t
val max_num_threads : unit ‑> int
val go : ?raise_unhandled_exn:bool ‑> unit ‑> Core.never_returns
val go_main : ?raise_unhandled_exn:bool ‑> ?file_descr_watcher:Config.File_descr_watcher.t ‑> ?max_num_open_file_descrs:int ‑> ?max_num_threads:int ‑> main:(unit ‑> unit) ‑> unit ‑> Core.never_returns
type 'a with_options = ?monitor:Import.Monitor.t ‑> ?priority:Import.Priority.t ‑> 'a
val current_execution_context : unit ‑> Import.Execution_context.t
val within_context : Import.Execution_context.t ‑> (unit ‑> 'a) ‑> ('a, unit) Core.Result.t
val within' : ((unit ‑> 'a Import.Deferred.t) ‑> 'a Import.Deferred.t) with_options
val within : ((unit ‑> unit) ‑> unit) with_options
val within_v : ((unit ‑> 'a) ‑> 'a option) with_options
val with_local : 'a Core.Univ_map.Key.t ‑> 'a option ‑> f:(unit ‑> 'b) ‑> 'b
val find_local : 'a Core.Univ_map.Key.t ‑> 'a option
val schedule' : ((unit ‑> 'a Import.Deferred.t) ‑> 'a Import.Deferred.t) with_options
val schedule : ((unit ‑> unit) ‑> unit) with_options
val preserve_execution_context : ('a ‑> unit) ‑> ('a ‑> unit) Core.Staged.t
val preserve_execution_context' : ('a ‑> 'b Import.Deferred.t) ‑> ('a ‑> 'b Import.Deferred.t) Core.Staged.t
val cycle_start : unit ‑> Core.Time.t
val cycle_start_ns : unit ‑> Core.Time_ns.t
val cycle_times : unit ‑> Core.Time.Span.t Import.Stream.t
val cycle_times_ns : unit ‑> Core.Time_ns.Span.t Import.Stream.t
val report_long_cycle_times : ?cutoff:Core.Time.Span.t ‑> unit ‑> unit
val cycle_count : unit ‑> int
val event_precision : unit ‑> Core.Time.Span.t
val event_precision_ns : unit ‑> Core.Time_ns.Span.t
val force_current_cycle_to_end : unit ‑> unit
val is_running : unit ‑> bool
val set_max_num_jobs_per_priority_per_cycle : int ‑> unit
val max_num_jobs_per_priority_per_cycle : unit ‑> int
val set_max_inter_cycle_timeout : Core.Time.Span.t ‑> unit
val set_check_invariants : bool ‑> unit
val set_detect_invalid_access_from_thread : bool ‑> unit
val set_record_backtraces : bool ‑> unit
type 'b folder = 'b Async_unix__Scheduler.folder = {
folder : a. 'b ‑> t ‑> (t'aCore.Field.t ‑> 'b;
}
val fold_fields : init:'b ‑> 'b folder ‑> 'b
val is_ready_to_initialize : unit ‑> bool
val reset_in_forked_process : unit ‑> unit
val make_async_unusable : unit ‑> unit
val add_busy_poller : (unit ‑> [ `Continue_polling | `Stop_polling of 'a ]) ‑> 'a Import.Deferred.t
val handle_thread_pool_stuck : (stuck_for:Core.Time_ns.Span.t ‑> unit) ‑> unit
val default_handle_thread_pool_stuck : stuck_for:Core.Time_ns.Span.t ‑> unit
val yield : unit ‑> unit Import.Deferred.t
val yield_until_no_jobs_remain : unit ‑> unit Import.Deferred.t
val yield_every : n:int ‑> (unit ‑> unit Import.Deferred.t) Core.Staged.t
val time_spent_waiting_for_io : unit ‑> Core.Time_ns.Span.t
val set_min_inter_cycle_timeout : Core.Time_ns.Span.t ‑> unit
val num_jobs_run : unit ‑> int
val cycle_start : unit ‑> Core.Time.t