release method

void release()

Stops simulating for good: disarms, releases every request waiting out latency straight to inner (the principal is unchanged, so it is still the user's request), and passes through from now on, with no delay and no simulated offline. A request that began before a principalChanged is not released: it is aborted as the change already decided. If the mode was offline, online reports the network back, synchronously, so a held write can drain. Devtools calls this on dispose.

Implementation

void release() {
  if (_released) return;

  final wasOnline = isOnline;
  _released = true;
  disarm();
  _release.complete();
  _change(() => _announce(wasOnline));
}