public class TimelyUniquenessEnforcerNode extends AbstractUniquenessEnforcerNode implements org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
| Modifier and Type | Field and Description |
|---|---|
protected CommunicationGroup |
group |
protected TimelyMemory<Timestamp> |
memory |
identityMask, mailbox, memoryIdentityIndexer, memoryNullIndexer, nullMask, parents, specializedListeners, tupleWidthchildMailboxes, childrennodeId, reteContainer, tag, traceInfos| Constructor and Description |
|---|
TimelyUniquenessEnforcerNode(ReteContainer container,
int tupleWidth) |
| Modifier and Type | Method and Description |
|---|---|
CommunicationGroup |
getCurrentGroup() |
ProjectionIndexer |
getIdentityIndexer() |
ProjectionIndexer |
getNullIndexer() |
Timestamp |
getResumableTimestamp()
Returns the smallest timestamp where lazy folding shall be resumed, or null if there is no more folding to do in this
resumable.
|
java.util.Set<Tuple> |
getTuples() |
protected Mailbox |
instantiateMailbox() |
void |
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.
|
void |
pullInto(java.util.Collection<Tuple> collector,
boolean flush)
Pulls the contents of this object in this particular moment into a target collection.
|
void |
pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector,
boolean flush) |
void |
resumeAt(Timestamp timestamp)
When called, the folding of the state shall be resumed at the given timestamp.
|
void |
setCurrentGroup(CommunicationGroup group)
Sets the current group of the mailbox
|
void |
update(Direction direction,
Tuple update,
Timestamp timestamp)
Updates the receiver with a newly found or lost partial matching.
|
appendParent, assignTraceInfo, constructIndex, getMailbox, getParents, propagate, removeParentappendChild, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChildacceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitacceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagappendChild, getPulledContents, getPulledContents, getReceivers, removeChildbatchUpdateprotected final TimelyMemory<Timestamp> memory
protected CommunicationGroup group
public TimelyUniquenessEnforcerNode(ReteContainer container, int tupleWidth)
protected Mailbox instantiateMailbox()
instantiateMailbox in class AbstractUniquenessEnforcerNodepublic void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Supplierpublic CommunicationGroup getCurrentGroup()
getCurrentGroup in interface IGroupablepublic void setCurrentGroup(CommunicationGroup group)
IGroupablesetCurrentGroup in interface IGroupablepublic java.util.Set<Tuple> getTuples()
getTuples in class AbstractUniquenessEnforcerNodepublic Timestamp getResumableTimestamp()
org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNodegetResumableTimestamp in interface org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNodepublic void resumeAt(Timestamp timestamp)
org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNoderesumeAt in interface org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNodepublic void update(Direction direction, Tuple update, Timestamp timestamp)
Receiverpublic void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
pullIntoWithTimeline in interface Supplierpublic ProjectionIndexer getNullIndexer()
getNullIndexer in class AbstractUniquenessEnforcerNodepublic ProjectionIndexer getIdentityIndexer()
getIdentityIndexer in class AbstractUniquenessEnforcerNodepublic void networkStructureChanged()
NetworkStructureChangeSensitiveNodenetworkStructureChanged in interface NetworkStructureChangeSensitiveNodenetworkStructureChanged in class StandardNode