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 TimelyConfiguration
This 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 CommunicationGroup
createGroup
(Node representative, int index) protected TimestampTransformation
getPreprocessor
(Node source, Node target) protected void
This hook allows concrete tracker implementations to perform tracker-specific post processing on groups.protected void
postProcessNode
(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 givenIndexerListener
for the given requesterNode
.proxifyMailbox
(Node requester, Mailbox original) protected void
reconstructQueueContents
(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:
createGroup
in classCommunicationTracker
-
reconstructQueueContents
Description copied from class:CommunicationTracker
This 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:
reconstructQueueContents
in classCommunicationTracker
-
proxifyMailbox
Description copied from class:CommunicationTracker
Creates a proxy for the givenMailbox
for the given requesterNode
. The proxy creation isCommunicationTracker
-specific and depends on the identity of the requester. This method is primarily used to createTimelyMailboxProxy
s 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:
proxifyMailbox
in classCommunicationTracker
-
proxifyIndexerListener
Description copied from class:CommunicationTracker
Creates a proxy for the givenIndexerListener
for the given requesterNode
. The proxy creation isCommunicationTracker
-specific and depends on the identity of the requester. This method is primarily used to createTimelyIndexerListenerProxy
s 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:
proxifyIndexerListener
in classCommunicationTracker
-
getPreprocessor
-
postProcessNode
Description copied from class:CommunicationTracker
This hook allows concrete tracker implementations to perform tracker-specific post processing on nodes (cf.NetworkStructureChangeSensitiveNode
andBehaviorChangingMailbox
). At the time of the invocation, the network topology has already been updated.- Specified by:
postProcessNode
in classCommunicationTracker
-
postProcessGroup
Description copied from class:CommunicationTracker
This 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:
postProcessGroup
in classCommunicationTracker
-