java.lang.Object
com.espertech.esper.common.internal.statement.insertintolatch.InsertIntoLatchWait
All Implemented Interfaces:
InsertIntoLatch

public class InsertIntoLatchWait extends Object implements InsertIntoLatch
A suspend-and-notify implementation of a latch for use in guaranteeing delivery between a single event produced by a single statement and consumable by another statement.
  • Constructor Details

    • InsertIntoLatchWait

      public InsertIntoLatchWait(InsertIntoLatchFactory factory, InsertIntoLatchWait earlier, long msecTimeout, EventBean payload)
      Ctor.
      Parameters:
      earlier - the latch before this latch that this latch should be waiting for
      msecTimeout - the timeout after which delivery occurs
      payload - the payload is an event to deliver
      factory - the factory originating the latch
    • InsertIntoLatchWait

      public InsertIntoLatchWait(InsertIntoLatchFactory factory)
      Ctor - use for the first and unused latch to indicate completion.
      Parameters:
      factory - the latch factory
  • Method Details

    • isCompleted

      public boolean isCompleted()
      Returns true if the dispatch completed for this future.
      Returns:
      true for completed, false if not
    • setLater

      public void setLater(InsertIntoLatchWait later)
      Hand a later latch to use for indicating completion via notify.
      Parameters:
      later - is the later latch
    • await

      public EventBean await()
      Blcking call that returns only when the earlier latch completed.
      Returns:
      payload of the latch
    • done

      public void done()
      Called to indicate that the latch completed and a later latch can start.
    • getFactory

      public InsertIntoLatchFactory getFactory()
      Specified by:
      getFactory in interface InsertIntoLatch
    • setEvent

      public void setEvent(EventBean event)
      Specified by:
      setEvent in interface InsertIntoLatch
    • getEvent

      public EventBean getEvent()
      Specified by:
      getEvent in interface InsertIntoLatch