ReactiveNode class

A node in the reactive dependency graph.

Anything that participates in reactivity — a value source (signal-like), a derived value (computed-like) or a side effect (effect-like) — is a ReactiveNode. A node keeps two intrusive doubly-linked lists:

  • deps/depsTail: the nodes it reads from (its dependencies);
  • subs/subsTail: the nodes that read it (its subscribers).

Each edge between two nodes is one ReactiveLink, shared by both lists. This gives O(1) insertion/removal with zero hashing and zero snapshot allocation during propagation.

Um nó no grafo reativo de dependências.

Tudo que participa da reatividade — uma fonte de valor (tipo signal), um valor derivado (tipo computed) ou um efeito colateral (tipo effect) — é um ReactiveNode. Um nó mantém duas listas duplamente ligadas intrusivas:

  • deps/depsTail: os nós que ele lê (suas dependências);
  • subs/subsTail: os nós que o leem (seus subscribers).

Cada aresta entre dois nós é um único ReactiveLink, compartilhado pelas duas listas. Isso dá inserção/remoção O(1) sem hashing e sem alocação de snapshot durante a propagação.

Implementers

Constructors

ReactiveNode({required ReactiveFlags flags})
Creates a node with the given initial flags. / Cria um nó com as flags iniciais dadas.

Properties

deps ReactiveLink?
Head of this node's dependency list. / Cabeça da lista de dependências.
getter/setter pair
depsTail ReactiveLink?
Tail of the dependency list (O(1) append; also the re-tracking cursor — see ReactiveEngine.link). / Cauda da lista de dependências (append O(1); também o cursor de re-rastreamento — ver ReactiveEngine.link).
getter/setter pair
flags ReactiveFlags
Current state flags. / Flags de estado atuais.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
subs ReactiveLink?
Head of this node's subscriber list. / Cabeça da lista de subscribers.
getter/setter pair
subsTail ReactiveLink?
Tail of the subscriber list. / Cauda da lista de subscribers.
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited