- 2.70.0 (latest)
- 2.69.0
- 2.68.2
- 2.67.0
- 2.66.0
- 2.65.0
- 2.63.1
- 2.62.0
- 2.61.0
- 2.60.0
- 2.59.1
- 2.58.0
- 2.57.0
- 2.55.0
- 2.54.1
- 2.53.0
- 2.52.0
- 2.51.0
- 2.50.0
- 2.49.0
- 2.48.1
- 2.47.0
- 2.46.1
- 2.45.0
- 2.43.0
- 2.42.0
- 2.41.0
- 2.39.0
- 2.38.0
- 2.37.0
- 2.36.0
- 2.35.0
- 2.34.1
- 2.33.0
- 2.32.1
- 2.31.1
- 2.30.1
- 2.24.0
- 2.23.3
- 2.22.0
- 2.21.0
- 2.20.1
- 2.19.6
- 2.18.7
- 2.17.0
- 2.16.0
- 2.15.0
- 2.14.0
- 2.13.0
- 2.12.2
- 2.11.0
- 2.10.0
- 2.9.0
- 2.8.1
- 2.7.1
public
class
BatcherImpl<ElementT
,
ElementResultT
,
RequestT
,
ResponseT
>
implements
Batcher<ElementT
,
ElementResultT
>
Queues up the elements until #flush() is called; once batching is over, returned future resolves.
This class is not thread-safe, and expects to be used from a single thread.
Implements
com.google.api.gax.batching.Batcher<ElementT,ElementResultT>Type Parameters
ElementT
ElementResultT
RequestT
ResponseT
Constructors
BatcherImpl(BatchingDescriptor<ElementT,ElementResultT,RequestT,ResponseT> batchingDescriptor, UnaryCallable<RequestT,ResponseT> unaryCallable, RequestT prototype, BatchingSettings batchingSettings, ScheduledExecutorService executor) (deprecated)
public
BatcherImpl
(
BatchingDescriptor<ElementT
,
ElementResultT
,
RequestT
,
ResponseT
>
batchingDescriptor
,
UnaryCallable<RequestT
,
ResponseT
>
unaryCallable
,
RequestT
prototype
,
BatchingSettings
batchingSettings
,
ScheduledExecutorService
executor
)
Deprecated. Please instantiate the Batcher with FlowController and ApiCallContext
batchingDescriptor
BatchingDescriptor
< ElementT
, ElementResultT
, RequestT
, ResponseT
>
a BatchingDescriptor for transforming individual elements into wrappers request and response
unaryCallable
prototype
RequestT
a RequestT object
batchingSettings
executor
BatcherImpl(BatchingDescriptor<ElementT,ElementResultT,RequestT,ResponseT> batchingDescriptor, UnaryCallable<RequestT,ResponseT> unaryCallable, RequestT prototype, BatchingSettings batchingSettings, ScheduledExecutorService executor, FlowController flowController) (deprecated)
public
BatcherImpl
(
BatchingDescriptor<ElementT
,
ElementResultT
,
RequestT
,
ResponseT
>
batchingDescriptor
,
UnaryCallable<RequestT
,
ResponseT
>
unaryCallable
,
RequestT
prototype
,
BatchingSettings
batchingSettings
,
ScheduledExecutorService
executor
,
FlowController
flowController
)
Deprecated. Please instantiate the Batcher with ApiCallContext
batchingDescriptor
BatchingDescriptor
< ElementT
, ElementResultT
, RequestT
, ResponseT
>
a BatchingDescriptor for transforming individual elements into wrappers request and response
unaryCallable
prototype
RequestT
a RequestT object
batchingSettings
executor
flowController
FlowController
a FlowController for throttling requests. If it's null, create a FlowController object from BatchingSettings#getFlowControlSettings() .
BatcherImpl(BatchingDescriptor<ElementT,ElementResultT,RequestT,ResponseT> batchingDescriptor, UnaryCallable<RequestT,ResponseT> unaryCallable, RequestT prototype, BatchingSettings batchingSettings, ScheduledExecutorService executor, FlowController flowController, ApiCallContext callContext)
public
BatcherImpl
(
BatchingDescriptor<ElementT
,
ElementResultT
,
RequestT
,
ResponseT
>
batchingDescriptor
,
UnaryCallable<RequestT
,
ResponseT
>
unaryCallable
,
RequestT
prototype
,
BatchingSettings
batchingSettings
,
ScheduledExecutorService
executor
,
FlowController
flowController
,
ApiCallContext
callContext
)
batchingDescriptor
BatchingDescriptor
< ElementT
, ElementResultT
, RequestT
, ResponseT
>
a BatchingDescriptor for transforming individual elements into wrappers request and response
unaryCallable
prototype
RequestT
a RequestT object
batchingSettings
executor
flowController
FlowController
a FlowController for throttling requests. If it's null, create a FlowController object from BatchingSettings#getFlowControlSettings() .
callContext
Methods
add(ElementT element)
public
ApiFuture<ElementResultT>
add
(
ElementT
element
)
Queues the passed in element to be sent at some point in the future.
The element will be sent as part of a larger batch request at some point in the future. The returned ApiFuture will be resolved once the result for the element has been extracted from the batch response.
Note: Cancelling returned result simply marks the future cancelled, It would not stop the batch request.
element
ElementT
close()
public
void
close
()
Closes this Batcher by preventing new elements from being added, and then flushing the existing elements.
closeAsync()
public
ApiFuture<Void>
closeAsync
()
Closes this Batcher by preventing new elements from being added, and then sending outstanding elements. The returned future will be resolved when the last element completes
flush()
public
void
flush
()
Synchronously sends any pending elements as a batch and waits for all outstanding batches to be complete.
getFlowController()
public
FlowController
getFlowController
()
sendOutstanding()
public
void
sendOutstanding
()
Sends accumulated elements asynchronously for batching.
Note: This method can be invoked concurrently unlike #add and #close , which can only be called from a single user thread. Please take caution to avoid race condition.