StatifierUI.EventLog.Round (StatifierUI v0.1.0)

Copy Markdown View Source

One (macrostep, round) bucket of an StatifierUI.EventLog.t().

A round is the timeline key the wire format names (docs/wire-format.md:91-94): the messages an event's dequeue (or, for the initialize burst and any eventless probe, the absence of one) sets in motion, up to and including the round's own trace.macrostep_stable when it reached quiescence.

Every field below is populated by folding this round's messages in {microstep, seq} order (StatifierUI.EventLog.build/1); nothing here is computed by inspecting the round's messages a second time, so the struct and messages never disagree about what happened.

Summary

Types

t()

@type t() :: %StatifierUI.EventLog.Round{
  budget_exhausted: map() | nil,
  cause: map() | nil,
  configuration: [non_neg_integer()] | nil,
  content: [%{owner: map(), c_indexes: [non_neg_integer()]}],
  done: map() | nil,
  entered: [non_neg_integer()],
  event: map() | nil,
  eventless?: boolean(),
  exited: [non_neg_integer()],
  from: String.t() | nil,
  macrostep: non_neg_integer(),
  messages: [StatifierUI.Trace.Message.t()],
  round: non_neg_integer(),
  t_indexes: [non_neg_integer()] | nil
}