gleam/otp/system

Types

pub type DebugOption {
  NoDebug
}

Constructors

  • NoDebug
pub external type DebugState
pub type Mode {
  Running
  Suspended
}

Constructors

  • Running
  • Suspended
pub type StatusInfo {
  StatusInfo(
    module: Atom,
    parent: Pid,
    mode: Mode,
    debug_state: DebugState,
    state: Dynamic,
  )
}

Constructors

  • StatusInfo(
      module: Atom,
      parent: Pid,
      mode: Mode,
      debug_state: DebugState,
      state: Dynamic,
    )
pub type SystemMessage {
  Resume(fn() -> Nil)
  Suspend(fn() -> Nil)
  GetState(fn(Dynamic) -> Nil)
  GetStatus(fn(StatusInfo) -> Nil)
}

Constructors

  • Resume(fn() -> Nil)
  • Suspend(fn() -> Nil)
  • GetState(fn(Dynamic) -> Nil)
  • GetStatus(fn(StatusInfo) -> Nil)

Functions

pub external fn debug_state(List(DebugOption)) -> DebugState
pub external fn get_state(from: Pid) -> Dynamic

Get the state of a given OTP compatible process. This function is only intended for debugging.

For more information see the Erlang documentation.

pub fn resume(pid: Pid) -> Nil

Request a suspended OTP compatible process to result, causing it to handle all messages rather than only system messages.

For more information see the Erlang documentation.

pub fn suspend(pid: Pid) -> Nil

Request an OTP compatible process to suspend, causing it to only handle system messages.

For more information see the Erlang documentation.