load_reporting.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. *
  3. * Copyright 2017 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 GRPC_LOAD_REPORTING_H
  19. #define GRPC_LOAD_REPORTING_H
  20. #include <grpc/impl/codegen/port_platform.h>
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. /** Metadata key for the gRPC LB load balancer token.
  25. *
  26. * The value corresponding to this key is an opaque token that is given to the
  27. * frontend as part of each pick; the frontend sends this token to the backend
  28. * in each request it sends when using that pick. The token is used by the
  29. * backend to verify the request and to allow the backend to report load to the
  30. * gRPC LB system. */
  31. #define GRPC_LB_TOKEN_MD_KEY "lb-token"
  32. /** Metadata key for gRPC LB cost reporting.
  33. *
  34. * The value corresponding to this key is an opaque binary blob reported by the
  35. * backend as part of its trailing metadata containing cost information for the
  36. * call. */
  37. #define GRPC_LB_COST_MD_KEY "lb-cost-bin"
  38. #ifdef __cplusplus
  39. }
  40. #endif
  41. #endif /* GRPC_LOAD_REPORTING_H */