private <ReqT, RespT> RetryingStreamOperation<ReqT, RespT> createStreamingListener( ReqT request, BigtableAsyncRpc<ReqT, RespT> rpc, String tableName) { CallOptions callOptions = getCallOptions(rpc.getMethodDescriptor(), request); Metadata metadata = createMetadata(tableName); return new RetryingStreamOperation<>( retryOptions, request, rpc, callOptions, retryExecutorService, metadata, CLOCK); }
/** {@inheritDoc} */ @Override public ListenableFuture<List<Row>> readRowsAsync(ReadRowsRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return Futures.transform( createStreamingListener(request, readRowsAsync, request.getTableName()).getAsyncResult(), ROW_LIST_TRANSFORMER, MoreExecutors.directExecutor()); }
/** {@inheritDoc} */ @Override public List<FlatRow> readFlatRowsList(ReadRowsRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return FLAT_ROW_LIST_TRANSFORMER.apply( createStreamingListener(request, readRowsAsync, request.getTableName()).getBlockingResult()); }
/** {@inheritDoc} */ @Override public List<SampleRowKeysResponse> sampleRowKeys(SampleRowKeysRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return createStreamingListener(request, sampleRowKeysAsync, request.getTableName()) .getBlockingResult(); }
/** {@inheritDoc} */ @Override public ListenableFuture<List<FlatRow>> readFlatRowsAsync(ReadRowsRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return Futures.transform( createStreamingListener(request, readRowsAsync, request.getTableName()).getAsyncResult(), FLAT_ROW_LIST_TRANSFORMER, MoreExecutors.directExecutor()); }
/** {@inheritDoc} */ @Override public ListenableFuture<List<SampleRowKeysResponse>> sampleRowKeysAsync( SampleRowKeysRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return createStreamingListener(request, sampleRowKeysAsync, request.getTableName()) .getAsyncResult(); }