Skip to content

stub: Clarify flow control javadoc - #12977

Open
jdcormie wants to merge 1 commit into
grpc:masterfrom
jdcormie:stub-javadoc-fix
Open

stub: Clarify flow control javadoc#12977
jdcormie wants to merge 1 commit into
grpc:masterfrom
jdcormie:stub-javadoc-fix

Conversation

@jdcormie

@jdcormie jdcormie commented Aug 7, 2026

Copy link
Copy Markdown
Member

Remove vestigial references to credit-based flow control and the
suggestion that a request() for messages directly corresponds to the
number of messages a peer could subsequently send before its end of the
stream went !isReady(). In fact, okhttp, netty and binder transports all
buffer messages meaning the outbound stream can be isReady() even when the
receiver has no outstanding request()s for messages. Furthermore, those
buffers are sized in bytes and not all messages are the same size. So
consuming an inbound's next message may not cause a non-ready outbound
to become ready again.

Replace this with a short discussion of what is actually guaranteed by
every transport.

Remove vestigial references to credit-based flow control and the
suggestion that a request() for messages directly corresponds to the
number of messages a peer could subsequently send before its end of the
stream went !isReady(). In fact, okhttp, netty and binder transports all
use buffers meaning the sender's stream can be isReady() even when the
receiver has no outstanding request()s for messages. Furthermore, those
buffers are sized in bytes and messages are not all the same size. So
consuming an inbound's next message may not cause a non-ready outbound
to become ready again.

Replace this with a short discussion of what is actually guaranteed by
every transport.
@jdcormie
jdcormie requested a review from ejona86 August 7, 2026 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant