diff options
author | Ryan Michela <deltahat@gmail.com> | 2017-07-25 14:36:51 -0700 |
---|---|---|
committer | Eric Anderson <ejona@google.com> | 2017-07-25 14:36:51 -0700 |
commit | 3731a5dfcca995b7959d1918288911d7187fff77 (patch) | |
tree | 7abcce613a73f43c53b2e6b3c66dc05a2bad1f3a /stub | |
parent | bd743f3afdae83658e8502ea80e9c26ae3f58580 (diff) | |
download | grpc-grpc-java-3731a5dfcca995b7959d1918288911d7187fff77.tar.gz |
Implemented ClientCallStreamObserver.cancel()
Diffstat (limited to 'stub')
-rw-r--r-- | stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java | 18 | ||||
-rw-r--r-- | stub/src/main/java/io/grpc/stub/ClientCalls.java | 5 |
2 files changed, 23 insertions, 0 deletions
diff --git a/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java b/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java index 108dca71d..ca49ad57a 100644 --- a/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java +++ b/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java @@ -18,10 +18,28 @@ package io.grpc.stub; import io.grpc.ExperimentalApi; +import javax.annotation.Nullable; + /** * A refinement of {@link CallStreamObserver} that allows for lower-level interaction with * client calls. */ @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1788") public abstract class ClientCallStreamObserver<V> extends CallStreamObserver<V> { + /** + * Prevent any further processing for this {@code ClientCallStreamObserver}. No further messages + * will be received. The server is informed of cancellations, but may not stop processing the + * call. Cancelling an already + * {@code cancel()}ed {@code ClientCallStreamObserver} has no effect. + * + * <p>No other methods on this class can be called after this method has been called. + * + * <p>It is recommended that at least one of the arguments to be non-{@code null}, to provide + * useful debug information. Both argument being null may log warnings and result in suboptimal + * performance. Also note that the provided information will not be sent to the server. + * + * @param message if not {@code null}, will appear as the description of the CANCELLED status + * @param cause if not {@code null}, will appear as the cause of the CANCELLED status + */ + public abstract void cancel(@Nullable String message, @Nullable Throwable cause); } diff --git a/stub/src/main/java/io/grpc/stub/ClientCalls.java b/stub/src/main/java/io/grpc/stub/ClientCalls.java index c4158cc6b..f26796ce0 100644 --- a/stub/src/main/java/io/grpc/stub/ClientCalls.java +++ b/stub/src/main/java/io/grpc/stub/ClientCalls.java @@ -326,6 +326,11 @@ public final class ClientCalls { public void setMessageCompression(boolean enable) { call.setMessageCompression(enable); } + + @Override + public void cancel(@Nullable String message, @Nullable Throwable cause) { + call.cancel(message, cause); + } } private static final class StreamObserverToCallListenerAdapter<ReqT, RespT> |