-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Open
Labels
Milestone
Description
The relevant part of the current Javadoc:
grpc-java/stub/src/main/java/io/grpc/stub/CallStreamObserver.java
Lines 25 to 35 in 6b04fc1
* <p>In any call there are logically two {@link StreamObserver} implementations: | |
* <ul> | |
* <li>'inbound' - which the GRPC runtime calls when it receives messages from the | |
* remote peer. This is implemented by the application. | |
* </li> | |
* <li>'outbound' - which the GRPC runtime provides to the application which it uses to | |
* send messages to the remote peer. | |
* </li> | |
* </ul> | |
* | |
* <p>Implementations of this class represent the 'outbound' message stream. |
As far as I can tell, for any call, there are three implementations of StreamObserver
involved:
- Implemented by the application, on the RPC client side ('inbound')
- Implemented by the framework, on the RPC client side ('outbound'),
ClientCallStreamObserver
- Implemented by the framework, on the RPC server side ('outbound'),
ServerCallStreamObserver
I think it would be nice to clarify that. I've spent significant time trying to understand where does ClientCallStreamObserver
appear, being confused by the premise that there are only two implementations of StreamObserver
.