dispose method

void dispose()

Releases timers and in-memory queue state.

Implementation

void dispose() {
  if (_disposed) return;
  _disposed = true;
  _delayedTimer?.cancel();
  _claimTimer?.cancel();
  for (final q in _queues.values) {
    q.dispose();
  }
  for (final subscription in _activeBroadcastSubscriptions.toList()) {
    subscription.close();
  }
  _activeBroadcastSubscriptions.clear();
  final remaining = (_namespaceRefs[namespace] ?? 1) - 1;
  if (remaining <= 0) {
    _namespaceRefs.remove(namespace);
    _broadcastHubs.remove(namespace);
  } else {
    _namespaceRefs[namespace] = remaining;
  }
}