package async_unix

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val names : string list
val min_inter_cycle_timeout : ([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm
val max_inter_cycle_timeout : ([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm
val have_lock_do_cycle : ([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm
val kernel_scheduler : ([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm
val next_tsc_calibration : ([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm
val busy_poll_thread_is_running : ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm
val busy_pollers : ([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm
val handle_thread_pool_stuck : ([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm
val thread_pool : ([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm
val signal_manager : ([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm
val interruptor : ([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm
val scheduler_thread_id : ([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm
val timerfd : ([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm
val fd_by_descr : ([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm
val time_spent_waiting_for_io : ([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm
val file_descr_watcher : ([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm
val fds_whose_watching_has_changed : ([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm
val have_called_go : ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm
val is_running : ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm
val mutex : ([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm
val make_creator : mutex: (([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> 'a -> ('b -> Core.Nano_mutex.t) * 'c) -> is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'c -> ('b -> bool) * 'd) -> have_called_go: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'd -> ('b -> bool) * 'e) -> fds_whose_watching_has_changed: (([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> 'e -> ('b -> Fd.t list) * 'f) -> file_descr_watcher: (([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> 'f -> ('b -> File_descr_watcher.t) * 'g) -> time_spent_waiting_for_io: (([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> 'g -> ('b -> Tsc.Span.t) * 'h) -> fd_by_descr: (([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> 'h -> ('b -> Fd_by_descr.t) * 'i) -> timerfd: (([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> 'i -> ('b -> Core.Linux_ext.Timerfd.t option) * 'j) -> scheduler_thread_id: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> 'j -> ('b -> int) * 'k) -> interruptor: (([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> 'k -> ('b -> Interruptor.t) * 'l) -> signal_manager: (([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> 'l -> ('b -> Raw_signal_manager.t) * 'm) -> thread_pool: (([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> 'm -> ('b -> Thread_pool.t) * 'n) -> handle_thread_pool_stuck: (([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> 'n -> ('b -> stuck_for:Core.Time_ns.Span.t -> unit) * 'o) -> busy_pollers: (([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> 'o -> ('b -> Busy_pollers.t) * 'p) -> busy_poll_thread_is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'p -> ('b -> bool) * 'q) -> next_tsc_calibration: (([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> 'q -> ('b -> Core.Time_stamp_counter.t) * 'r) -> kernel_scheduler: (([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> 'r -> ('b -> Async_unix.Import.Kernel_scheduler.t) * 's) -> have_lock_do_cycle: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> 's -> ('b -> (unit -> unit) option) * 't) -> max_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> 't -> ('b -> Async_unix.Import.Max_inter_cycle_timeout.t) * 'u) -> min_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> 'u -> ('b -> Async_unix.Import.Min_inter_cycle_timeout.t) * 'v) -> 'a -> ('b -> t) * 'v
val create : mutex:Core.Nano_mutex.t -> is_running:bool -> have_called_go:bool -> fds_whose_watching_has_changed:Fd.t list -> file_descr_watcher:File_descr_watcher.t -> time_spent_waiting_for_io:Tsc.Span.t -> fd_by_descr:Fd_by_descr.t -> timerfd:Core.Linux_ext.Timerfd.t option -> scheduler_thread_id:int -> interruptor:Interruptor.t -> signal_manager:Raw_signal_manager.t -> thread_pool:Thread_pool.t -> handle_thread_pool_stuck:(stuck_for:Core.Time_ns.Span.t -> unit) -> busy_pollers:Busy_pollers.t -> busy_poll_thread_is_running:bool -> next_tsc_calibration:Core.Time_stamp_counter.t -> kernel_scheduler:Async_unix.Import.Kernel_scheduler.t -> have_lock_do_cycle:(unit -> unit) option -> max_inter_cycle_timeout:Async_unix.Import.Max_inter_cycle_timeout.t -> min_inter_cycle_timeout:Async_unix.Import.Min_inter_cycle_timeout.t -> t
val map : mutex: (([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> Core.Nano_mutex.t) -> is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> have_called_go: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> fds_whose_watching_has_changed: (([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> Fd.t list) -> file_descr_watcher: (([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> File_descr_watcher.t) -> time_spent_waiting_for_io: (([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> Tsc.Span.t) -> fd_by_descr: (([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> Fd_by_descr.t) -> timerfd: (([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> Core.Linux_ext.Timerfd.t option) -> scheduler_thread_id: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> int) -> interruptor: (([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> Interruptor.t) -> signal_manager: (([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> Raw_signal_manager.t) -> thread_pool: (([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> Thread_pool.t) -> handle_thread_pool_stuck: (([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> stuck_for:Core.Time_ns.Span.t -> unit) -> busy_pollers: (([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> Busy_pollers.t) -> busy_poll_thread_is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> next_tsc_calibration: (([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> Core.Time_stamp_counter.t) -> kernel_scheduler: (([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> Async_unix.Import.Kernel_scheduler.t) -> have_lock_do_cycle: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> (unit -> unit) option) -> max_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> Async_unix.Import.Max_inter_cycle_timeout.t) -> min_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> Async_unix.Import.Min_inter_cycle_timeout.t) -> t
val iter : mutex: (([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> unit) -> is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> unit) -> have_called_go: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> unit) -> fds_whose_watching_has_changed: (([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> unit) -> file_descr_watcher: (([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> unit) -> time_spent_waiting_for_io: (([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> unit) -> fd_by_descr: (([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> unit) -> timerfd: (([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> unit) -> scheduler_thread_id: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> unit) -> interruptor: (([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> unit) -> signal_manager: (([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> unit) -> thread_pool: (([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> unit) -> handle_thread_pool_stuck: (([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> unit) -> busy_pollers: (([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> unit) -> busy_poll_thread_is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> unit) -> next_tsc_calibration: (([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> unit) -> kernel_scheduler: (([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> unit) -> have_lock_do_cycle: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> unit) -> max_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> unit) -> min_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> unit) -> unit
val fold : init:'a -> mutex: ('a -> ([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> 'b) -> is_running: ('b -> ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'c) -> have_called_go: ('c -> ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'd) -> fds_whose_watching_has_changed: ('d -> ([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> 'e) -> file_descr_watcher: ('e -> ([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> 'f) -> time_spent_waiting_for_io: ('f -> ([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> 'g) -> fd_by_descr: ('g -> ([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> 'h) -> timerfd: ('h -> ([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> 'i) -> scheduler_thread_id: ('i -> ([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> 'j) -> interruptor: ('j -> ([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> 'k) -> signal_manager: ('k -> ([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> 'l) -> thread_pool: ('l -> ([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> 'm) -> handle_thread_pool_stuck: ('m -> ([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> 'n) -> busy_pollers: ('n -> ([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> 'o) -> busy_poll_thread_is_running: ('o -> ([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'p) -> next_tsc_calibration: ('p -> ([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> 'q) -> kernel_scheduler: ('q -> ([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> 'r) -> have_lock_do_cycle: ('r -> ([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> 's) -> max_inter_cycle_timeout: ('s -> ([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> 't) -> min_inter_cycle_timeout: ('t -> ([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> 'u) -> 'u
val map_poly : ([< `Read | `Set_and_create ], t, 'a) Fieldslib.Field.user -> 'a list
val for_all : mutex: (([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> bool) -> is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> have_called_go: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> fds_whose_watching_has_changed: (([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> bool) -> file_descr_watcher: (([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> bool) -> time_spent_waiting_for_io: (([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> bool) -> fd_by_descr: (([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> bool) -> timerfd: (([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> bool) -> scheduler_thread_id: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> bool) -> interruptor: (([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> bool) -> signal_manager: (([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> bool) -> thread_pool: (([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> bool) -> handle_thread_pool_stuck: (([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> bool) -> busy_pollers: (([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> bool) -> busy_poll_thread_is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> next_tsc_calibration: (([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> bool) -> kernel_scheduler: (([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> bool) -> have_lock_do_cycle: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> bool) -> max_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> bool) -> min_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> bool) -> bool
val exists : mutex: (([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> bool) -> is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> have_called_go: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> fds_whose_watching_has_changed: (([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> bool) -> file_descr_watcher: (([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> bool) -> time_spent_waiting_for_io: (([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> bool) -> fd_by_descr: (([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> bool) -> timerfd: (([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> bool) -> scheduler_thread_id: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> bool) -> interruptor: (([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> bool) -> signal_manager: (([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> bool) -> thread_pool: (([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> bool) -> handle_thread_pool_stuck: (([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> bool) -> busy_pollers: (([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> bool) -> busy_poll_thread_is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> bool) -> next_tsc_calibration: (([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> bool) -> kernel_scheduler: (([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> bool) -> have_lock_do_cycle: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> bool) -> max_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> bool) -> min_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> bool) -> bool
val to_list : mutex: (([< `Read | `Set_and_create ], t, Core.Nano_mutex.t) Fieldslib.Field.t_with_perm -> 'a) -> is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'a) -> have_called_go: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'a) -> fds_whose_watching_has_changed: (([< `Read | `Set_and_create ], t, Fd.t list) Fieldslib.Field.t_with_perm -> 'a) -> file_descr_watcher: (([< `Read | `Set_and_create ], t, File_descr_watcher.t) Fieldslib.Field.t_with_perm -> 'a) -> time_spent_waiting_for_io: (([< `Read | `Set_and_create ], t, Tsc.Span.t) Fieldslib.Field.t_with_perm -> 'a) -> fd_by_descr: (([< `Read | `Set_and_create ], t, Fd_by_descr.t) Fieldslib.Field.t_with_perm -> 'a) -> timerfd: (([< `Read | `Set_and_create ], t, Core.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm -> 'a) -> scheduler_thread_id: (([< `Read | `Set_and_create ], t, int) Fieldslib.Field.t_with_perm -> 'a) -> interruptor: (([< `Read | `Set_and_create ], t, Interruptor.t) Fieldslib.Field.t_with_perm -> 'a) -> signal_manager: (([< `Read | `Set_and_create ], t, Raw_signal_manager.t) Fieldslib.Field.t_with_perm -> 'a) -> thread_pool: (([< `Read | `Set_and_create ], t, Thread_pool.t) Fieldslib.Field.t_with_perm -> 'a) -> handle_thread_pool_stuck: (([< `Read | `Set_and_create ], t, stuck_for:Core.Time_ns.Span.t -> unit) Fieldslib.Field.t_with_perm -> 'a) -> busy_pollers: (([< `Read | `Set_and_create ], t, Busy_pollers.t) Fieldslib.Field.t_with_perm -> 'a) -> busy_poll_thread_is_running: (([< `Read | `Set_and_create ], t, bool) Fieldslib.Field.t_with_perm -> 'a) -> next_tsc_calibration: (([< `Read | `Set_and_create ], t, Core.Time_stamp_counter.t) Fieldslib.Field.t_with_perm -> 'a) -> kernel_scheduler: (([< `Read | `Set_and_create ], t, Async_unix.Import.Kernel_scheduler.t) Fieldslib.Field.t_with_perm -> 'a) -> have_lock_do_cycle: (([< `Read | `Set_and_create ], t, (unit -> unit) option) Fieldslib.Field.t_with_perm -> 'a) -> max_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Max_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> 'a) -> min_inter_cycle_timeout: (([< `Read | `Set_and_create ], t, Async_unix.Import.Min_inter_cycle_timeout.t) Fieldslib.Field.t_with_perm -> 'a) -> 'a list
module Direct : sig ... end