diff --git a/stub/src/main/java/io/grpc/stub/CallStreamObserver.java b/stub/src/main/java/io/grpc/stub/CallStreamObserver.java index 52dd046831d..3ab9d566f38 100644 --- a/stub/src/main/java/io/grpc/stub/CallStreamObserver.java +++ b/stub/src/main/java/io/grpc/stub/CallStreamObserver.java @@ -47,6 +47,23 @@ *
Like {@code StreamObserver}, implementations are not required to be thread-safe; if multiple * threads will be writing to an instance concurrently, the application must synchronize its calls. * + *
On flow control: The {@link #isReady} state of an outbound {@link CallStreamObserver} is + * related to the number and size of messages written to its {@link StreamObserver#onNext} and + * whether the peer has consumed those messages by way of {@link StreamObserver#onNext} on the + * corresponding inbound. However, this effect may be delayed and is not guaranteed to be reflected + * message-for-message. + * + *
What's actually guaranteed: + * + *
DO NOT MOCK: The API is too complex to reliably mock. Use InProcessChannelBuilder to create
* "real" RPCs suitable for testing.
*
@@ -87,9 +104,10 @@ public abstract class CallStreamObserver If disabled an application must make explicit calls to {@link #request} to receive messages.
*
* On client-side this method may only be called during {@link
* ClientResponseObserver#beforeStart}. On server-side it may only be called during the initial
@@ -116,8 +134,7 @@ public abstract class CallStreamObserver This method is safe to call from multiple threads without external synchronization.
*
diff --git a/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java b/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java
index 8f420fa77e4..4a173520359 100644
--- a/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java
+++ b/stub/src/main/java/io/grpc/stub/ClientCallStreamObserver.java
@@ -92,8 +92,7 @@ public void disableAutoRequestWithInitial(int request) {
public abstract void setOnReadyHandler(Runnable onReadyHandler);
/**
- * Requests the peer to produce {@code count} more messages to be delivered to the 'inbound'
- * {@link StreamObserver}.
+ * Requests that {@code count} more messages be delivered to the 'inbound' {@link StreamObserver}.
*
* This method is safe to call from multiple threads without external synchronization.
*
diff --git a/stub/src/main/java/io/grpc/stub/ServerCallStreamObserver.java b/stub/src/main/java/io/grpc/stub/ServerCallStreamObserver.java
index 6ffea3500cc..cc5fbaf3fb0 100644
--- a/stub/src/main/java/io/grpc/stub/ServerCallStreamObserver.java
+++ b/stub/src/main/java/io/grpc/stub/ServerCallStreamObserver.java
@@ -147,8 +147,7 @@ public void disableAutoRequest() {
public abstract void setOnReadyHandler(Runnable onReadyHandler);
/**
- * Requests the peer to produce {@code count} more messages to be delivered to the 'inbound'
- * {@link StreamObserver}.
+ * Requests that {@code count} more messages be delivered to the 'inbound' {@link StreamObserver}.
*
* This method is safe to call from multiple threads without external synchronization.
*