public void chain(final RequestFuture<T> future) { addListener(new RequestFutureListener<T>() { @Override public void onSuccess(T value) { future.complete(value); } @Override public void onFailure(RuntimeException e) { future.raise(e); } }); }
private void doCommitOffsetsAsync(final Map<TopicPartition, OffsetAndMetadata> offsets, final OffsetCommitCallback callback) { RequestFuture<Void> future = sendOffsetCommitRequest(offsets); final OffsetCommitCallback cb = callback == null ? defaultOffsetCommitCallback : callback; future.addListener(new RequestFutureListener<Void>() { @Override public void onSuccess(Void value) { if (interceptors != null) interceptors.onCommit(offsets); completedOffsetCommits.add(new OffsetCommitCompletion(cb, offsets, null)); } @Override public void onFailure(RuntimeException e) { Exception commitException = e; if (e instanceof RetriableException) commitException = new RetriableCommitFailedException(e); completedOffsetCommits.add(new OffsetCommitCompletion(cb, offsets, commitException)); } }); }
/** * Convert from a request future of one type to another type * @param adapter The adapter which does the conversion * @param <S> The type of the future adapted to * @return The new future */ public <S> RequestFuture<S> compose(final RequestFutureAdapter<T, S> adapter) { final RequestFuture<S> adapted = new RequestFuture<>(); addListener(new RequestFutureListener<T>() { @Override public void onSuccess(T value) { adapter.onSuccess(value, adapted); } @Override public void onFailure(RuntimeException e) { adapter.onFailure(e, adapted); } }); return adapted; }
joinFuture.addListener(new RequestFutureListener<ByteBuffer>() { @Override public void onSuccess(ByteBuffer value) {
future.addListener(new RequestFutureListener<ListOffsetResult>() { @Override public void onSuccess(ListOffsetResult result) {
RequestFuture<ListOffsetResult> future = sendListOffsetRequest(entry.getKey(), entry.getValue(), requireTimestamps); future.addListener(new RequestFutureListener<ListOffsetResult>() { @Override public void onSuccess(ListOffsetResult partialResult) {
heartbeat.sentHeartbeat(now); sendHeartbeatRequest().addListener(new RequestFutureListener<Void>() { @Override public void onSuccess(Void value) {
lookupCoordinator().addListener(new RequestFutureListener<Void>() { @Override public void onSuccess(Void value) {
@Test public void listenersInvokedIfAddedBeforeAndAfterFailure() { RequestFuture<Void> future = new RequestFuture<>(); MockRequestFutureListener<Void> beforeListener = new MockRequestFutureListener<>(); future.addListener(beforeListener); future.raise(new RuntimeException()); MockRequestFutureListener<Void> afterListener = new MockRequestFutureListener<>(); future.addListener(afterListener); assertOnFailureInvoked(beforeListener); assertOnFailureInvoked(afterListener); }
.addListener(new RequestFutureListener<ClientResponse>() { @Override public void onSuccess(ClientResponse resp) {
@Test public void listenersInvokedIfAddedBeforeAndAfterCompletion() { RequestFuture<Void> future = new RequestFuture<>(); MockRequestFutureListener<Void> beforeListener = new MockRequestFutureListener<>(); future.addListener(beforeListener); future.complete(null); MockRequestFutureListener<Void> afterListener = new MockRequestFutureListener<>(); future.addListener(afterListener); assertOnSuccessInvoked(beforeListener); assertOnSuccessInvoked(afterListener); }
@Test public void listenerInvokedIfAddedBeforeFutureFailure() { RequestFuture<Void> future = new RequestFuture<>(); MockRequestFutureListener<Void> listener = new MockRequestFutureListener<>(); future.addListener(listener); future.raise(new RuntimeException()); assertOnFailureInvoked(listener); }
@Test public void listenerInvokedIfAddedAfterFutureFailure() { RequestFuture<Void> future = new RequestFuture<>(); future.raise(new RuntimeException()); MockRequestFutureListener<Void> listener = new MockRequestFutureListener<>(); future.addListener(listener); assertOnFailureInvoked(listener); }
@Test public void listenerInvokedIfAddedBeforeFutureCompletion() { RequestFuture<Void> future = new RequestFuture<>(); MockRequestFutureListener<Void> listener = new MockRequestFutureListener<>(); future.addListener(listener); future.complete(null); assertOnSuccessInvoked(listener); }
@Test public void listenerInvokedIfAddedAfterFutureCompletion() { RequestFuture<Void> future = new RequestFuture<>(); future.complete(null); MockRequestFutureListener<Void> listener = new MockRequestFutureListener<>(); future.addListener(listener); assertOnSuccessInvoked(listener); }