Class ProfilingAware.ProfiledBarrier

java.lang.Object
org.apache.tinkerpop.gremlin.process.traversal.step.ProfilingAware.ProfiledBarrier
All Implemented Interfaces:
Barrier, MemoryComputing
Enclosing interface:
ProfilingAware

public static final class ProfilingAware.ProfiledBarrier extends Object implements Barrier
A helper class which holds a Barrier and it's related ProfileStep so that the latter can have its timer started and stopped appropriately.
  • Constructor Details

  • Method Details

    • processAllStarts

      public void processAllStarts()
      Description copied from interface: Barrier
      Process all left traversers by do not yield the resultant output. This method is useful for steps like ReducingBarrierStep, where traversers can be processed "on the fly" and thus, reduce memory consumption.
      Specified by:
      processAllStarts in interface Barrier
    • hasNextBarrier

      public boolean hasNextBarrier()
      Description copied from interface: Barrier
      Whether or not the step has an accessible barrier.
      Specified by:
      hasNextBarrier in interface Barrier
      Returns:
      whether a barrier exists or not
    • nextBarrier

      public Object nextBarrier() throws NoSuchElementException
      Description copied from interface: Barrier
      Get the next barrier within this step. Barriers from parallel steps can be the be merged to create a single step with merge barriers.
      Specified by:
      nextBarrier in interface Barrier
      Returns:
      the next barrier of the step
      Throws:
      NoSuchElementException
    • addBarrier

      public void addBarrier(Object barrier)
      Description copied from interface: Barrier
      Add a barrier to the step. This typically happens when multiple parallel barriers need to become one barrier at a single step.
      Specified by:
      addBarrier in interface Barrier
      Parameters:
      barrier - the barrier to merge in
    • getEmptyBarrier

      public Object getEmptyBarrier()
      Description copied from interface: Barrier
      If a barrier is unproductive then provide an empty object suitable to the implementation which can be used to represent that state. This is important for cases like by(out().order().fold()) where the order() might filter but the fold() means the traversal is productive.
      Specified by:
      getEmptyBarrier in interface Barrier
    • getMemoryComputeKey

      public MemoryComputeKey getMemoryComputeKey()
      Description copied from interface: MemoryComputing
      The MemoryComputeKey that will be used by this step.
      Specified by:
      getMemoryComputeKey in interface MemoryComputing
      Returns:
      the MemoryComputeKey to use
    • done

      public void done()
      Description copied from interface: Barrier
      A way to hard set that the barrier is complete. This is necessary when parallel barriers don't all have barriers and need hard resetting. The default implementation does nothing.
      Specified by:
      done in interface Barrier