public interface BatchingDescriptor<ElementT,ElementResultT,RequestT,ResponseT>
An adapter that packs and unpacks the elements in and out of batch requests and responses.
This interface should be implemented by either a service specific client or autogenerated by gapic-generator.
Example implementation:
class ListDescriptor implements BatchingDescriptor
Type Parameters
Name | Description |
ElementT | |
ElementResultT | |
RequestT | |
ResponseT |
Methods
countBytes(ElementT element)
public abstract long countBytes(ElementT element)
Returns the size of the passed element object in bytes.
Name | Description |
element | ElementT |
Type | Description |
long |
newRequestBuilder(RequestT prototype)
public abstract BatchingRequestBuilder<ElementT,RequestT> newRequestBuilder(RequestT prototype)
Creates a new wrapper for the underlying request builder. It's used to pack the current batch request with elements.
Name | Description |
prototype | RequestT |
Type | Description |
BatchingRequestBuilder<ElementT,RequestT> |
splitException(Throwable throwable, List<BatchEntry<ElementT,ElementResultT>> batch)
public abstract void splitException(Throwable throwable, List<BatchEntry<ElementT,ElementResultT>> batch)
Unpacks the batch response error into individual element errors.
Name | Description |
throwable | Throwable |
batch | List<BatchEntry<ElementT,ElementResultT>> |
splitResponse(ResponseT batchResponse, List<BatchEntry<ElementT,ElementResultT>> batch)
public abstract void splitResponse(ResponseT batchResponse, List<BatchEntry<ElementT,ElementResultT>> batch)
Unpacks the batch response into individual elements results.
Name | Description |
batchResponse | ResponseT |
batch | List<BatchEntry<ElementT,ElementResultT>> |