removeNode method

bool removeNode(
  1. Topic topic,
  2. EventNode node
)
inherited

This method is called every time a listener closes the stream. The node is kept when it has listeners, a request handler, a pin from a transport, or when this is a model bus.

Implementation

bool removeNode(Topic topic, EventNode node) {
  final pinned = node is KeepAliveNode && (node as KeepAliveNode).keepAlive;
  if (!node.streamControllerValue.hasListener &&
      !isModelBus &&
      !_hasHandlerFor(topic) &&
      !pinned) {
    unawaited(node.dispose());
    _eventsMap.remove(topic);
    _patternMap.remove(topic);
    return true;
  }
  return false;
}