Module Async_unix.Raw_scheduler.Fields

val names : string list
val min_inter_cycle_timeout : ([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm
val max_inter_cycle_timeout : ([< `Read | `Set_and_create ], tImport.Max_inter_cycle_timeout.tFieldslib.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 ], tImport.Kernel_scheduler.tFieldslib.Field.t_with_perm
val next_tsc_calibration : ([< `Read | `Set_and_create ], tCore.Time_stamp_counter.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tThread_pool.tFieldslib.Field.t_with_perm
val signal_manager : ([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm
val interruptor : ([< `Read | `Set_and_create ], tInterruptor.tFieldslib.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 ], tCore.Linux_ext.Timerfd.t option) Fieldslib.Field.t_with_perm
val fd_by_descr : ([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm
val time_spent_waiting_for_io : ([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm
val file_descr_watcher : ([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm
val fds_whose_watching_has_changed : ([< `Read | `Set_and_create ], tFd.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 ], tCore.Nano_mutex.tFieldslib.Field.t_with_perm
val make_creator : mutex:(([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> 'e ‑> ('b ‑> Fd.t list) * 'f) ‑> file_descr_watcher:(([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> 'f ‑> ('b ‑> File_descr_watcher.t) * 'g) ‑> time_spent_waiting_for_io:(([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> 'g ‑> ('b ‑> Tsc.Span.t) * 'h) ‑> fd_by_descr:(([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> 'h ‑> ('b ‑> Fd_by_descr.t) * 'i) ‑> timerfd:(([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> 'k ‑> ('b ‑> Interruptor.t) * 'l) ‑> signal_manager:(([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> 'l ‑> ('b ‑> Raw_signal_manager.t) * 'm) ‑> thread_pool:(([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> 'q ‑> ('b ‑> Core.Time_stamp_counter.t) * 'r) ‑> kernel_scheduler:(([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.Field.t_with_perm ‑> 'r ‑> ('b ‑> 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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> 't ‑> ('b ‑> Import.Max_inter_cycle_timeout.t) * 'u) ‑> min_inter_cycle_timeout:(([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> 'u ‑> ('b ‑> 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:Import.Kernel_scheduler.t ‑> have_lock_do_cycle:(unit ‑> unit) option ‑> max_inter_cycle_timeout:Import.Max_inter_cycle_timeout.t ‑> min_inter_cycle_timeout:Import.Min_inter_cycle_timeout.t ‑> t
val map : mutex:(([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> Fd.t list) ‑> file_descr_watcher:(([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> File_descr_watcher.t) ‑> time_spent_waiting_for_io:(([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> Tsc.Span.t) ‑> fd_by_descr:(([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> Fd_by_descr.t) ‑> timerfd:(([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> Interruptor.t) ‑> signal_manager:(([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> Raw_signal_manager.t) ‑> thread_pool:(([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> Core.Time_stamp_counter.t) ‑> kernel_scheduler:(([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.Field.t_with_perm ‑> 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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> Import.Max_inter_cycle_timeout.t) ‑> min_inter_cycle_timeout:(([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> Import.Min_inter_cycle_timeout.t) ‑> t
val iter : mutex:(([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> unit) ‑> file_descr_watcher:(([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> unit) ‑> time_spent_waiting_for_io:(([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> unit) ‑> fd_by_descr:(([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> unit) ‑> timerfd:(([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> unit) ‑> signal_manager:(([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> unit) ‑> thread_pool:(([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> unit) ‑> kernel_scheduler:(([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> unit) ‑> min_inter_cycle_timeout:(([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> unit) ‑> unit
val fold : init:'a ‑> mutex:('a ‑> ([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> 'e) ‑> file_descr_watcher:('e ‑> ([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> 'f) ‑> time_spent_waiting_for_io:('f ‑> ([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> 'g) ‑> fd_by_descr:('g ‑> ([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> 'h) ‑> timerfd:('h ‑> ([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> 'k) ‑> signal_manager:('k ‑> ([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> 'l) ‑> thread_pool:('l ‑> ([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> 'q) ‑> kernel_scheduler:('q ‑> ([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> 't) ‑> min_inter_cycle_timeout:('t ‑> ([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> 'u) ‑> 'u
val map_poly : ([< `Read | `Set_and_create ], t'aFieldslib.Field.user ‑> 'a list
val for_all : mutex:(([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> bool) ‑> file_descr_watcher:(([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> bool) ‑> time_spent_waiting_for_io:(([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> bool) ‑> fd_by_descr:(([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> bool) ‑> timerfd:(([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> bool) ‑> signal_manager:(([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> bool) ‑> thread_pool:(([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> bool) ‑> kernel_scheduler:(([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> bool) ‑> min_inter_cycle_timeout:(([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> bool) ‑> bool
val exists : mutex:(([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> bool) ‑> file_descr_watcher:(([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> bool) ‑> time_spent_waiting_for_io:(([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> bool) ‑> fd_by_descr:(([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> bool) ‑> timerfd:(([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> bool) ‑> signal_manager:(([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> bool) ‑> thread_pool:(([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> bool) ‑> kernel_scheduler:(([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> bool) ‑> min_inter_cycle_timeout:(([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> bool) ‑> bool
val to_list : mutex:(([< `Read | `Set_and_create ], tCore.Nano_mutex.tFieldslib.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 ], tFd.t list) Fieldslib.Field.t_with_perm ‑> 'a) ‑> file_descr_watcher:(([< `Read | `Set_and_create ], tFile_descr_watcher.tFieldslib.Field.t_with_perm ‑> 'a) ‑> time_spent_waiting_for_io:(([< `Read | `Set_and_create ], tTsc.Span.tFieldslib.Field.t_with_perm ‑> 'a) ‑> fd_by_descr:(([< `Read | `Set_and_create ], tFd_by_descr.tFieldslib.Field.t_with_perm ‑> 'a) ‑> timerfd:(([< `Read | `Set_and_create ], tCore.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 ], tInterruptor.tFieldslib.Field.t_with_perm ‑> 'a) ‑> signal_manager:(([< `Read | `Set_and_create ], tRaw_signal_manager.tFieldslib.Field.t_with_perm ‑> 'a) ‑> thread_pool:(([< `Read | `Set_and_create ], tThread_pool.tFieldslib.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 ], tBusy_pollers.tFieldslib.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 ], tCore.Time_stamp_counter.tFieldslib.Field.t_with_perm ‑> 'a) ‑> kernel_scheduler:(([< `Read | `Set_and_create ], tImport.Kernel_scheduler.tFieldslib.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 ], tImport.Max_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> 'a) ‑> min_inter_cycle_timeout:(([< `Read | `Set_and_create ], tImport.Min_inter_cycle_timeout.tFieldslib.Field.t_with_perm ‑> 'a) ‑> 'a list
module Direct : sig ... end