Public Member Functions | |
Union[ResponseIterableType, StreamStreamCall] | intercept_stream_stream (self, Callable[[ClientCallDetails, RequestType], StreamStreamCall] continuation, ClientCallDetails client_call_details, RequestIterableType request_iterator) |
Affords intercepting stream-stream invocations.
Definition at line 217 of file aio/_interceptor.py.
Union[ResponseIterableType, StreamStreamCall] grpc.aio._interceptor.StreamStreamClientInterceptor.intercept_stream_stream | ( | self, | |
Callable[[ClientCallDetails, RequestType], StreamStreamCall] | continuation, | ||
ClientCallDetails | client_call_details, | ||
RequestIterableType | request_iterator | ||
) |
Affords intercepting stream-stream invocations.
Intercepts a stream-stream invocation asynchronously. Within the interceptor the usage of the call methods like `write` or even awaiting the call should be done carefully, since the caller could be expecting an untouched call, for example for start writing messages to it. The function could return the call object or an asynchronous iterator, in case of being an asyncrhonous iterator this will become the source of the reads done by the caller. Args: continuation: A coroutine that proceeds with the invocation by executing the next interceptor in the chain or invoking the actual RPC on the underlying Channel. It is the interceptor's responsibility to call it if it decides to move the RPC forward. The interceptor can use `call = await continuation(client_call_details, request_iterator)` to continue with the RPC. `continuation` returns the call to the RPC. client_call_details: A ClientCallDetails object describing the outgoing RPC. request_iterator: The request iterator that will produce requests for the RPC. Returns: The RPC Call or an asynchronous iterator. Raises: AioRpcError: Indicating that the RPC terminated with non-OK status. asyncio.CancelledError: Indicating that the RPC was canceled.
Definition at line 221 of file aio/_interceptor.py.