|
tess 1.0.0
Performance-first tile and path simulation substrate
|
#include <tess/diagnostics/diagnostics.h>
Public Member Functions | |
| void | observe_tick (std::uint64_t tick) noexcept |
| void | record_admitted () noexcept |
| Records one admission at the current observation tick. | |
| void | record_left_outstanding () noexcept |
| Records one terminal transition leaving the outstanding set. | |
Public Attributes | |
| FlowCounters | counters {} |
| The accumulated flow counters. | |
| std::uint64_t | last_observed_tick = 0 |
| The most recent tick passed to an observation. | |
Caller-owned accountant one flow updates at its transitions.
Attach while the flow is empty, keep it alive for the attachment, and drive time accounting by calling the flow's observe_flow_tick once per simulation tick with a monotonic tick, before that tick's transitions. Inventory is weighted by elapsed ticks: an observation at tick t adds outstanding * (t - last_observed_tick). Accounting is serial: concurrent flows synchronize updates under their own locks, and snapshots are meaningful only at quiescent points.
|
inlinenoexcept |
Weights current inventory by the elapsed ticks since the last observation and advances the observation clock.