emit method
void
emit(
- RuntimeEvent event
Emits event to subscribers (after a microtask, like a real stream).
A terminal (Exited/Died) is LATCHED as retained state BEFORE the
emission and deregisters the live session — exactly the real provider's
_emitExit shape, so a zero-listener emission stays queryable through
terminalOf.
Implementation
void emit(RuntimeEvent event) {
switch (event) {
case Exited() || Died():
_terminals[event.name] = event;
_live.remove(event.name);
case SessionStarted() || Respawned() || ActivityChanged():
break;
}
_events.add(event);
}