Class TimelessCommunicationTracker
java.lang.Object
tools.refinery.interpreter.rete.network.communication.CommunicationTracker
tools.refinery.interpreter.rete.network.communication.timeless.TimelessCommunicationTracker
Timeless implementation of the communication tracker.
- Since:
- 2.2
-
Field Summary
Fields inherited from class tools.refinery.interpreter.rete.network.communication.CommunicationTracker
dependencyGraph, groupMap, groupQueue, maxGroupId, minGroupId -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected CommunicationGroupcreateGroup(Node representative, int index) protected voidThis hook allows concrete tracker implementations to perform tracker-specific post processing on groups.protected voidpostProcessNode(Node node) This hook allows concrete tracker implementations to perform tracker-specific post processing on nodes (cf.proxifyIndexerListener(Node requester, IndexerListener original) Creates a proxy for the givenIndexerListenerfor the given requesterNode.proxifyMailbox(Node requester, Mailbox original) protected voidreconstructQueueContents(Set<CommunicationGroup> oldActiveGroups) This method is responsible for reconstructing the active queue contents after the network structure has changed.Methods inherited from class tools.refinery.interpreter.rete.network.communication.CommunicationTracker
activateUnenqueued, areInSameGroup, createAndStoreGroup, deactivate, getAndRemoveFirstGroup, getDependencyGraph, getGroup, getPartition, getReducedGraph, getRepresentative, hasOutgoingEdges, isEmpty, isInRecursiveGroup, isRecursionCutPoint, isSingleton, registerDependency, unregisterDependency
-
Constructor Details
-
TimelessCommunicationTracker
public TimelessCommunicationTracker(org.apache.log4j.Logger logger)
-
-
Method Details
-
createGroup
- Specified by:
createGroupin classCommunicationTracker
-
reconstructQueueContents
Description copied from class:CommunicationTrackerThis method is responsible for reconstructing the active queue contents after the network structure has changed. It it defined as abstract because the reconstruction logic is specific to eachCommunicationTracker.- Specified by:
reconstructQueueContentsin classCommunicationTracker
-
proxifyMailbox
Description copied from class:CommunicationTrackerCreates a proxy for the givenMailboxfor the given requesterNode. The proxy creation isCommunicationTracker-specific and depends on the identity of the requester. This method is primarily used to createTimelyMailboxProxys depending on the network topology. There is no guarantee that the same proxy instance is returned when this method is called multiple times with the same arguments.- Specified by:
proxifyMailboxin classCommunicationTracker
-
proxifyIndexerListener
Description copied from class:CommunicationTrackerCreates a proxy for the givenIndexerListenerfor the given requesterNode. The proxy creation isCommunicationTracker-specific and depends on the identity of the requester. This method is primarily used to createTimelyIndexerListenerProxys depending on the network topology. There is no guarantee that the same proxy instance is returned when this method is called multiple times with the same arguments.- Specified by:
proxifyIndexerListenerin classCommunicationTracker
-
postProcessNode
Description copied from class:CommunicationTrackerThis hook allows concrete tracker implementations to perform tracker-specific post processing on nodes (cf.NetworkStructureChangeSensitiveNodeandBehaviorChangingMailbox). At the time of the invocation, the network topology has already been updated.- Specified by:
postProcessNodein classCommunicationTracker
-
postProcessGroup
Description copied from class:CommunicationTrackerThis hook allows concrete tracker implementations to perform tracker-specific post processing on groups. At the time of the invocation, the network topology has already been updated.- Specified by:
postProcessGroupin classCommunicationTracker
-