package riot

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

Install

Dune Dependency

Authors

Maintainers

Sources

riot-0.0.5.tbz
sha256=01b7b82ccc656b12b7315960d9df17eb4682b8f1af68e9fee33171fee1f9cf88
sha512=d8831d8a75fe43a7e8d16d2c0bb7d27f6d975133e17c5dd89ef7e575039c59d27c1ab74fbadcca81ddfbc0c74d1e46c35baba35ef825b36ac6c4e49d7a41d0c2

doc/riot.core/Core/Process/index.html

Module Core.ProcessSource

Sourcetype exit_reason =
  1. | Normal
  2. | Exit_signal
  3. | Exception of exn
Sourcemodule Messages : sig ... end
Sourcetype state =
  1. | Runnable
  2. | Waiting_message
  3. | Waiting_io of {
    1. syscall : string;
    2. mode : [ `r | `rw | `w ];
    3. fd : Util.Fd.t;
    }
  4. | Running
  5. | Exited of exit_reason
  6. | Finalized
Sourcetype process_flags = {
  1. trap_exits : bool Atomic.t;
}
Sourcetype process_flag =
  1. | Trap_exit of bool
Sourceval default_flags : unit -> process_flags
Sourcetype t = {
  1. pid : Pid.t;
  2. sid : Scheduler_uid.t;
  3. flags : process_flags;
  4. state : state Atomic.t;
  5. mutable cont : exit_reason Proc_state.t;
  6. mailbox : Mailbox.t;
  7. save_queue : Mailbox.t;
  8. mutable read_save_queue : bool;
  9. monitors : Pid.t list Atomic.t;
}
Sourceexception Process_reviving_is_forbidden of t
Sourceval make : Scheduler_uid.t -> (unit -> exit_reason) -> t
Sourceval pp : Format.formatter -> t -> unit
Sourceval pp_state : Format.formatter -> state -> unit
Sourceval pp_reason : Format.formatter -> exit_reason -> unit
Sourceval pp_flags : Format.formatter -> process_flags -> unit
Sourceval pid : t -> Pid.t
Sourceval state : t -> state
Sourceval monitors : t -> Pid.t list
Sourceval is_alive : t -> bool
Sourceval is_exited : t -> bool
Sourceval is_waiting : t -> bool
Sourceval is_waiting_io : t -> bool
Sourceval is_runnable : t -> bool
Sourceval is_running : t -> bool
Sourceval is_finalized : t -> bool
Sourceval has_empty_mailbox : t -> bool
Sourceval has_messages : t -> bool
Sourceval message_count : t -> int
Sourceval should_awake : t -> bool
Sourceval mark_as_awaiting_io : t -> string -> [ `r | `rw | `w ] -> Util.Fd.t -> unit
Sourceval mark_as_awaiting_message : t -> unit
Sourceval mark_as_running : t -> unit
Sourceval mark_as_runnable : t -> unit
Sourceval mark_as_exited : t -> exit_reason -> unit
Sourceval mark_as_finalized : t -> unit
Sourceval set_flag : t -> process_flag -> unit
Sourceval set_cont : t -> exit_reason Proc_state.t -> unit
Sourceval add_monitor : t -> Pid.t -> unit
Sourceval next_message : t -> Message.envelope option
Sourceval add_to_save_queue : t -> Message.envelope -> unit
Sourceval read_save_queue : t -> unit
Sourceval send_message : t -> Message.t -> unit
OCaml

Innovation. Community. Security.