Client Streaming Enhancements #3284
Open
+992
−49
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds
GrpcServerStreamingCall
andGrpcClientStreamingCall
to differentiate between server and client streaming gRPC calls. The current logic is to use aGrpcStreamingCall
, which is used for Server, Client and Bidrectional streaming.The
GrpcServerStreamingCall
accepts an single request and returns a ReceiveChannel/MessageSource for streaming responsesThe
GrpcClientStreamingCall
returns SendChannel/Deferred or MessageSink/GrpcDeferredResponse pair to stream requests from the client and retrieve the single, deferred responseBoth the
GrpcServerStreamingCall
andGrpcClientStreamingCall
make use of aGrpcStreamingCall
under the hood, but more tightly enforce the calling semantics of the underlying call.This is optional and defaults to using
GrpcStreamingCall
for every call. TheexplicitStreamingCalls
option enables generation of the explicit types.NOTE: The use of
Server
vsResponse
streaming andClient
vsRequest
streaming was chosen to differentiateBidirectional
streaming which is bothResponse
andRequest
streaming. Its also the terminology used here . Clearly either would work, but that was the reasoning behind the naming.