health_check_service_interface.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. //
  3. // Copyright 2016 gRPC authors.
  4. //
  5. // Licensed under the Apache License, Version 2.0 (the "License");
  6. // you may not use this file except in compliance with the License.
  7. // You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // Unless required by applicable law or agreed to in writing, software
  12. // distributed under the License is distributed on an "AS IS" BASIS,
  13. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. // See the License for the specific language governing permissions and
  15. // limitations under the License.
  16. //
  17. //
  18. #ifndef GRPCPP_HEALTH_CHECK_SERVICE_INTERFACE_H
  19. #define GRPCPP_HEALTH_CHECK_SERVICE_INTERFACE_H
  20. #include <grpcpp/support/config.h>
  21. namespace grpc {
  22. const char kHealthCheckServiceInterfaceArg[] =
  23. "grpc.health_check_service_interface";
  24. /// The gRPC server uses this interface to expose the health checking service
  25. /// without depending on protobuf.
  26. class HealthCheckServiceInterface {
  27. public:
  28. virtual ~HealthCheckServiceInterface() {}
  29. /// Set or change the serving status of the given \a service_name.
  30. virtual void SetServingStatus(const TString& service_name,
  31. bool serving) = 0;
  32. /// Apply to all registered service names.
  33. virtual void SetServingStatus(bool serving) = 0;
  34. /// Set all registered service names to not serving and prevent future
  35. /// state changes.
  36. virtual void Shutdown() {}
  37. };
  38. /// Enable/disable the default health checking service. This applies to all C++
  39. /// servers created afterwards. For each server, user can override the default
  40. /// with a HealthCheckServiceServerBuilderOption.
  41. /// NOT thread safe.
  42. void EnableDefaultHealthCheckService(bool enable);
  43. /// Returns whether the default health checking service is enabled.
  44. /// NOT thread safe.
  45. bool DefaultHealthCheckServiceEnabled();
  46. } // namespace grpc
  47. #endif // GRPCPP_HEALTH_CHECK_SERVICE_INTERFACE_H