pub async fn watch(
            &mut self,
            request: impl tonic::IntoRequest<super::HealthCheckRequest>,
        ) -> std::result::Result<
            tonic::Response<tonic::codec::Streaming<super::HealthCheckResponse>>,
            tonic::Status,
        > {
            self.inner
                .ready()
                .await
                .map_err(|e| {
                    tonic::Status::unknown(
                        format!("Service was not ready: {}", e.into()),
                    )
                })?;
            let codec = tonic::codec::ProstCodec::default();
            let path = http::uri::PathAndQuery::from_static(
                "/grpc.health.v1.Health/Watch",
            );
            let mut req = request.into_request();
            req.extensions_mut()
                .insert(GrpcMethod::new("grpc.health.v1.Health", "Watch"));
            self.inner.server_streaming(req, path, codec).await
        }
Performs a watch for the serving status of the requested service.
The server will immediately send back a message indicating the current
serving status.  It will then subsequently send a new message whenever
the service's serving status changes.

If the requested service is unknown when the call is received, the
server will send a message setting the serving status to
SERVICE_UNKNOWN but will *not* terminate the call.  If at some
future point, the serving status of the service becomes known, the
server will send a new message with the service's serving status.

If the call terminates with status UNIMPLEMENTED, then clients
should assume this method is not supported and should not retry the
call.  If the call terminates with any other status (including OK),
clients should retry the call with appropriate exponential backoff.
tonic-health/src/generated/grpc_health_v1.rs