Skip to content

Clarify the Javadoc for CallStreamObserver #6552

Open
@leventov

Description

@leventov

The relevant part of the current Javadoc:

* <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:

  1. Implemented by the application, on the RPC client side ('inbound')
  2. Implemented by the framework, on the RPC client side ('outbound'), ClientCallStreamObserver
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions