dispose method

Future<void> dispose()

Cancels timers and closes any active watchers.

Implementation

Future<void> dispose() async {
  for (final timer in _expiryTimers.values) {
    timer.cancel();
  }
  _expiryTimers.clear();
  final controllers = _watchers.values.toList(growable: false);
  _watchers.clear();
  for (final controller in controllers) {
    await controller.close();
  }

  for (final timer in _groupExpiry.values) {
    timer.cancel();
  }
  _groupExpiry.clear();
  _groups.clear();
  _claimedChords.clear();

  for (final timer in _heartbeatExpiry.values) {
    timer.cancel();
  }
  _heartbeatExpiry.clear();
  _heartbeats.clear();
}