Class TimelyUniquenessEnforcerNode

  • All Implemented Interfaces:
    org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode, IGroupable, NetworkStructureChangeSensitiveNode, Node, Receiver, Supplier, Tunnel
    Direct Known Subclasses:
    TimelyProductionNode

    public class TimelyUniquenessEnforcerNode
    extends AbstractUniquenessEnforcerNode
    implements org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
    Timely uniqueness enforcer node implementation.
    Since:
    2.4
    No Extend:
    This class is not intended to be subclassed by clients.
    No Instantiate:
    This class is not intended to be instantiated by clients.
    • Constructor Detail

      • TimelyUniquenessEnforcerNode

        public TimelyUniquenessEnforcerNode​(ReteContainer container,
                                            int tupleWidth)
    • Method Detail

      • pullInto

        public void pullInto​(java.util.Collection<Tuple> collector,
                             boolean flush)
        Description copied from interface: Supplier
        Pulls the contents of this object in this particular moment into a target collection.
        Specified by:
        pullInto in interface Supplier
        flush - if true, flushing of messages is allowed during the pull, otherwise flushing is not allowed
      • getResumableTimestamp

        public Timestamp getResumableTimestamp()
        Description copied from interface: org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
        Returns the smallest timestamp where lazy folding shall be resumed, or null if there is no more folding to do in this resumable.
        Specified by:
        getResumableTimestamp in interface org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
        Since:
        2.4
      • resumeAt

        public void resumeAt​(Timestamp timestamp)
        Description copied from interface: org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
        When called, the folding of the state shall be resumed at the given timestamp. The resumable is expected to do a folding step at the given timestamp only. Afterwards, folding shall be interrupted, even if there is more folding to do towards higher timestamps.
        Specified by:
        resumeAt in interface org.eclipse.viatra.query.runtime.rete.network.communication.timely.ResumableNode
        Since:
        2.4
      • update

        public void update​(Direction direction,
                           Tuple update,
                           Timestamp timestamp)
        Description copied from interface: Receiver
        Updates the receiver with a newly found or lost partial matching.
        Specified by:
        update in interface Receiver