interceptBidirectionalStream<TRequest, TResponse> method
FutureOr<Stream<TResponse> >
interceptBidirectionalStream<TRequest, TResponse>(
- RpcCallInfo call,
- Stream<
TRequest> requests, - RpcBidirectionalStreamNext<
TRequest, TResponse> next
override
Bidirectional-stream call interceptor.
Implementation
@override
FutureOr<Stream<TResponse>> interceptBidirectionalStream<TRequest, TResponse>(
RpcCallInfo call,
Stream<TRequest> requests,
RpcBidirectionalStreamNext<TRequest, TResponse> next,
) async {
// Same as client-stream. A bidi SUBSCRIPTION is the case this exists for:
// zero request messages, responses pushed by the server, so per-message
// metering alone charged nothing at all for the call.
_check(call);
return next(
call.context,
_meterStream(call, requests, firstIsPrepaid: true),
);
}