Class TimelyCommunicationTracker
java.lang.Object
tools.refinery.interpreter.rete.network.communication.CommunicationTracker
tools.refinery.interpreter.rete.network.communication.timely.TimelyCommunicationTracker
Timely (DDF) implementation of the
CommunicationTracker.- Since:
- 2.3
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final TimelyConfigurationThis static field is used for debug purposes in the DotGenerator.Fields inherited from class tools.refinery.interpreter.rete.network.communication.CommunicationTracker
dependencyGraph, groupMap, groupQueue, maxGroupId, minGroupId -
Constructor Summary
ConstructorsConstructorDescriptionTimelyCommunicationTracker(org.apache.log4j.Logger logger, TimelyConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescriptionprotected CommunicationGroupcreateGroup(Node representative, int index) protected TimestampTransformationgetPreprocessor(Node source, Node target) 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
-
Field Details
-
configuration
-
EDGE_LABEL_FUNCTION
This static field is used for debug purposes in the DotGenerator.
-
-
Constructor Details
-
TimelyCommunicationTracker
public TimelyCommunicationTracker(org.apache.log4j.Logger logger, TimelyConfiguration configuration)
-
-
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
-
getPreprocessor
-
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
-