An instance of this class is associated with every
ReteContainer
. The tracker serves two purposes:
(1) It allows RETE nodes to register their communication dependencies on-the-fly. These dependencies can be
registered or unregistered when nodes are disposed of.
(2) It allows RETE nodes to register their mailboxes as dirty, that is, they can tell the tracker that they have
something to send to other nodes in the network. The tracker is then responsible for ordering these messages (more
precisely, the mailboxes that contain the messages) for the associated
ReteContainer
. The ordering is
governed by the strongly connected components in the dependency network and follows a topological sorting scheme;
those mailboxes will be emptied first whose owner nodes do not depend on other undelivered messages.