package async_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val iter : t -> check_access: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) option -> 'a) -> job_pool: (([< `Read | `Set_and_create ], t, (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) Fieldslib.Field.t_with_perm -> t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> 'b) -> normal_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> 'c) -> low_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> 'd) -> very_low_priority_workers: (([< `Read | `Set_and_create ], t, Very_low_priority_worker.t Core.Deque.t) Fieldslib.Field.t_with_perm -> t -> Very_low_priority_worker.t Core.Deque.t -> 'e) -> main_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> 'f) -> current_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> 'g) -> uncaught_exn: (([< `Read | `Set_and_create ], t, (Core.Exn.t * Core.Sexp.t) option) Fieldslib.Field.t_with_perm -> t -> (Core.Exn.t * Core.Sexp.t) option -> 'h) -> cycle_count: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> 'i) -> cycle_start: (([< `Read | `Set_and_create ], t, Core.Time_ns.t) Fieldslib.Field.t_with_perm -> t -> Core.Time_ns.t -> 'j) -> in_cycle: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'k) -> run_every_cycle_start: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> 'l) -> run_every_cycle_start_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> 'm) -> run_every_cycle_end: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> 'n) -> run_every_cycle_end_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> 'o) -> last_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> 'p) -> last_cycle_num_jobs: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> 'q) -> total_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> 'r) -> time_source: (([< `Read | `Set_and_create ], t, Core.read_write Synchronous_time_source.T1.t) Fieldslib.Field.t_with_perm -> t -> Core.read_write Synchronous_time_source.T1.t -> 's) -> external_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.External_job.t Thread_safe_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t -> 't) -> thread_safe_external_job_hook: (([< `Read | `Set_and_create ], t, unit -> unit) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) -> 'u) -> job_queued_hook: (([< `Read | `Set_and_create ], t, (Priority.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Priority.t -> unit) option -> 'v) -> event_added_hook: (([< `Read | `Set_and_create ], t, (Core.Time_ns.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Core.Time_ns.t -> unit) option -> 'w) -> yield: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> 'x) -> yield_until_no_jobs_remain: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> 'y) -> check_invariants: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'z) -> max_num_jobs_per_priority_per_cycle: (([< `Read | `Set_and_create ], t, Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> 'a1) -> record_backtraces: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'b1) -> 'c1
val fold : t -> init:'a -> check_access: ('b -> ([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) option -> 'c) -> job_pool: ('d -> ([< `Read | `Set_and_create ], t, (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) Fieldslib.Field.t_with_perm -> t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> 'e) -> normal_priority_jobs: ('f -> ([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> 'g) -> low_priority_jobs: ('h -> ([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> 'i) -> very_low_priority_workers: ('j -> ([< `Read | `Set_and_create ], t, Very_low_priority_worker.t Core.Deque.t) Fieldslib.Field.t_with_perm -> t -> Very_low_priority_worker.t Core.Deque.t -> 'k) -> main_execution_context: ('l -> ([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> 'm) -> current_execution_context: ('n -> ([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> 'o) -> uncaught_exn: ('p -> ([< `Read | `Set_and_create ], t, (Core.Exn.t * Core.Sexp.t) option) Fieldslib.Field.t_with_perm -> t -> (Core.Exn.t * Core.Sexp.t) option -> 'q) -> cycle_count: ('r -> ([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> 's) -> cycle_start: ('t -> ([< `Read | `Set_and_create ], t, Core.Time_ns.t) Fieldslib.Field.t_with_perm -> t -> Core.Time_ns.t -> 'u) -> in_cycle: ('v -> ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'w) -> run_every_cycle_start: ('x -> ([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> 'y) -> run_every_cycle_start_state: ('z -> ([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> 'a1) -> run_every_cycle_end: ('b1 -> ([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> 'c1) -> run_every_cycle_end_state: ('d1 -> ([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> 'e1) -> last_cycle_time: ('f1 -> ([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> 'g1) -> last_cycle_num_jobs: ('h1 -> ([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> 'i1) -> total_cycle_time: ('j1 -> ([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> 'k1) -> time_source: ('l1 -> ([< `Read | `Set_and_create ], t, Core.read_write Synchronous_time_source.T1.t) Fieldslib.Field.t_with_perm -> t -> Core.read_write Synchronous_time_source.T1.t -> 'm1) -> external_jobs: ('n1 -> ([< `Read | `Set_and_create ], t, Async_kernel__.Types.External_job.t Thread_safe_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t -> 'o1) -> thread_safe_external_job_hook: ('p1 -> ([< `Read | `Set_and_create ], t, unit -> unit) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) -> 'q1) -> job_queued_hook: ('r1 -> ([< `Read | `Set_and_create ], t, (Priority.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Priority.t -> unit) option -> 's1) -> event_added_hook: ('t1 -> ([< `Read | `Set_and_create ], t, (Core.Time_ns.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Core.Time_ns.t -> unit) option -> 'u1) -> yield: ('v1 -> ([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> 'w1) -> yield_until_no_jobs_remain: ('x1 -> ([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> 'y1) -> check_invariants: ('z1 -> ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'a2) -> max_num_jobs_per_priority_per_cycle: ('b2 -> ([< `Read | `Set_and_create ], t, Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> 'c2) -> record_backtraces: ('d2 -> ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'e2) -> 'f2
val for_all : t -> check_access: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) option -> bool) -> job_pool: (([< `Read | `Set_and_create ], t, (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) Fieldslib.Field.t_with_perm -> t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> bool) -> normal_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> bool) -> low_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> bool) -> very_low_priority_workers: (([< `Read | `Set_and_create ], t, Very_low_priority_worker.t Core.Deque.t) Fieldslib.Field.t_with_perm -> t -> Very_low_priority_worker.t Core.Deque.t -> bool) -> main_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> bool) -> current_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> bool) -> uncaught_exn: (([< `Read | `Set_and_create ], t, (Core.Exn.t * Core.Sexp.t) option) Fieldslib.Field.t_with_perm -> t -> (Core.Exn.t * Core.Sexp.t) option -> bool) -> cycle_count: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> bool) -> cycle_start: (([< `Read | `Set_and_create ], t, Core.Time_ns.t) Fieldslib.Field.t_with_perm -> t -> Core.Time_ns.t -> bool) -> in_cycle: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> run_every_cycle_start: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> bool) -> run_every_cycle_start_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> bool) -> run_every_cycle_end: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> bool) -> run_every_cycle_end_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> bool) -> last_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> bool) -> last_cycle_num_jobs: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> bool) -> total_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> bool) -> time_source: (([< `Read | `Set_and_create ], t, Core.read_write Synchronous_time_source.T1.t) Fieldslib.Field.t_with_perm -> t -> Core.read_write Synchronous_time_source.T1.t -> bool) -> external_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.External_job.t Thread_safe_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t -> bool) -> thread_safe_external_job_hook: (([< `Read | `Set_and_create ], t, unit -> unit) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) -> bool) -> job_queued_hook: (([< `Read | `Set_and_create ], t, (Priority.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Priority.t -> unit) option -> bool) -> event_added_hook: (([< `Read | `Set_and_create ], t, (Core.Time_ns.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Core.Time_ns.t -> unit) option -> bool) -> yield: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> bool) -> yield_until_no_jobs_remain: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> bool) -> check_invariants: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> max_num_jobs_per_priority_per_cycle: (([< `Read | `Set_and_create ], t, Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> bool) -> record_backtraces: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> bool
val exists : t -> check_access: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) option -> bool) -> job_pool: (([< `Read | `Set_and_create ], t, (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) Fieldslib.Field.t_with_perm -> t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> bool) -> normal_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> bool) -> low_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> bool) -> very_low_priority_workers: (([< `Read | `Set_and_create ], t, Very_low_priority_worker.t Core.Deque.t) Fieldslib.Field.t_with_perm -> t -> Very_low_priority_worker.t Core.Deque.t -> bool) -> main_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> bool) -> current_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> bool) -> uncaught_exn: (([< `Read | `Set_and_create ], t, (Core.Exn.t * Core.Sexp.t) option) Fieldslib.Field.t_with_perm -> t -> (Core.Exn.t * Core.Sexp.t) option -> bool) -> cycle_count: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> bool) -> cycle_start: (([< `Read | `Set_and_create ], t, Core.Time_ns.t) Fieldslib.Field.t_with_perm -> t -> Core.Time_ns.t -> bool) -> in_cycle: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> run_every_cycle_start: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> bool) -> run_every_cycle_start_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> bool) -> run_every_cycle_end: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> bool) -> run_every_cycle_end_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> bool) -> last_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> bool) -> last_cycle_num_jobs: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> bool) -> total_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> bool) -> time_source: (([< `Read | `Set_and_create ], t, Core.read_write Synchronous_time_source.T1.t) Fieldslib.Field.t_with_perm -> t -> Core.read_write Synchronous_time_source.T1.t -> bool) -> external_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.External_job.t Thread_safe_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t -> bool) -> thread_safe_external_job_hook: (([< `Read | `Set_and_create ], t, unit -> unit) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) -> bool) -> job_queued_hook: (([< `Read | `Set_and_create ], t, (Priority.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Priority.t -> unit) option -> bool) -> event_added_hook: (([< `Read | `Set_and_create ], t, (Core.Time_ns.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Core.Time_ns.t -> unit) option -> bool) -> yield: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> bool) -> yield_until_no_jobs_remain: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> bool) -> check_invariants: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> max_num_jobs_per_priority_per_cycle: (([< `Read | `Set_and_create ], t, Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> bool) -> record_backtraces: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> bool
val to_list : t -> check_access: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) option -> 'a) -> job_pool: (([< `Read | `Set_and_create ], t, (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) Fieldslib.Field.t_with_perm -> t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> 'b) -> normal_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> 'c) -> low_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> 'd) -> very_low_priority_workers: (([< `Read | `Set_and_create ], t, Very_low_priority_worker.t Core.Deque.t) Fieldslib.Field.t_with_perm -> t -> Very_low_priority_worker.t Core.Deque.t -> 'e) -> main_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> 'f) -> current_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> 'g) -> uncaught_exn: (([< `Read | `Set_and_create ], t, (Core.Exn.t * Core.Sexp.t) option) Fieldslib.Field.t_with_perm -> t -> (Core.Exn.t * Core.Sexp.t) option -> 'h) -> cycle_count: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> 'i) -> cycle_start: (([< `Read | `Set_and_create ], t, Core.Time_ns.t) Fieldslib.Field.t_with_perm -> t -> Core.Time_ns.t -> 'j) -> in_cycle: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'k) -> run_every_cycle_start: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> 'l) -> run_every_cycle_start_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> 'm) -> run_every_cycle_end: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> 'n) -> run_every_cycle_end_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> 'o) -> last_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> 'p) -> last_cycle_num_jobs: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> 'q) -> total_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> 'r) -> time_source: (([< `Read | `Set_and_create ], t, Core.read_write Synchronous_time_source.T1.t) Fieldslib.Field.t_with_perm -> t -> Core.read_write Synchronous_time_source.T1.t -> 's) -> external_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.External_job.t Thread_safe_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t -> 't) -> thread_safe_external_job_hook: (([< `Read | `Set_and_create ], t, unit -> unit) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) -> 'u) -> job_queued_hook: (([< `Read | `Set_and_create ], t, (Priority.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Priority.t -> unit) option -> 'v) -> event_added_hook: (([< `Read | `Set_and_create ], t, (Core.Time_ns.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Core.Time_ns.t -> unit) option -> 'w) -> yield: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> 'x) -> yield_until_no_jobs_remain: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> 'y) -> check_invariants: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'z) -> max_num_jobs_per_priority_per_cycle: (([< `Read | `Set_and_create ], t, Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> 'a1) -> record_backtraces: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> 'b1) -> 'c1 list
val map : t -> check_access: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) option -> (unit -> unit) option) -> job_pool: (([< `Read | `Set_and_create ], t, (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) Fieldslib.Field.t_with_perm -> t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t) -> normal_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> Async_kernel__.Types.Job_queue.t) -> low_priority_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.Job_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.Job_queue.t -> Async_kernel__.Types.Job_queue.t) -> very_low_priority_workers: (([< `Read | `Set_and_create ], t, Very_low_priority_worker.t Core.Deque.t) Fieldslib.Field.t_with_perm -> t -> Very_low_priority_worker.t Core.Deque.t -> Very_low_priority_worker.t Core.Deque.t) -> main_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> Execution_context.t) -> current_execution_context: (([< `Read | `Set_and_create ], t, Execution_context.t) Fieldslib.Field.t_with_perm -> t -> Execution_context.t -> Execution_context.t) -> uncaught_exn: (([< `Read | `Set_and_create ], t, (Core.Exn.t * Core.Sexp.t) option) Fieldslib.Field.t_with_perm -> t -> (Core.Exn.t * Core.Sexp.t) option -> (Core.Exn.t * Core.Sexp.t) option) -> cycle_count: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> int) -> cycle_start: (([< `Read | `Set_and_create ], t, Core.Time_ns.t) Fieldslib.Field.t_with_perm -> t -> Core.Time_ns.t -> Core.Time_ns.t) -> in_cycle: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> run_every_cycle_start: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> (unit -> unit) list) -> run_every_cycle_start_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) -> run_every_cycle_end: (([< `Read | `Set_and_create ], t, (unit -> unit) list) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) list -> (unit -> unit) list) -> run_every_cycle_end_state: (([< `Read | `Set_and_create ], t, (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) Fieldslib.Field.t_with_perm -> t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t -> (Async_kernel__.Types.Cycle_hook_handle.t, unit -> unit) Core.Hashtbl.t) -> last_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> Core.Core_private.Time_ns_alternate_sexp.Span.t) -> last_cycle_num_jobs: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> t -> int -> int) -> total_cycle_time: (([< `Read | `Set_and_create ], t, Core.Core_private.Time_ns_alternate_sexp.Span.t) Fieldslib.Field.t_with_perm -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> Core.Core_private.Time_ns_alternate_sexp.Span.t) -> time_source: (([< `Read | `Set_and_create ], t, Core.read_write Synchronous_time_source.T1.t) Fieldslib.Field.t_with_perm -> t -> Core.read_write Synchronous_time_source.T1.t -> Core.read_write Synchronous_time_source.T1.t) -> external_jobs: (([< `Read | `Set_and_create ], t, Async_kernel__.Types.External_job.t Thread_safe_queue.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t -> Async_kernel__.Types.External_job.t Thread_safe_queue.t) -> thread_safe_external_job_hook: (([< `Read | `Set_and_create ], t, unit -> unit) Fieldslib.Field.t_with_perm -> t -> (unit -> unit) -> unit -> unit) -> job_queued_hook: (([< `Read | `Set_and_create ], t, (Priority.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Priority.t -> unit) option -> (Priority.t -> unit) option) -> event_added_hook: (([< `Read | `Set_and_create ], t, (Core.Time_ns.t -> unit) option) Fieldslib.Field.t_with_perm -> t -> (Core.Time_ns.t -> unit) option -> (Core.Time_ns.t -> unit) option) -> yield: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t) -> yield_until_no_jobs_remain: (([< `Read | `Set_and_create ], t, (unit, Core.read_write) Async_kernel__.Types.Bvar.t) Fieldslib.Field.t_with_perm -> t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> (unit, Core.read_write) Async_kernel__.Types.Bvar.t) -> check_invariants: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> max_num_jobs_per_priority_per_cycle: (([< `Read | `Set_and_create ], t, Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) Fieldslib.Field.t_with_perm -> t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t) -> record_backtraces: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> t -> bool -> bool) -> t
val set_all_mutable_fields : t -> check_access:(unit -> unit) option -> job_pool: (Execution_context.t, Obj.t -> unit, Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> main_execution_context:Execution_context.t -> current_execution_context:Execution_context.t -> uncaught_exn:(Core.Exn.t * Core.Sexp.t) option -> cycle_count:int -> cycle_start:Core.Time_ns.t -> in_cycle:bool -> run_every_cycle_start:(unit -> unit) list -> run_every_cycle_end:(unit -> unit) list -> last_cycle_time:Core.Core_private.Time_ns_alternate_sexp.Span.t -> last_cycle_num_jobs:int -> total_cycle_time:Core.Core_private.Time_ns_alternate_sexp.Span.t -> time_source:Core.read_write Synchronous_time_source.T1.t -> thread_safe_external_job_hook:(unit -> unit) -> job_queued_hook:(Priority.t -> unit) option -> event_added_hook:(Core.Time_ns.t -> unit) option -> yield:(unit, Core.read_write) Async_kernel__.Types.Bvar.t -> yield_until_no_jobs_remain: (unit, Core.read_write) Async_kernel__.Types.Bvar.t -> check_invariants:bool -> max_num_jobs_per_priority_per_cycle: Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> record_backtraces:bool -> unit