View Source Finitomata.State (Finitomata v0.29.0)

Carries the state of the FSM.

Summary

Types

The map that holds last error which happened on transition (at given state and event).

The parent process for this particular FSM implementation

The payload that has been passed to the FSM instance on startup

t()

The internal representation of the FSM state

Functions

Exposes the short excerpt from state of FSM which is log-friendly

Types

last_error()

@type last_error() ::
  %{
    state: Finitomata.Transition.state(),
    event: Finitomata.Transition.event(),
    error: any()
  }
  | nil

The map that holds last error which happened on transition (at given state and event).

parent()

@type parent() :: nil | pid()

The parent process for this particular FSM implementation

payload()

@type payload() :: any()

The payload that has been passed to the FSM instance on startup

t()

@type t() :: %Finitomata.State{
  name: Finitomata.fsm_name(),
  finitomata_id: Finitomata.id(),
  parent: parent(),
  lifecycle: :loaded | :created | :unknown,
  persistency: nil | module(),
  listener: nil | module(),
  current: Finitomata.Transition.state(),
  payload: payload(),
  timer: false | {reference(), pos_integer()},
  cache_state: boolean(),
  hibernate: boolean() | [Finitomata.Transition.state()],
  history: [Finitomata.Transition.state()],
  last_error: last_error()
}

The internal representation of the FSM state

Functions

excerpt(state, payload? \\ true)

Exposes the short excerpt from state of FSM which is log-friendly