Statifier.Effect.Trace.TransitionsSelected (Statifier v2.0.0)

Copy Markdown View Source

Trace payload for {:trace, %__MODULE__{}} - emitted whenever select_transitions returns, including the empty set (docs/observability.md constraint 2's "transitions selected" row). t_indexes are the selected transitions' t_index identities (constraint 3, never %Statifier.Machine.Transition{} structs), in the order selection returned them. event is the event the selection matched against, or nil for an eventless round.

Built with new/2, never a struct literal, so macrostep/microstep/ round are always stamped from the Statifier.MachineState at hand.

Summary

Functions

Stamps macrostep/microstep/round from machine_state and sets fields (:t_indexes, optional :event).

Types

t()

@type t() :: %Statifier.Effect.Trace.TransitionsSelected{
  event: Statifier.Event.t() | nil,
  macrostep: non_neg_integer(),
  microstep: non_neg_integer(),
  round: non_neg_integer(),
  t_indexes: [non_neg_integer()]
}

Functions

new(machine_state, fields)

@spec new(machine_state :: Statifier.MachineState.t(), fields :: keyword()) :: t()

Stamps macrostep/microstep/round from machine_state and sets fields (:t_indexes, optional :event).