dispose method

void dispose({
  1. bool purgeZeroize = false,
})

Permanently disposes this node, clearing all subscribers.

If purgeZeroize is true and this node's value implements Zeroizable, the value is zeroized before the node is marked disposed.

After disposal:

Calling dispose on an already-disposed node is a safe no-op (idempotent).

Implementation

void dispose({bool purgeZeroize = false}) {
  if (_isDisposed) {
    return;
  }

  if (purgeZeroize) {
    final val = _value;
    if (val is Zeroizable) {
      val.zeroize();
    }
  }

  _isDisposed = true;
  _head = null;
  _tail = null;
  _subscriberCount = 0;
}