- 2.57.0 (latest)
- 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 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<String, String, List<String>, List<String>> {
RequestBuilder<String, List<String>> newRequestBuilder(List<String> prototype) {
return new RequestBuilder<String, List<String>>() {
void add(String element) {
list.add(element);
}
List<String> build() {
return list.clone();
}
};
}
void splitResponse(List<String> callableResponse, List<SettableApiFuture<String>> batch) {
for (int i = 0; i < batchresponse.size();="" i++)="" {="" batch.get(i).set(batchresponse.get(i);="" }="" }="" void="" splitexception(throwable="" throwable,="" list<settableapifuture<string>>="" batch)="" {="" for="" (settableapifuture<string>="" result="" :="" batch)="" {="" result.setexception(throwable);="" }="" }="" long="" countbytes(string="" element)="" {="" return="" element.length();="" }="" }="">
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.
Parameter | |
---|---|
Name | Description |
element | ElementT |
Returns | |
---|---|
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.
Parameter | |
---|---|
Name | Description |
prototype | RequestT |
Returns | |
---|---|
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.
Parameters | |
---|---|
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.
Parameters | |
---|---|
Name | Description |
batchResponse | ResponseT |
batch | List<BatchEntry<ElementT,ElementResultT>> |