package riot

  1. Overview
  2. Docs
An actor-model multi-core scheduler for OCaml 5

Install

Dune Dependency

Authors

Maintainers

Sources

riot-0.0.4.tbz
sha256=bd196369f74bbc42f23d262030d5fa04c03f5f00c46bf944f0dcbc193745976f
sha512=f1ca69e05b57e83a1bd173efe51b745d331355a83381e6068743a7626e45dcf515cdd8947180051bddfe9f5727c2732aa0f01a093b04cf33fa4081d32f24fd65

doc/riot.scheduler/Scheduler/index.html

Module SchedulerSource

Sourcemodule Tracer : sig ... end
Sourcetype 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;
}
Sourcetype pool = {
  1. mutable stop : bool;
  2. schedulers : t list;
  3. processes : Core.Proc_table.t;
}
Sourceval make : rnd:Random.State.t -> unit -> t
Sourceval get_current_scheduler : unit -> t
Sourceval set_current_scheduler : t -> unit
Sourceval get_current_process_pid : unit -> Core.Pid.t
Sourceval set_current_process_pid : Core.Pid.t -> unit
Sourceval get_random_scheduler : pool -> t
Sourceval set_timer : t -> float -> [ `interval | `one_off ] -> (unit -> unit) -> unit Core.Ref.t
Sourceval add_to_run_queue : t -> Core.Process.t -> unit
Sourceval awake_process : pool -> Core.Process.t -> unit
Sourceval run : pool -> t -> unit -> unit
Sourcemodule Pool : sig ... end
OCaml

Innovation. Community. Security.