23 using grpc::health::v1::HealthCheckRequest;
24 using grpc::health::v1::HealthCheckResponse;
30 const HealthCheckRequest*
request,
32 std::lock_guard<std::mutex> lock(
mu_);
44 auto last_state = HealthCheckResponse::UNKNOWN;
45 while (!
context->IsCancelled()) {
47 std::lock_guard<std::mutex> lock(
mu_);
55 if (
response.status() != last_state) {
68 HealthCheckResponse::ServingStatus
status) {
69 std::lock_guard<std::mutex> lock(
mu_);
71 status = HealthCheckResponse::NOT_SERVING;
77 std::lock_guard<std::mutex> lock(
mu_);
87 std::lock_guard<std::mutex> lock(
mu_);
93 iter->second = HealthCheckResponse::NOT_SERVING;