One macrostep's worth of an StatifierUI.EventLog.t(): its rounds, its
round-less effect.* messages, and two summaries derived from its rounds
rather than carried on any single message.
configuration is the configuration of the last round (by round order)
that carried a trace.macrostep_stable - statifier ADR-0044's rule that
the last-arriving trace.macrostep_stable in a macrostep is that
macrostep's quiescence, since a stream may carry more than one. event
is the first round's dequeued event, nil for the initialize burst,
which lets a collapsed macrostep be summarized by what triggered it
without inspecting every round.
Summary
Functions
Builds a macrostep from its already-ordered rounds and its already-sorted
round-less effects, deriving configuration and event from rounds.
Types
@type t() :: %StatifierUI.EventLog.Macrostep{ configuration: [non_neg_integer()] | nil, effects: [StatifierUI.Trace.Message.t()], event: map() | nil, macrostep: non_neg_integer(), rounds: [StatifierUI.EventLog.Round.t()] }
Functions
@spec new(non_neg_integer(), [StatifierUI.EventLog.Round.t()], [ StatifierUI.Trace.Message.t() ]) :: t()
Builds a macrostep from its already-ordered rounds and its already-sorted
round-less effects, deriving configuration and event from rounds.