dispose method
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();
}