Module Raw_scheduler.T.Fields

module Fields: sig .. end

val names : string list
val thread_safe_finalizer_hook : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, unit -> unit)
Fieldslib.Field.t_with_perm
val finalizer_jobs : ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm
val events : ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm
val last_cycle_num_jobs : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm
val last_cycle_time : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm
val run_every_cycle_start : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, (unit -> unit) list)
Fieldslib.Field.t_with_perm
val cycle_start : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Core.Std.Time.t)
Fieldslib.Field.t_with_perm
val cycle_count : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm
val num_jobs_run : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm
val global_kill_index : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Kill_index.t)
Fieldslib.Field.t_with_perm
val uncaught_exn : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Core.Std.Error.t option)
Fieldslib.Field.t_with_perm
val max_num_jobs_per_priority_per_cycle : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm
val current_execution_context : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Execution_context.t)
Fieldslib.Field.t_with_perm
val main_execution_context : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Execution_context.t)
Fieldslib.Field.t_with_perm
val jobs : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm
val check_access : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, (unit -> unit) option)
Fieldslib.Field.t_with_perm
val make_creator : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm ->
'a -> ('b -> (unit -> unit) option) * 'c) ->
jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> 'c -> ('b -> Jobs.t) * 'd) ->
main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm ->
'd -> ('b -> Execution_context.t) * 'e) ->
current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm ->
'e -> ('b -> Execution_context.t) * 'f) ->
max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm ->
'f -> ('b -> int) * 'g) ->
uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm ->
'g -> ('b -> Core.Std.Error.t option) * 'h) ->
global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm ->
'h -> ('b -> Kill_index.t) * 'i) ->
num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'i -> ('b -> int) * 'j) ->
cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'j -> ('b -> int) * 'k) ->
cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm ->
'k -> ('b -> Core.Std.Time.t) * 'l) ->
run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm ->
'l -> ('b -> (unit -> unit) list) * 'm) ->
last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm ->
'm -> ('b -> Core.Std.Time.Span.t) * 'n) ->
last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'n -> ('b -> int) * 'o) ->
events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm ->
'o -> ('b -> Job.t Core.Std.Timing_wheel.t) * 'p) ->
finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm ->
'p ->
('b ->
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque) *
'q) ->
thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm ->
'q -> ('b -> unit -> unit) * 'r) ->
'a -> ('b -> Raw_scheduler.T.t) * 'r
val create : check_access:(unit -> unit) option ->
jobs:Jobs.t ->
main_execution_context:Execution_context.t ->
current_execution_context:Execution_context.t ->
max_num_jobs_per_priority_per_cycle:int ->
uncaught_exn:Core.Std.Error.t option ->
global_kill_index:Kill_index.t ->
num_jobs_run:int ->
cycle_count:int ->
cycle_start:Core.Std.Time.t ->
run_every_cycle_start:(unit -> unit) list ->
last_cycle_time:Core.Std.Time.Span.t ->
last_cycle_num_jobs:int ->
events:Job.t Core.Std.Timing_wheel.t ->
finalizer_jobs:Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque ->
thread_safe_finalizer_hook:(unit -> unit) -> Raw_scheduler.T.t
val map : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm -> (unit -> unit) option) ->
jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> Jobs.t) ->
main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> Execution_context.t) ->
current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> Execution_context.t) ->
max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> int) ->
uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm -> Core.Std.Error.t option) ->
global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm -> Kill_index.t) ->
num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> int) ->
cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> int) ->
cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm -> Core.Std.Time.t) ->
run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm -> (unit -> unit) list) ->
last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm -> Core.Std.Time.Span.t) ->
last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> int) ->
events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm -> Job.t Core.Std.Timing_wheel.t) ->
finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm ->
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque) ->
thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm -> unit -> unit) ->
Raw_scheduler.T.t
val iter : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm -> 'a) ->
jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> 'b) ->
main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> 'c) ->
current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> 'd) ->
max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'e) ->
uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm -> 'f) ->
global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm -> 'g) ->
num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'h) ->
cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'i) ->
cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm -> 'j) ->
run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm -> 'k) ->
last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm -> 'l) ->
last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'm) ->
events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm -> 'n) ->
finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm -> 'o) ->
thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm -> 'p) ->
'p
val fold : init:'a ->
check_access:('a ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm -> 'b) ->
jobs:('b ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> 'c) ->
main_execution_context:('c ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> 'd) ->
current_execution_context:('d ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> 'e) ->
max_num_jobs_per_priority_per_cycle:('e ->
([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'f) ->
uncaught_exn:('f ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm -> 'g) ->
global_kill_index:('g ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm -> 'h) ->
num_jobs_run:('h ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'i) ->
cycle_count:('i ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'j) ->
cycle_start:('j ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm -> 'k) ->
run_every_cycle_start:('k ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm -> 'l) ->
last_cycle_time:('l ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm -> 'm) ->
last_cycle_num_jobs:('m ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'n) ->
events:('n ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm -> 'o) ->
finalizer_jobs:('o ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm -> 'p) ->
thread_safe_finalizer_hook:('p ->
([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm -> 'q) ->
'q
val map_poly : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, 'a) Fieldslib.Field.user ->
'a list
val for_all : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm -> bool) ->
jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> bool) ->
main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> bool) ->
current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> bool) ->
max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm -> bool) ->
global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm -> bool) ->
num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm -> bool) ->
run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm -> bool) ->
last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm -> bool) ->
last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm -> bool) ->
finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm -> bool) ->
thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm -> bool) ->
bool
val exists : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm -> bool) ->
jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> bool) ->
main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> bool) ->
current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> bool) ->
max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm -> bool) ->
global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm -> bool) ->
num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm -> bool) ->
run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm -> bool) ->
last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm -> bool) ->
last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> bool) ->
events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm -> bool) ->
finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm -> bool) ->
thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm -> bool) ->
bool
val to_list : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) option)
Fieldslib.Field.t_with_perm -> 'a) ->
jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
Fieldslib.Field.t_with_perm -> 'a) ->
main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> 'a) ->
current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Execution_context.t)
Fieldslib.Field.t_with_perm -> 'a) ->
max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'a) ->
uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Error.t option)
Fieldslib.Field.t_with_perm -> 'a) ->
global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Kill_index.t)
Fieldslib.Field.t_with_perm -> 'a) ->
num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'a) ->
cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'a) ->
cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.t)
Fieldslib.Field.t_with_perm -> 'a) ->
run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
(unit -> unit) list)
Fieldslib.Field.t_with_perm -> 'a) ->
last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Core.Std.Time.Span.t)
Fieldslib.Field.t_with_perm -> 'a) ->
last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
Fieldslib.Field.t_with_perm -> 'a) ->
events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Timing_wheel.t)
Fieldslib.Field.t_with_perm -> 'a) ->
finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
Fieldslib.Field.t_with_perm -> 'a) ->
thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
unit -> unit)
Fieldslib.Field.t_with_perm -> 'a) ->
'a list
module Direct: sig .. end