gRPC does not handle application-level acknowledgement of receipt of
messages. If you want to do this, you'll have to add it into your protocol.
Your method might look something like this:
syntax = "proto3";
message MetricRequest {
...
}
message MetricResponse {
oneof payload {
google.protobuf.Empty ack = 1;
... // Whatever the original intended response was.
}
}
service MultiGreeter {
rpc MetricReport (MetricRequest) returns (stream MetricResponse) {}
}
Your server would then immediately acknowledge receipt of a client request
by sending a MetricResponse with only the ack field set.
Thanks,
Richard
On Thursday, August 6, 2020 at 6:27:50 PM UTC-7 [email protected] wrote:
> Hi all,
> I must be missing something simple. I'm using the python client to
> generate RPC messages for a bidirectional streaming service. The server is
> in java and generates messages very rarely. How can i at a grpc level know
> if messages have been delivered to the business logic on the server side?
>
> This is an example i see at many places:
>
> response = stub.MetricReport(iter(repeated_metric()))
>
> for r in response:
>
> //Do something with response
>
>
> However, this seems to be a blocking call and like i said the server
> rarely responds. What can i look at from a grpc level to get delivery
> status?
>
> Thanks
> Sudharsan
>
>
>
>
--
You received this message because you are subscribed to the Google Groups
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/grpc-io/e58be813-276e-4f09-bbc6-1927a446180bn%40googlegroups.com.