Class ThresholdBatcher<E>

java.lang.Object
com.google.api.gax.batching.ThresholdBatcher<E>

public final class ThresholdBatcher<E> extends Object
Queues up elements until either a duration of time has passed or any threshold in a given set of thresholds is breached, and then delivers the elements in a batch to the consumer.
  • Method Details

    • newBuilder

      public static <E> ThresholdBatcher.Builder<E> newBuilder()
      Get a new builder for a ThresholdBatcher.
    • add

      public void add(E e) throws FlowController.FlowControlException
      Adds an element to the batcher. If the element causes the collection to go past any of the thresholds, the batch will be sent to the ThresholdBatchReceiver.
      Throws:
      FlowController.FlowControlException
    • pushCurrentBatch

      public ApiFuture<Void> pushCurrentBatch()
      Push the current batch to the batch receiver. Returns an ApiFuture that completes once the batch has been processed by the batch receiver and the flow controller resources have been released.

      Note that this future can complete for the current batch before previous batches have completed, so it cannot be depended upon for flushing.