package riot

  1. Overview
  2. Docs
module Tracer : sig ... end
module Uid = Core.Scheduler_uid
type t = {
  1. uid : Uid.t;
  2. rnd : Random.State.t;
  3. run_queue : Core.Proc_queue.t;
  4. sleep_set : Core.Proc_set.t;
  5. timers : Time.Timer_wheel.t;
  6. io_tbl : Net.Io.t;
}
type pool = {
  1. mutable stop : bool;
  2. schedulers : t list;
  3. processes : Core.Proc_table.t;
}
val make : rnd:Random.State.t -> unit -> t
val get_current_scheduler : unit -> t
val set_current_scheduler : t -> unit
val get_current_process_pid : unit -> Core.Pid.t
val set_current_process_pid : Core.Pid.t -> unit
val get_random_scheduler : pool -> t
val set_timer : t -> float -> [ `interval | `one_off ] -> (unit -> unit) -> unit Core.Ref.t
val add_to_run_queue : t -> Core.Process.t -> unit
val awake_process : pool -> Core.Process.t -> unit
val run : pool -> t -> unit -> unit
module Pool : sig ... end
OCaml

Innovation. Community. Security.