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, tupleWidth
childMailboxes, children
nodeId, 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.Collection<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, removeParent
appendChild, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChild
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCore
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
appendChild, getPulledContents, getPulledContents, getReceivers, removeChild
protected final TimelyMemory<Timestamp> memory
protected CommunicationGroup group
public TimelyUniquenessEnforcerNode(ReteContainer container, int tupleWidth)
protected Mailbox instantiateMailbox()
instantiateMailbox
in class AbstractUniquenessEnforcerNode
public void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Supplier
public CommunicationGroup getCurrentGroup()
getCurrentGroup
in interface IGroupable
public void setCurrentGroup(CommunicationGroup group)
IGroupable
setCurrentGroup
in interface IGroupable
public java.util.Collection<Tuple> getTuples()
getTuples
in class AbstractUniquenessEnforcerNode
public Timestamp getResumableTimestamp()
org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
getResumableTimestamp
in interface org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
public void resumeAt(Timestamp timestamp)
org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
resumeAt
in interface org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
public void update(Direction direction, Tuple update, Timestamp timestamp)
Receiver
public void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
pullIntoWithTimeline
in interface Supplier
public ProjectionIndexer getNullIndexer()
getNullIndexer
in class AbstractUniquenessEnforcerNode
public ProjectionIndexer getIdentityIndexer()
getIdentityIndexer
in class AbstractUniquenessEnforcerNode
public void networkStructureChanged()
NetworkStructureChangeSensitiveNode
networkStructureChanged
in interface NetworkStructureChangeSensitiveNode
networkStructureChanged
in class StandardNode