Back to index
|virtual nsresult||Propagate (const InstantiationSet &aInstantiations, void *aClosure)=0|
|Propagate a set of instantiations "down" through the network. |
A abstract base class for all nodes in the rule network.
|virtual nsresult ReteNode::Propagate||(||const InstantiationSet &||aInstantiations,|
Propagate a set of instantiations "down" through the network.
Each instantiation is a partial set of variable-to-value assignments, along with the memory elements that support it.
The node must evaluate each instantiation, and either 1) extend it with additional assignments and memory-element support, or 2) remove it from the set because it is inconsistent with the constraints that this node applies.
The node must then pass the resulting instantiation set along to any of its children in the network. (In other words, the node must recursively call Propagate() on its children. We should fix this to make the algorithm interruptable.)
|aInstantiations||the set of instantiations to propagate down through the network.|
|aClosure||any application-specific information that needs to be passed through the network.|