grpc 1.30.2 → 1.32.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (674) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +723 -15910
  3. data/include/grpc/grpc_security.h +31 -14
  4. data/include/grpc/grpc_security_constants.h +3 -0
  5. data/include/grpc/impl/codegen/README.md +22 -0
  6. data/include/grpc/impl/codegen/grpc_types.h +7 -5
  7. data/include/grpc/impl/codegen/port_platform.h +6 -33
  8. data/src/core/ext/filters/client_channel/backend_metric.cc +12 -9
  9. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -2
  10. data/src/core/ext/filters/client_channel/client_channel.cc +470 -285
  11. data/src/core/ext/filters/client_channel/client_channel.h +1 -1
  12. data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -3
  13. data/src/core/ext/filters/client_channel/config_selector.cc +62 -0
  14. data/src/core/ext/filters/client_channel/config_selector.h +93 -0
  15. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -2
  16. data/src/core/ext/filters/client_channel/health/health_check_client.cc +8 -1
  17. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +8 -8
  18. data/src/core/ext/filters/client_channel/http_proxy.cc +6 -4
  19. data/src/core/ext/filters/client_channel/lb_policy.h +4 -0
  20. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -4
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +59 -36
  22. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -13
  23. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -3
  24. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -37
  25. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -13
  26. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +29 -10
  27. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +5 -4
  28. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +4 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +23 -13
  30. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +18 -12
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +22 -14
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +18 -9
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +385 -78
  34. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -5
  35. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +5 -2
  36. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +6 -5
  37. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +8 -6
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +9 -7
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +7 -5
  40. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +36 -51
  41. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  42. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  43. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
  44. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -1
  45. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  46. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +383 -31
  47. data/src/core/ext/filters/client_channel/resolver_registry.cc +13 -14
  48. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +6 -7
  49. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -1
  50. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +38 -32
  51. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +39 -20
  52. data/src/core/ext/filters/client_channel/server_address.cc +40 -7
  53. data/src/core/ext/filters/client_channel/server_address.h +42 -4
  54. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
  55. data/src/core/ext/filters/client_channel/subchannel.cc +65 -24
  56. data/src/core/ext/filters/client_channel/subchannel.h +16 -4
  57. data/src/core/ext/filters/http/client/http_client_filter.cc +5 -5
  58. data/src/core/ext/filters/http/http_filters_plugin.cc +2 -1
  59. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +74 -33
  60. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +3 -1
  61. data/src/core/ext/filters/max_age/max_age_filter.cc +2 -1
  62. data/src/core/ext/filters/message_size/message_size_filter.cc +56 -80
  63. data/src/core/ext/filters/message_size/message_size_filter.h +6 -0
  64. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +87 -31
  65. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +18 -1
  66. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +10 -35
  67. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +378 -348
  68. data/src/core/ext/transport/chttp2/server/chttp2_server.h +7 -2
  69. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  70. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +10 -16
  71. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +9 -9
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +256 -279
  73. data/src/core/ext/transport/chttp2/transport/flow_control.cc +23 -28
  74. data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -16
  75. data/src/core/ext/transport/chttp2/transport/frame_data.cc +9 -12
  76. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -6
  77. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  78. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -13
  79. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -9
  80. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +9 -12
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -29
  82. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +13 -17
  83. data/src/core/ext/transport/chttp2/transport/internal.h +18 -1
  84. data/src/core/ext/transport/chttp2/transport/parsing.cc +34 -71
  85. data/src/core/ext/transport/chttp2/transport/writing.cc +15 -19
  86. data/src/core/ext/transport/inproc/inproc_transport.cc +47 -27
  87. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -1
  88. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +3 -4
  89. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +224 -0
  90. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +700 -0
  91. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  92. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +226 -0
  93. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +380 -0
  94. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1378 -0
  95. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/filter.upb.c +8 -8
  96. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +69 -0
  97. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/outlier_detection.upb.c +8 -8
  98. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +323 -0
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +112 -0
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +334 -0
  101. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/backoff.upb.c +8 -8
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +79 -0
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +309 -0
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +869 -0
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +96 -0
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +328 -0
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +71 -0
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +195 -0
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +634 -0
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +684 -0
  113. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/http_uri.upb.c +8 -8
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +80 -0
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +152 -0
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +536 -0
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +58 -0
  119. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/socket_option.upb.c +6 -6
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +88 -0
  121. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
  122. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +220 -0
  123. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
  124. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +273 -0
  125. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  126. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +332 -0
  127. data/src/core/ext/upb-generated/envoy/config/listener/{v2 → v3}/api_listener.upb.c +8 -8
  128. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +65 -0
  129. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +108 -0
  130. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +401 -0
  131. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +138 -0
  132. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +490 -0
  133. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
  134. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +94 -0
  135. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +174 -0
  136. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +599 -0
  137. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
  138. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +204 -0
  139. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +773 -0
  140. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2855 -0
  141. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +59 -0
  142. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +135 -0
  143. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
  144. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +108 -0
  145. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +312 -0
  146. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1125 -0
  147. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
  148. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +34 -0
  149. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +111 -0
  150. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +401 -0
  151. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +72 -0
  152. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +198 -0
  153. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +105 -0
  154. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +388 -0
  155. data/src/core/ext/upb-generated/envoy/{api/v2 → service/cluster/v3}/cds.upb.c +5 -6
  156. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +49 -0
  157. data/src/core/ext/upb-generated/envoy/service/discovery/{v2 → v3}/ads.upb.c +5 -4
  158. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +49 -0
  159. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +129 -0
  160. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +386 -0
  161. data/src/core/ext/upb-generated/envoy/{api/v2 → service/endpoint/v3}/eds.upb.c +5 -6
  162. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +49 -0
  163. data/src/core/ext/upb-generated/envoy/{api/v2 → service/listener/v3}/lds.upb.c +5 -6
  164. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +49 -0
  165. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
  166. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +136 -0
  167. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/rds.upb.c +5 -6
  168. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +49 -0
  169. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/srds.upb.c +5 -6
  170. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +49 -0
  171. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
  172. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +114 -0
  173. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  174. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +77 -0
  175. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  176. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +71 -0
  177. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
  178. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +145 -0
  179. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
  180. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +127 -0
  181. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  182. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +188 -0
  183. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  184. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -0
  185. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  186. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +250 -0
  187. data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +2 -2
  188. data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +8 -9
  189. data/src/core/ext/upb-generated/envoy/type/{percent.upb.c → v3/percent.upb.c} +9 -8
  190. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +86 -0
  191. data/src/core/ext/upb-generated/envoy/type/{range.upb.c → v3/range.upb.c} +12 -11
  192. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -0
  193. data/src/core/ext/upb-generated/envoy/type/{semantic_version.upb.c → v3/semantic_version.upb.c} +6 -5
  194. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +61 -0
  195. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -1
  196. data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -1
  197. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
  198. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +759 -0
  199. data/src/core/ext/upb-generated/google/api/http.upb.h +29 -28
  200. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +5 -6
  201. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +39 -39
  202. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +412 -386
  203. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +5 -6
  204. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +1 -2
  205. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +1 -1
  206. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +34 -55
  207. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +5 -6
  208. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -28
  209. data/src/core/ext/upb-generated/google/rpc/status.upb.h +8 -8
  210. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +1 -1
  211. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +32 -45
  212. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +4 -4
  213. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +157 -178
  214. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +14 -13
  215. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -7
  216. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +59 -56
  217. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +11 -12
  218. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -1
  219. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +5 -6
  220. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  221. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -0
  222. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +6 -6
  223. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +41 -68
  224. data/src/core/ext/upb-generated/validate/validate.upb.c +11 -11
  225. data/src/core/ext/upb-generated/validate/validate.upb.h +537 -536
  226. data/src/core/ext/xds/xds_api.cc +2388 -0
  227. data/src/core/ext/{filters/client_channel/xds → xds}/xds_api.h +120 -40
  228. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.cc +56 -25
  229. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.h +8 -3
  230. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel.h +4 -4
  231. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_args.h +3 -3
  232. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_secure.cc +2 -5
  233. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.cc +94 -347
  234. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.h +12 -45
  235. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.cc +2 -2
  236. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +13 -13
  237. data/src/core/lib/channel/channel_trace.cc +2 -6
  238. data/src/core/lib/channel/channelz.cc +19 -30
  239. data/src/core/lib/channel/channelz.h +1 -1
  240. data/src/core/lib/channel/channelz_registry.cc +3 -1
  241. data/src/core/lib/gpr/log_linux.cc +6 -8
  242. data/src/core/lib/gpr/log_posix.cc +6 -8
  243. data/src/core/lib/gpr/string.cc +10 -9
  244. data/src/core/lib/gpr/string.h +4 -2
  245. data/src/core/lib/gpr/sync_posix.cc +2 -8
  246. data/src/core/lib/gprpp/global_config_env.cc +8 -6
  247. data/src/core/lib/http/httpcli.cc +13 -10
  248. data/src/core/lib/http/httpcli_security_connector.cc +5 -5
  249. data/src/core/lib/iomgr/cfstream_handle.cc +1 -0
  250. data/src/core/lib/iomgr/endpoint.cc +5 -1
  251. data/src/core/lib/iomgr/endpoint.h +7 -3
  252. data/src/core/lib/iomgr/endpoint_cfstream.cc +32 -11
  253. data/src/core/lib/iomgr/endpoint_pair_posix.cc +10 -10
  254. data/src/core/lib/iomgr/error_cfstream.cc +9 -8
  255. data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -6
  256. data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -21
  257. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  258. data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
  259. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.cc +1 -1
  260. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.h +3 -3
  261. data/src/core/lib/iomgr/port.h +1 -21
  262. data/src/core/lib/iomgr/resolve_address_custom.cc +13 -18
  263. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -8
  264. data/src/core/lib/iomgr/resource_quota.cc +34 -31
  265. data/src/core/lib/iomgr/sockaddr_utils.cc +9 -6
  266. data/src/core/lib/iomgr/sockaddr_utils.h +3 -2
  267. data/src/core/lib/iomgr/socket_utils_common_posix.cc +95 -55
  268. data/src/core/lib/iomgr/socket_windows.cc +4 -5
  269. data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -11
  270. data/src/core/lib/iomgr/tcp_client_custom.cc +6 -9
  271. data/src/core/lib/iomgr/tcp_client_posix.cc +27 -36
  272. data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
  273. data/src/core/lib/iomgr/tcp_custom.cc +33 -17
  274. data/src/core/lib/iomgr/tcp_custom.h +1 -1
  275. data/src/core/lib/iomgr/tcp_posix.cc +31 -13
  276. data/src/core/lib/iomgr/tcp_server.cc +3 -4
  277. data/src/core/lib/iomgr/tcp_server.h +7 -5
  278. data/src/core/lib/iomgr/tcp_server_custom.cc +6 -14
  279. data/src/core/lib/iomgr/tcp_server_posix.cc +34 -41
  280. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -4
  281. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -7
  282. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -9
  283. data/src/core/lib/iomgr/tcp_server_windows.cc +16 -16
  284. data/src/core/lib/iomgr/tcp_windows.cc +26 -10
  285. data/src/core/lib/iomgr/timer_generic.cc +13 -12
  286. data/src/core/lib/iomgr/udp_server.cc +24 -23
  287. data/src/core/lib/iomgr/udp_server.h +5 -2
  288. data/src/core/lib/iomgr/unix_sockets_posix.cc +9 -14
  289. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
  290. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +5 -2
  291. data/src/core/lib/json/json_reader.cc +20 -21
  292. data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
  293. data/src/core/lib/security/authorization/authorization_engine.h +84 -0
  294. data/src/core/lib/security/authorization/evaluate_args.cc +153 -0
  295. data/src/core/lib/security/authorization/evaluate_args.h +59 -0
  296. data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
  297. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +42 -0
  298. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +68 -0
  299. data/src/core/lib/security/authorization/mock_cel/cel_value.h +93 -0
  300. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
  301. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +56 -0
  302. data/src/core/lib/security/authorization/mock_cel/statusor.h +50 -0
  303. data/src/core/lib/security/credentials/credentials.h +5 -3
  304. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
  305. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +64 -43
  306. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -4
  307. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +19 -28
  308. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -6
  309. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +20 -0
  310. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +10 -0
  311. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +10 -0
  312. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +11 -12
  313. data/src/core/lib/security/security_connector/security_connector.cc +2 -0
  314. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  315. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +18 -11
  316. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +5 -0
  317. data/src/core/lib/security/security_connector/ssl_utils.cc +44 -23
  318. data/src/core/lib/security/security_connector/ssl_utils.h +6 -2
  319. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -24
  320. data/src/core/lib/security/transport/client_auth_filter.cc +10 -9
  321. data/src/core/lib/security/transport/secure_endpoint.cc +7 -1
  322. data/src/core/lib/security/util/json_util.cc +12 -13
  323. data/src/core/lib/slice/slice.cc +38 -1
  324. data/src/core/lib/slice/slice_internal.h +1 -0
  325. data/src/core/lib/surface/call.cc +52 -53
  326. data/src/core/lib/surface/call.h +2 -1
  327. data/src/core/lib/surface/channel.cc +28 -20
  328. data/src/core/lib/surface/channel.h +12 -2
  329. data/src/core/lib/surface/completion_queue.cc +0 -5
  330. data/src/core/lib/surface/init.cc +1 -1
  331. data/src/core/lib/surface/server.cc +1102 -1347
  332. data/src/core/lib/surface/server.h +369 -71
  333. data/src/core/lib/surface/version.cc +2 -2
  334. data/src/core/lib/transport/authority_override.cc +38 -0
  335. data/src/core/lib/transport/authority_override.h +32 -0
  336. data/src/core/lib/transport/connectivity_state.cc +18 -13
  337. data/src/core/lib/transport/connectivity_state.h +18 -6
  338. data/src/core/lib/transport/error_utils.cc +13 -0
  339. data/src/core/lib/transport/error_utils.h +6 -0
  340. data/src/core/lib/transport/static_metadata.cc +295 -276
  341. data/src/core/lib/transport/static_metadata.h +80 -73
  342. data/src/core/lib/transport/transport.h +13 -0
  343. data/src/core/lib/uri/uri_parser.cc +30 -35
  344. data/src/core/lib/uri/uri_parser.h +3 -1
  345. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  346. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +23 -13
  347. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +24 -0
  348. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -0
  349. data/src/core/tsi/ssl_transport_security.cc +102 -11
  350. data/src/core/tsi/ssl_transport_security.h +14 -2
  351. data/src/core/tsi/transport_security_interface.h +5 -0
  352. data/src/ruby/bin/math_services_pb.rb +4 -4
  353. data/src/ruby/ext/grpc/extconf.rb +5 -2
  354. data/src/ruby/ext/grpc/rb_call.c +3 -2
  355. data/src/ruby/ext/grpc/rb_call.h +4 -0
  356. data/src/ruby/ext/grpc/rb_call_credentials.c +54 -10
  357. data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
  358. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -2
  359. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -4
  360. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  361. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  362. data/src/ruby/lib/grpc/version.rb +1 -1
  363. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
  364. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +5 -0
  365. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +28 -12
  366. data/src/ruby/spec/channel_credentials_spec.rb +10 -0
  367. data/src/ruby/spec/generic/active_call_spec.rb +19 -8
  368. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  369. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  370. data/src/ruby/spec/pb/codegen/package_option_spec.rb +20 -0
  371. data/src/ruby/spec/user_agent_spec.rb +74 -0
  372. data/third_party/abseil-cpp/absl/algorithm/container.h +1727 -0
  373. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +161 -0
  374. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  375. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  376. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  377. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  378. data/third_party/abseil-cpp/absl/container/fixed_array.h +515 -0
  379. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  380. data/third_party/abseil-cpp/absl/container/internal/common.h +202 -0
  381. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +440 -0
  382. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +146 -0
  383. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +191 -0
  384. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  385. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +269 -0
  386. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +297 -0
  387. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
  388. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +49 -0
  389. data/third_party/abseil-cpp/absl/container/internal/layout.h +741 -0
  390. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
  391. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1882 -0
  392. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +138 -0
  393. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  394. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1895 -0
  395. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  396. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  397. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  398. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +192 -0
  399. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +125 -0
  400. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +70 -0
  401. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +99 -0
  402. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
  403. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  404. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +85 -0
  405. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  406. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +128 -0
  407. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +194 -0
  408. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  409. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  410. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  411. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +25 -0
  412. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  413. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1480 -0
  414. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  415. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  416. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  417. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  418. data/third_party/abseil-cpp/absl/hash/hash.h +324 -0
  419. data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
  420. data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
  421. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
  422. data/third_party/abseil-cpp/absl/hash/internal/hash.h +988 -0
  423. data/third_party/abseil-cpp/absl/status/status.cc +447 -0
  424. data/third_party/abseil-cpp/absl/status/status.h +428 -0
  425. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +43 -0
  426. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  427. data/third_party/abseil-cpp/absl/strings/cord.cc +2019 -0
  428. data/third_party/abseil-cpp/absl/strings/cord.h +1121 -0
  429. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +151 -0
  430. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  431. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  432. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  433. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  434. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  435. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  436. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
  437. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  438. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
  439. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +261 -0
  440. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  441. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  442. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +484 -0
  443. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
  444. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2728 -0
  445. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1056 -0
  446. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  447. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  448. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  449. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  450. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  451. data/third_party/abseil-cpp/absl/types/variant.h +861 -0
  452. data/third_party/boringssl-with-bazel/err_data.c +266 -254
  453. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
  454. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +3 -3
  455. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +1 -1
  456. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -3
  457. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
  458. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
  459. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -1
  460. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
  461. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
  462. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
  463. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
  464. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +1 -0
  465. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +12 -52
  466. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -22
  467. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +159 -0
  468. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
  469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +11 -1
  470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +2 -1
  471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +13 -11
  472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +24 -23
  473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +20 -16
  474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -2
  475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
  476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +62 -0
  477. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +456 -0
  478. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +192 -0
  479. data/third_party/boringssl-with-bazel/src/crypto/mem.c +29 -15
  480. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
  481. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -5
  482. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +0 -29
  483. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +116 -363
  484. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +7 -45
  485. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +4 -4
  486. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +8 -0
  487. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
  488. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
  489. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +13 -6
  490. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +10 -0
  491. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +41 -0
  492. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +4 -1
  493. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +28 -9
  494. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +25 -0
  495. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +35 -13
  496. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -154
  497. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +20 -0
  498. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +28 -6
  499. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +5 -0
  500. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +74 -35
  501. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
  502. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +52 -0
  503. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +22 -22
  504. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -2
  505. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +69 -0
  506. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +72 -23
  507. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -3
  508. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -10
  509. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +800 -715
  510. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +3 -3
  511. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +9 -2
  512. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -2
  513. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +9 -0
  514. data/third_party/boringssl-with-bazel/src/ssl/internal.h +21 -14
  515. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -7
  516. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +3 -6
  517. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +38 -0
  518. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +4 -24
  519. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +5 -5
  520. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -24
  521. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +34 -9
  522. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +31 -21
  523. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +17 -9
  524. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
  525. data/third_party/re2/re2/bitmap256.h +117 -0
  526. data/third_party/re2/re2/bitstate.cc +385 -0
  527. data/third_party/re2/re2/compile.cc +1279 -0
  528. data/third_party/re2/re2/dfa.cc +2130 -0
  529. data/third_party/re2/re2/filtered_re2.cc +121 -0
  530. data/third_party/re2/re2/filtered_re2.h +109 -0
  531. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  532. data/third_party/re2/re2/nfa.cc +713 -0
  533. data/third_party/re2/re2/onepass.cc +623 -0
  534. data/third_party/re2/re2/parse.cc +2464 -0
  535. data/third_party/re2/re2/perl_groups.cc +119 -0
  536. data/third_party/re2/re2/pod_array.h +55 -0
  537. data/third_party/re2/re2/prefilter.cc +710 -0
  538. data/third_party/re2/re2/prefilter.h +108 -0
  539. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  540. data/third_party/re2/re2/prefilter_tree.h +139 -0
  541. data/third_party/re2/re2/prog.cc +988 -0
  542. data/third_party/re2/re2/prog.h +436 -0
  543. data/third_party/re2/re2/re2.cc +1362 -0
  544. data/third_party/re2/re2/re2.h +1002 -0
  545. data/third_party/re2/re2/regexp.cc +980 -0
  546. data/third_party/re2/re2/regexp.h +659 -0
  547. data/third_party/re2/re2/set.cc +154 -0
  548. data/third_party/re2/re2/set.h +80 -0
  549. data/third_party/re2/re2/simplify.cc +657 -0
  550. data/third_party/re2/re2/sparse_array.h +392 -0
  551. data/third_party/re2/re2/sparse_set.h +264 -0
  552. data/third_party/re2/re2/stringpiece.cc +65 -0
  553. data/third_party/re2/re2/stringpiece.h +210 -0
  554. data/third_party/re2/re2/tostring.cc +351 -0
  555. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  556. data/third_party/re2/re2/unicode_casefold.h +78 -0
  557. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  558. data/third_party/re2/re2/unicode_groups.h +67 -0
  559. data/third_party/re2/re2/walker-inl.h +246 -0
  560. data/third_party/re2/util/benchmark.h +156 -0
  561. data/third_party/re2/util/flags.h +26 -0
  562. data/third_party/re2/util/logging.h +109 -0
  563. data/third_party/re2/util/malloc_counter.h +19 -0
  564. data/third_party/re2/util/mix.h +41 -0
  565. data/third_party/re2/util/mutex.h +148 -0
  566. data/third_party/re2/util/pcre.cc +1025 -0
  567. data/third_party/re2/util/pcre.h +681 -0
  568. data/third_party/re2/util/rune.cc +260 -0
  569. data/third_party/re2/util/strutil.cc +149 -0
  570. data/third_party/re2/util/strutil.h +21 -0
  571. data/third_party/re2/util/test.h +50 -0
  572. data/third_party/re2/util/utf.h +44 -0
  573. data/third_party/re2/util/util.h +42 -0
  574. data/third_party/upb/upb/decode.c +517 -505
  575. data/third_party/upb/upb/encode.c +165 -123
  576. data/third_party/upb/upb/msg.c +130 -64
  577. data/third_party/upb/upb/msg.h +418 -14
  578. data/third_party/upb/upb/port_def.inc +35 -6
  579. data/third_party/upb/upb/port_undef.inc +8 -1
  580. data/third_party/upb/upb/table.c +53 -86
  581. data/third_party/upb/upb/table.int.h +11 -52
  582. data/third_party/upb/upb/upb.c +151 -125
  583. data/third_party/upb/upb/upb.h +91 -147
  584. data/third_party/upb/upb/upb.hpp +88 -0
  585. metadata +308 -148
  586. data/src/core/ext/filters/client_channel/xds/xds_api.cc +0 -1906
  587. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -21
  588. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -35
  589. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +0 -114
  590. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +0 -418
  591. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +0 -72
  592. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +0 -197
  593. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +0 -105
  594. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +0 -378
  595. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -53
  596. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -403
  597. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1447
  598. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -74
  599. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -218
  600. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
  601. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -305
  602. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -112
  603. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -328
  604. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +0 -78
  605. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -313
  606. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -897
  607. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -96
  608. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -322
  609. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +0 -34
  610. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +0 -72
  611. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -197
  612. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -642
  613. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -172
  614. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -673
  615. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
  616. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -152
  617. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -518
  618. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +0 -89
  619. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -129
  620. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -392
  621. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -53
  622. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -92
  623. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -240
  624. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -18
  625. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -33
  626. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -91
  627. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -266
  628. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -112
  629. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -324
  630. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -53
  631. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -109
  632. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -399
  633. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -18
  634. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -33
  635. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -145
  636. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -527
  637. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -43
  638. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -112
  639. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -53
  640. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -63
  641. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -199
  642. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -18
  643. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -33
  644. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -815
  645. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -3032
  646. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -59
  647. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -134
  648. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -53
  649. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -228
  650. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -725
  651. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -316
  652. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1132
  653. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
  654. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +0 -51
  655. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +0 -125
  656. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -50
  657. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -54
  658. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -134
  659. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -63
  660. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -144
  661. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -53
  662. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
  663. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -88
  664. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
  665. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -87
  666. data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -112
  667. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -62
  668. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -89
  669. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -249
  670. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  671. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  672. data/src/core/lib/slice/slice_hash_table.h +0 -199
  673. data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
  674. data/third_party/upb/upb/generated_util.h +0 -105
@@ -23,6 +23,6 @@
23
23
 
24
24
  #include <grpc/grpc.h>
25
25
 
26
- const char* grpc_version_string(void) { return "10.0.0"; }
26
+ const char* grpc_version_string(void) { return "12.0.0"; }
27
27
 
28
- const char* grpc_g_stands_for(void) { return "gradius"; }
28
+ const char* grpc_g_stands_for(void) { return "giggle"; }
@@ -0,0 +1,38 @@
1
+ //
2
+ // Copyright 2020 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #include <grpc/support/port_platform.h>
18
+
19
+ #include "src/core/lib/channel/channel_args.h"
20
+
21
+ // Channel arg key for the authority override.
22
+ #define GRPC_ARG_AUTHORITY_OVERRIDE "grpc.authority_override"
23
+
24
+ namespace grpc_core {
25
+
26
+ /// Returns a channel argument containing \a authority.
27
+ grpc_arg CreateAuthorityOverrideChannelArg(const char* authority) {
28
+ return grpc_channel_arg_string_create(
29
+ const_cast<char*>(GRPC_ARG_AUTHORITY_OVERRIDE),
30
+ const_cast<char*>(authority));
31
+ }
32
+
33
+ /// Returns the authority override from \a args or nullptr.
34
+ const char* FindAuthorityOverrideInArgs(const grpc_channel_args* args) {
35
+ return grpc_channel_args_find_string(args, GRPC_ARG_AUTHORITY_OVERRIDE);
36
+ }
37
+
38
+ } // namespace grpc_core
@@ -0,0 +1,32 @@
1
+ //
2
+ // Copyright 2020 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #ifndef GRPC_CORE_LIB_TRANSPORT_AUTHORITY_OVERRIDE_H
18
+ #define GRPC_CORE_LIB_TRANSPORT_AUTHORITY_OVERRIDE_H
19
+
20
+ #include <grpc/support/port_platform.h>
21
+
22
+ namespace grpc_core {
23
+
24
+ /// Returns a channel argument containing \a authority.
25
+ grpc_arg CreateAuthorityOverrideChannelArg(const char* authority);
26
+
27
+ /// Returns the authority override from \a args or nullptr.
28
+ const char* FindAuthorityOverrideInArgs(const grpc_channel_args* args);
29
+
30
+ } // namespace grpc_core
31
+
32
+ #endif /* GRPC_CORE_LIB_TRANSPORT_AUTHORITY_OVERRIDE_H */
@@ -58,9 +58,9 @@ const char* ConnectivityStateName(grpc_connectivity_state state) {
58
58
  class AsyncConnectivityStateWatcherInterface::Notifier {
59
59
  public:
60
60
  Notifier(RefCountedPtr<AsyncConnectivityStateWatcherInterface> watcher,
61
- grpc_connectivity_state state,
61
+ grpc_connectivity_state state, const absl::Status& status,
62
62
  const std::shared_ptr<WorkSerializer>& work_serializer)
63
- : watcher_(std::move(watcher)), state_(state) {
63
+ : watcher_(std::move(watcher)), state_(state), status_(status) {
64
64
  if (work_serializer != nullptr) {
65
65
  work_serializer->Run(
66
66
  [this]() { SendNotification(this, GRPC_ERROR_NONE); },
@@ -76,21 +76,24 @@ class AsyncConnectivityStateWatcherInterface::Notifier {
76
76
  static void SendNotification(void* arg, grpc_error* /*ignored*/) {
77
77
  Notifier* self = static_cast<Notifier*>(arg);
78
78
  if (GRPC_TRACE_FLAG_ENABLED(grpc_connectivity_state_trace)) {
79
- gpr_log(GPR_INFO, "watcher %p: delivering async notification for %s",
80
- self->watcher_.get(), ConnectivityStateName(self->state_));
79
+ gpr_log(GPR_INFO, "watcher %p: delivering async notification for %s (%s)",
80
+ self->watcher_.get(), ConnectivityStateName(self->state_),
81
+ self->status_.ToString().c_str());
81
82
  }
82
- self->watcher_->OnConnectivityStateChange(self->state_);
83
+ self->watcher_->OnConnectivityStateChange(self->state_, self->status_);
83
84
  delete self;
84
85
  }
85
86
 
86
87
  RefCountedPtr<AsyncConnectivityStateWatcherInterface> watcher_;
87
88
  const grpc_connectivity_state state_;
89
+ const absl::Status status_;
88
90
  grpc_closure closure_;
89
91
  };
90
92
 
91
93
  void AsyncConnectivityStateWatcherInterface::Notify(
92
- grpc_connectivity_state state) {
93
- new Notifier(Ref(), state, work_serializer_); // Deletes itself when done.
94
+ grpc_connectivity_state state, const absl::Status& status) {
95
+ new Notifier(Ref(), state, status,
96
+ work_serializer_); // Deletes itself when done.
94
97
  }
95
98
 
96
99
  //
@@ -107,7 +110,7 @@ ConnectivityStateTracker::~ConnectivityStateTracker() {
107
110
  name_, this, p.first, ConnectivityStateName(current_state),
108
111
  ConnectivityStateName(GRPC_CHANNEL_SHUTDOWN));
109
112
  }
110
- p.second->Notify(GRPC_CHANNEL_SHUTDOWN);
113
+ p.second->Notify(GRPC_CHANNEL_SHUTDOWN, absl::Status());
111
114
  }
112
115
  }
113
116
 
@@ -126,7 +129,7 @@ void ConnectivityStateTracker::AddWatcher(
126
129
  name_, this, watcher.get(), ConnectivityStateName(initial_state),
127
130
  ConnectivityStateName(current_state));
128
131
  }
129
- watcher->Notify(current_state);
132
+ watcher->Notify(current_state, status_);
130
133
  }
131
134
  // If we're in state SHUTDOWN, don't add the watcher, so that it will
132
135
  // be orphaned immediately.
@@ -145,15 +148,17 @@ void ConnectivityStateTracker::RemoveWatcher(
145
148
  }
146
149
 
147
150
  void ConnectivityStateTracker::SetState(grpc_connectivity_state state,
151
+ const absl::Status& status,
148
152
  const char* reason) {
149
153
  grpc_connectivity_state current_state = state_.Load(MemoryOrder::RELAXED);
150
154
  if (state == current_state) return;
151
155
  if (GRPC_TRACE_FLAG_ENABLED(grpc_connectivity_state_trace)) {
152
- gpr_log(GPR_INFO, "ConnectivityStateTracker %s[%p]: %s -> %s (%s)", name_,
153
- this, ConnectivityStateName(current_state),
154
- ConnectivityStateName(state), reason);
156
+ gpr_log(GPR_INFO, "ConnectivityStateTracker %s[%p]: %s -> %s (%s, %s)",
157
+ name_, this, ConnectivityStateName(current_state),
158
+ ConnectivityStateName(state), reason, status.ToString().c_str());
155
159
  }
156
160
  state_.Store(state, MemoryOrder::RELAXED);
161
+ status_ = status;
157
162
  for (const auto& p : watchers_) {
158
163
  if (GRPC_TRACE_FLAG_ENABLED(grpc_connectivity_state_trace)) {
159
164
  gpr_log(GPR_INFO,
@@ -161,7 +166,7 @@ void ConnectivityStateTracker::SetState(grpc_connectivity_state state,
161
166
  name_, this, p.first, ConnectivityStateName(current_state),
162
167
  ConnectivityStateName(state));
163
168
  }
164
- p.second->Notify(state);
169
+ p.second->Notify(state, status);
165
170
  }
166
171
  // If the new state is SHUTDOWN, orphan all of the watchers. This
167
172
  // avoids the need for the callers to explicitly cancel them.
@@ -21,6 +21,8 @@
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
+ #include "absl/status/status.h"
25
+
24
26
  #include <grpc/grpc.h>
25
27
 
26
28
  #include "src/core/lib/debug/trace.h"
@@ -49,7 +51,8 @@ class ConnectivityStateWatcherInterface
49
51
  virtual ~ConnectivityStateWatcherInterface() = default;
50
52
 
51
53
  // Notifies the watcher that the state has changed to new_state.
52
- virtual void Notify(grpc_connectivity_state new_state) = 0;
54
+ virtual void Notify(grpc_connectivity_state new_state,
55
+ const absl::Status& status) = 0;
53
56
 
54
57
  void Orphan() override { Unref(); }
55
58
  };
@@ -64,7 +67,8 @@ class AsyncConnectivityStateWatcherInterface
64
67
 
65
68
  // Schedules a closure on the ExecCtx to invoke
66
69
  // OnConnectivityStateChange() asynchronously.
67
- void Notify(grpc_connectivity_state new_state) override final;
70
+ void Notify(grpc_connectivity_state new_state,
71
+ const absl::Status& status) override final;
68
72
 
69
73
  protected:
70
74
  class Notifier;
@@ -76,7 +80,8 @@ class AsyncConnectivityStateWatcherInterface
76
80
  : work_serializer_(std::move(work_serializer)) {}
77
81
 
78
82
  // Invoked asynchronously when Notify() is called.
79
- virtual void OnConnectivityStateChange(grpc_connectivity_state new_state) = 0;
83
+ virtual void OnConnectivityStateChange(grpc_connectivity_state new_state,
84
+ const absl::Status& status) = 0;
80
85
 
81
86
  private:
82
87
  std::shared_ptr<WorkSerializer> work_serializer_;
@@ -91,8 +96,9 @@ class AsyncConnectivityStateWatcherInterface
91
96
  class ConnectivityStateTracker {
92
97
  public:
93
98
  ConnectivityStateTracker(const char* name,
94
- grpc_connectivity_state state = GRPC_CHANNEL_IDLE)
95
- : name_(name), state_(state) {}
99
+ grpc_connectivity_state state = GRPC_CHANNEL_IDLE,
100
+ const absl::Status& status = absl::Status())
101
+ : name_(name), state_(state), status_(status) {}
96
102
 
97
103
  ~ConnectivityStateTracker();
98
104
 
@@ -110,15 +116,21 @@ class ConnectivityStateTracker {
110
116
 
111
117
  // Sets connectivity state.
112
118
  // Not thread safe; access must be serialized with an external lock.
113
- void SetState(grpc_connectivity_state state, const char* reason);
119
+ void SetState(grpc_connectivity_state state, const absl::Status& status,
120
+ const char* reason);
114
121
 
115
122
  // Gets the current state.
116
123
  // Thread safe; no need to use an external lock.
117
124
  grpc_connectivity_state state() const;
118
125
 
126
+ // Get the current status.
127
+ // Not thread safe; access must be serialized with an external lock.
128
+ absl::Status status() const { return status_; }
129
+
119
130
  private:
120
131
  const char* name_;
121
132
  Atomic<grpc_connectivity_state> state_;
133
+ absl::Status status_;
122
134
  // TODO(roth): Once we can use C++-14 heterogeneous lookups, this can
123
135
  // be a set instead of a map.
124
136
  std::map<ConnectivityStateWatcherInterface*,
@@ -123,6 +123,19 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
123
123
  }
124
124
  }
125
125
 
126
+ absl::Status grpc_error_to_absl_status(grpc_error* error) {
127
+ grpc_status_code status;
128
+ // TODO(yashykt): This should be updated once we decide on how to use the
129
+ // absl::Status payload to capture all the contents of grpc_error.
130
+ grpc_slice message;
131
+ grpc_error_get_status(error, GRPC_MILLIS_INF_FUTURE, &status, &message,
132
+ nullptr /* http_error */, nullptr /* error_string */);
133
+ return absl::Status(static_cast<absl::StatusCode>(status),
134
+ absl::string_view(reinterpret_cast<const char*>(
135
+ GRPC_SLICE_START_PTR(message)),
136
+ GRPC_SLICE_LENGTH(message)));
137
+ }
138
+
126
139
  bool grpc_error_has_clear_grpc_status(grpc_error* error) {
127
140
  intptr_t unused;
128
141
  if (grpc_error_get_int(error, GRPC_ERROR_INT_GRPC_STATUS, &unused)) {
@@ -21,6 +21,8 @@
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
+ #include "absl/status/status.h"
25
+
24
26
  #include "src/core/lib/iomgr/error.h"
25
27
  #include "src/core/lib/iomgr/exec_ctx.h"
26
28
  #include "src/core/lib/transport/http2_errors.h"
@@ -37,6 +39,10 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
37
39
  grpc_http2_error_code* http_status,
38
40
  const char** error_string);
39
41
 
42
+ /// Utility Function to convert a grpc_error * \a error to an absl::Status.
43
+ /// Does NOT consume a ref to grpc_error.
44
+ absl::Status grpc_error_to_absl_status(grpc_error* error);
45
+
40
46
  /// A utility function to check whether there is a clear status code that
41
47
  /// doesn't need to be guessed in \a error. This means that \a error or some
42
48
  /// child has GRPC_ERROR_INT_GRPC_STATUS set, or that it is GRPC_ERROR_NONE or
@@ -68,59 +68,68 @@ static constexpr uint8_t g_bytes[] = {
68
68
  114, 118, 105, 99, 101, 46, 108, 111, 97, 100, 95, 115, 116, 97, 116,
69
69
  115, 46, 118, 50, 46, 76, 111, 97, 100, 82, 101, 112, 111, 114, 116,
70
70
  105, 110, 103, 83, 101, 114, 118, 105, 99, 101, 47, 83, 116, 114, 101,
71
- 97, 109, 76, 111, 97, 100, 83, 116, 97, 116, 115, 47, 103, 114, 112,
72
- 99, 46, 104, 101, 97, 108, 116, 104, 46, 118, 49, 46, 72, 101, 97,
73
- 108, 116, 104, 47, 87, 97, 116, 99, 104, 47, 101, 110, 118, 111, 121,
74
- 46, 115, 101, 114, 118, 105, 99, 101, 46, 100, 105, 115, 99, 111, 118,
75
- 101, 114, 121, 46, 118, 50, 46, 65, 103, 103, 114, 101, 103, 97, 116,
76
- 101, 100, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114, 118,
77
- 105, 99, 101, 47, 83, 116, 114, 101, 97, 109, 65, 103, 103, 114, 101,
78
- 103, 97, 116, 101, 100, 82, 101, 115, 111, 117, 114, 99, 101, 115, 100,
79
- 101, 102, 108, 97, 116, 101, 103, 122, 105, 112, 115, 116, 114, 101, 97,
80
- 109, 47, 103, 122, 105, 112, 71, 69, 84, 80, 79, 83, 84, 47, 47,
81
- 105, 110, 100, 101, 120, 46, 104, 116, 109, 108, 104, 116, 116, 112, 104,
82
- 116, 116, 112, 115, 50, 48, 48, 50, 48, 52, 50, 48, 54, 51, 48,
83
- 52, 52, 48, 48, 52, 48, 52, 53, 48, 48, 97, 99, 99, 101, 112,
84
- 116, 45, 99, 104, 97, 114, 115, 101, 116, 103, 122, 105, 112, 44, 32,
85
- 100, 101, 102, 108, 97, 116, 101, 97, 99, 99, 101, 112, 116, 45, 108,
86
- 97, 110, 103, 117, 97, 103, 101, 97, 99, 99, 101, 112, 116, 45, 114,
87
- 97, 110, 103, 101, 115, 97, 99, 99, 101, 112, 116, 97, 99, 99, 101,
88
- 115, 115, 45, 99, 111, 110, 116, 114, 111, 108, 45, 97, 108, 108, 111,
89
- 119, 45, 111, 114, 105, 103, 105, 110, 97, 103, 101, 97, 108, 108, 111,
90
- 119, 97, 117, 116, 104, 111, 114, 105, 122, 97, 116, 105, 111, 110, 99,
91
- 97, 99, 104, 101, 45, 99, 111, 110, 116, 114, 111, 108, 99, 111, 110,
92
- 116, 101, 110, 116, 45, 100, 105, 115, 112, 111, 115, 105, 116, 105, 111,
93
- 110, 99, 111, 110, 116, 101, 110, 116, 45, 108, 97, 110, 103, 117, 97,
94
- 103, 101, 99, 111, 110, 116, 101, 110, 116, 45, 108, 101, 110, 103, 116,
95
- 104, 99, 111, 110, 116, 101, 110, 116, 45, 108, 111, 99, 97, 116, 105,
96
- 111, 110, 99, 111, 110, 116, 101, 110, 116, 45, 114, 97, 110, 103, 101,
97
- 99, 111, 111, 107, 105, 101, 100, 97, 116, 101, 101, 116, 97, 103, 101,
98
- 120, 112, 101, 99, 116, 101, 120, 112, 105, 114, 101, 115, 102, 114, 111,
99
- 109, 105, 102, 45, 109, 97, 116, 99, 104, 105, 102, 45, 109, 111, 100,
100
- 105, 102, 105, 101, 100, 45, 115, 105, 110, 99, 101, 105, 102, 45, 110,
101
- 111, 110, 101, 45, 109, 97, 116, 99, 104, 105, 102, 45, 114, 97, 110,
102
- 103, 101, 105, 102, 45, 117, 110, 109, 111, 100, 105, 102, 105, 101, 100,
103
- 45, 115, 105, 110, 99, 101, 108, 97, 115, 116, 45, 109, 111, 100, 105,
104
- 102, 105, 101, 100, 108, 105, 110, 107, 108, 111, 99, 97, 116, 105, 111,
105
- 110, 109, 97, 120, 45, 102, 111, 114, 119, 97, 114, 100, 115, 112, 114,
106
- 111, 120, 121, 45, 97, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116,
107
- 101, 112, 114, 111, 120, 121, 45, 97, 117, 116, 104, 111, 114, 105, 122,
108
- 97, 116, 105, 111, 110, 114, 97, 110, 103, 101, 114, 101, 102, 101, 114,
109
- 101, 114, 114, 101, 102, 114, 101, 115, 104, 114, 101, 116, 114, 121, 45,
110
- 97, 102, 116, 101, 114, 115, 101, 114, 118, 101, 114, 115, 101, 116, 45,
111
- 99, 111, 111, 107, 105, 101, 115, 116, 114, 105, 99, 116, 45, 116, 114,
112
- 97, 110, 115, 112, 111, 114, 116, 45, 115, 101, 99, 117, 114, 105, 116,
113
- 121, 116, 114, 97, 110, 115, 102, 101, 114, 45, 101, 110, 99, 111, 100,
114
- 105, 110, 103, 118, 97, 114, 121, 118, 105, 97, 119, 119, 119, 45, 97,
115
- 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 48, 105, 100, 101,
116
- 110, 116, 105, 116, 121, 116, 114, 97, 105, 108, 101, 114, 115, 97, 112,
117
- 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 103, 114, 112, 99, 103,
118
- 114, 112, 99, 80, 85, 84, 108, 98, 45, 99, 111, 115, 116, 45, 98,
119
- 105, 110, 105, 100, 101, 110, 116, 105, 116, 121, 44, 100, 101, 102, 108,
120
- 97, 116, 101, 105, 100, 101, 110, 116, 105, 116, 121, 44, 103, 122, 105,
121
- 112, 100, 101, 102, 108, 97, 116, 101, 44, 103, 122, 105, 112, 105, 100,
122
- 101, 110, 116, 105, 116, 121, 44, 100, 101, 102, 108, 97, 116, 101, 44,
123
- 103, 122, 105, 112};
71
+ 97, 109, 76, 111, 97, 100, 83, 116, 97, 116, 115, 47, 101, 110, 118,
72
+ 111, 121, 46, 115, 101, 114, 118, 105, 99, 101, 46, 108, 111, 97, 100,
73
+ 95, 115, 116, 97, 116, 115, 46, 118, 51, 46, 76, 111, 97, 100, 82,
74
+ 101, 112, 111, 114, 116, 105, 110, 103, 83, 101, 114, 118, 105, 99, 101,
75
+ 47, 83, 116, 114, 101, 97, 109, 76, 111, 97, 100, 83, 116, 97, 116,
76
+ 115, 47, 103, 114, 112, 99, 46, 104, 101, 97, 108, 116, 104, 46, 118,
77
+ 49, 46, 72, 101, 97, 108, 116, 104, 47, 87, 97, 116, 99, 104, 47,
78
+ 101, 110, 118, 111, 121, 46, 115, 101, 114, 118, 105, 99, 101, 46, 100,
79
+ 105, 115, 99, 111, 118, 101, 114, 121, 46, 118, 50, 46, 65, 103, 103,
80
+ 114, 101, 103, 97, 116, 101, 100, 68, 105, 115, 99, 111, 118, 101, 114,
81
+ 121, 83, 101, 114, 118, 105, 99, 101, 47, 83, 116, 114, 101, 97, 109,
82
+ 65, 103, 103, 114, 101, 103, 97, 116, 101, 100, 82, 101, 115, 111, 117,
83
+ 114, 99, 101, 115, 47, 101, 110, 118, 111, 121, 46, 115, 101, 114, 118,
84
+ 105, 99, 101, 46, 100, 105, 115, 99, 111, 118, 101, 114, 121, 46, 118,
85
+ 51, 46, 65, 103, 103, 114, 101, 103, 97, 116, 101, 100, 68, 105, 115,
86
+ 99, 111, 118, 101, 114, 121, 83, 101, 114, 118, 105, 99, 101, 47, 83,
87
+ 116, 114, 101, 97, 109, 65, 103, 103, 114, 101, 103, 97, 116, 101, 100,
88
+ 82, 101, 115, 111, 117, 114, 99, 101, 115, 100, 101, 102, 108, 97, 116,
89
+ 101, 103, 122, 105, 112, 115, 116, 114, 101, 97, 109, 47, 103, 122, 105,
90
+ 112, 71, 69, 84, 80, 79, 83, 84, 47, 47, 105, 110, 100, 101, 120,
91
+ 46, 104, 116, 109, 108, 104, 116, 116, 112, 104, 116, 116, 112, 115, 50,
92
+ 48, 48, 50, 48, 52, 50, 48, 54, 51, 48, 52, 52, 48, 48, 52,
93
+ 48, 52, 53, 48, 48, 97, 99, 99, 101, 112, 116, 45, 99, 104, 97,
94
+ 114, 115, 101, 116, 103, 122, 105, 112, 44, 32, 100, 101, 102, 108, 97,
95
+ 116, 101, 97, 99, 99, 101, 112, 116, 45, 108, 97, 110, 103, 117, 97,
96
+ 103, 101, 97, 99, 99, 101, 112, 116, 45, 114, 97, 110, 103, 101, 115,
97
+ 97, 99, 99, 101, 112, 116, 97, 99, 99, 101, 115, 115, 45, 99, 111,
98
+ 110, 116, 114, 111, 108, 45, 97, 108, 108, 111, 119, 45, 111, 114, 105,
99
+ 103, 105, 110, 97, 103, 101, 97, 108, 108, 111, 119, 97, 117, 116, 104,
100
+ 111, 114, 105, 122, 97, 116, 105, 111, 110, 99, 97, 99, 104, 101, 45,
101
+ 99, 111, 110, 116, 114, 111, 108, 99, 111, 110, 116, 101, 110, 116, 45,
102
+ 100, 105, 115, 112, 111, 115, 105, 116, 105, 111, 110, 99, 111, 110, 116,
103
+ 101, 110, 116, 45, 108, 97, 110, 103, 117, 97, 103, 101, 99, 111, 110,
104
+ 116, 101, 110, 116, 45, 108, 101, 110, 103, 116, 104, 99, 111, 110, 116,
105
+ 101, 110, 116, 45, 108, 111, 99, 97, 116, 105, 111, 110, 99, 111, 110,
106
+ 116, 101, 110, 116, 45, 114, 97, 110, 103, 101, 99, 111, 111, 107, 105,
107
+ 101, 100, 97, 116, 101, 101, 116, 97, 103, 101, 120, 112, 101, 99, 116,
108
+ 101, 120, 112, 105, 114, 101, 115, 102, 114, 111, 109, 105, 102, 45, 109,
109
+ 97, 116, 99, 104, 105, 102, 45, 109, 111, 100, 105, 102, 105, 101, 100,
110
+ 45, 115, 105, 110, 99, 101, 105, 102, 45, 110, 111, 110, 101, 45, 109,
111
+ 97, 116, 99, 104, 105, 102, 45, 114, 97, 110, 103, 101, 105, 102, 45,
112
+ 117, 110, 109, 111, 100, 105, 102, 105, 101, 100, 45, 115, 105, 110, 99,
113
+ 101, 108, 97, 115, 116, 45, 109, 111, 100, 105, 102, 105, 101, 100, 108,
114
+ 105, 110, 107, 108, 111, 99, 97, 116, 105, 111, 110, 109, 97, 120, 45,
115
+ 102, 111, 114, 119, 97, 114, 100, 115, 112, 114, 111, 120, 121, 45, 97,
116
+ 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 112, 114, 111, 120,
117
+ 121, 45, 97, 117, 116, 104, 111, 114, 105, 122, 97, 116, 105, 111, 110,
118
+ 114, 97, 110, 103, 101, 114, 101, 102, 101, 114, 101, 114, 114, 101, 102,
119
+ 114, 101, 115, 104, 114, 101, 116, 114, 121, 45, 97, 102, 116, 101, 114,
120
+ 115, 101, 114, 118, 101, 114, 115, 101, 116, 45, 99, 111, 111, 107, 105,
121
+ 101, 115, 116, 114, 105, 99, 116, 45, 116, 114, 97, 110, 115, 112, 111,
122
+ 114, 116, 45, 115, 101, 99, 117, 114, 105, 116, 121, 116, 114, 97, 110,
123
+ 115, 102, 101, 114, 45, 101, 110, 99, 111, 100, 105, 110, 103, 118, 97,
124
+ 114, 121, 118, 105, 97, 119, 119, 119, 45, 97, 117, 116, 104, 101, 110,
125
+ 116, 105, 99, 97, 116, 101, 48, 105, 100, 101, 110, 116, 105, 116, 121,
126
+ 116, 114, 97, 105, 108, 101, 114, 115, 97, 112, 112, 108, 105, 99, 97,
127
+ 116, 105, 111, 110, 47, 103, 114, 112, 99, 103, 114, 112, 99, 80, 85,
128
+ 84, 108, 98, 45, 99, 111, 115, 116, 45, 98, 105, 110, 105, 100, 101,
129
+ 110, 116, 105, 116, 121, 44, 100, 101, 102, 108, 97, 116, 101, 105, 100,
130
+ 101, 110, 116, 105, 116, 121, 44, 103, 122, 105, 112, 100, 101, 102, 108,
131
+ 97, 116, 101, 44, 103, 122, 105, 112, 105, 100, 101, 110, 116, 105, 116,
132
+ 121, 44, 100, 101, 102, 108, 97, 116, 101, 44, 103, 122, 105, 112};
124
133
 
125
134
  grpc_slice_refcount grpc_core::StaticSliceRefcount::kStaticSubRefcount;
126
135
 
@@ -185,6 +194,7 @@ struct StaticMetadataCtx {
185
194
  StaticSliceRefcount(102), StaticSliceRefcount(103),
186
195
  StaticSliceRefcount(104), StaticSliceRefcount(105),
187
196
  StaticSliceRefcount(106), StaticSliceRefcount(107),
197
+ StaticSliceRefcount(108), StaticSliceRefcount(109),
188
198
  };
189
199
 
190
200
  const StaticMetadataSlice slices[GRPC_STATIC_MDSTR_COUNT] = {
@@ -225,78 +235,80 @@ struct StaticMetadataCtx {
225
235
  grpc_core::StaticMetadataSlice(&refcounts[33].base, 31, g_bytes + 434),
226
236
  grpc_core::StaticMetadataSlice(&refcounts[34].base, 36, g_bytes + 465),
227
237
  grpc_core::StaticMetadataSlice(&refcounts[35].base, 65, g_bytes + 501),
228
- grpc_core::StaticMetadataSlice(&refcounts[36].base, 28, g_bytes + 566),
229
- grpc_core::StaticMetadataSlice(&refcounts[37].base, 80, g_bytes + 594),
230
- grpc_core::StaticMetadataSlice(&refcounts[38].base, 7, g_bytes + 674),
231
- grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
232
- grpc_core::StaticMetadataSlice(&refcounts[40].base, 11, g_bytes + 685),
233
- grpc_core::StaticMetadataSlice(&refcounts[41].base, 3, g_bytes + 696),
234
- grpc_core::StaticMetadataSlice(&refcounts[42].base, 4, g_bytes + 699),
235
- grpc_core::StaticMetadataSlice(&refcounts[43].base, 1, g_bytes + 703),
236
- grpc_core::StaticMetadataSlice(&refcounts[44].base, 11, g_bytes + 704),
237
- grpc_core::StaticMetadataSlice(&refcounts[45].base, 4, g_bytes + 715),
238
- grpc_core::StaticMetadataSlice(&refcounts[46].base, 5, g_bytes + 719),
239
- grpc_core::StaticMetadataSlice(&refcounts[47].base, 3, g_bytes + 724),
240
- grpc_core::StaticMetadataSlice(&refcounts[48].base, 3, g_bytes + 727),
241
- grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 730),
242
- grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 733),
243
- grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 736),
244
- grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 739),
245
- grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 742),
246
- grpc_core::StaticMetadataSlice(&refcounts[54].base, 14, g_bytes + 745),
247
- grpc_core::StaticMetadataSlice(&refcounts[55].base, 13, g_bytes + 759),
248
- grpc_core::StaticMetadataSlice(&refcounts[56].base, 15, g_bytes + 772),
249
- grpc_core::StaticMetadataSlice(&refcounts[57].base, 13, g_bytes + 787),
250
- grpc_core::StaticMetadataSlice(&refcounts[58].base, 6, g_bytes + 800),
251
- grpc_core::StaticMetadataSlice(&refcounts[59].base, 27, g_bytes + 806),
252
- grpc_core::StaticMetadataSlice(&refcounts[60].base, 3, g_bytes + 833),
253
- grpc_core::StaticMetadataSlice(&refcounts[61].base, 5, g_bytes + 836),
254
- grpc_core::StaticMetadataSlice(&refcounts[62].base, 13, g_bytes + 841),
255
- grpc_core::StaticMetadataSlice(&refcounts[63].base, 13, g_bytes + 854),
256
- grpc_core::StaticMetadataSlice(&refcounts[64].base, 19, g_bytes + 867),
257
- grpc_core::StaticMetadataSlice(&refcounts[65].base, 16, g_bytes + 886),
258
- grpc_core::StaticMetadataSlice(&refcounts[66].base, 14, g_bytes + 902),
259
- grpc_core::StaticMetadataSlice(&refcounts[67].base, 16, g_bytes + 916),
260
- grpc_core::StaticMetadataSlice(&refcounts[68].base, 13, g_bytes + 932),
261
- grpc_core::StaticMetadataSlice(&refcounts[69].base, 6, g_bytes + 945),
262
- grpc_core::StaticMetadataSlice(&refcounts[70].base, 4, g_bytes + 951),
263
- grpc_core::StaticMetadataSlice(&refcounts[71].base, 4, g_bytes + 955),
264
- grpc_core::StaticMetadataSlice(&refcounts[72].base, 6, g_bytes + 959),
265
- grpc_core::StaticMetadataSlice(&refcounts[73].base, 7, g_bytes + 965),
266
- grpc_core::StaticMetadataSlice(&refcounts[74].base, 4, g_bytes + 972),
267
- grpc_core::StaticMetadataSlice(&refcounts[75].base, 8, g_bytes + 976),
268
- grpc_core::StaticMetadataSlice(&refcounts[76].base, 17, g_bytes + 984),
269
- grpc_core::StaticMetadataSlice(&refcounts[77].base, 13, g_bytes + 1001),
270
- grpc_core::StaticMetadataSlice(&refcounts[78].base, 8, g_bytes + 1014),
271
- grpc_core::StaticMetadataSlice(&refcounts[79].base, 19, g_bytes + 1022),
272
- grpc_core::StaticMetadataSlice(&refcounts[80].base, 13, g_bytes + 1041),
273
- grpc_core::StaticMetadataSlice(&refcounts[81].base, 4, g_bytes + 1054),
274
- grpc_core::StaticMetadataSlice(&refcounts[82].base, 8, g_bytes + 1058),
275
- grpc_core::StaticMetadataSlice(&refcounts[83].base, 12, g_bytes + 1066),
276
- grpc_core::StaticMetadataSlice(&refcounts[84].base, 18, g_bytes + 1078),
277
- grpc_core::StaticMetadataSlice(&refcounts[85].base, 19, g_bytes + 1096),
278
- grpc_core::StaticMetadataSlice(&refcounts[86].base, 5, g_bytes + 1115),
279
- grpc_core::StaticMetadataSlice(&refcounts[87].base, 7, g_bytes + 1120),
280
- grpc_core::StaticMetadataSlice(&refcounts[88].base, 7, g_bytes + 1127),
281
- grpc_core::StaticMetadataSlice(&refcounts[89].base, 11, g_bytes + 1134),
282
- grpc_core::StaticMetadataSlice(&refcounts[90].base, 6, g_bytes + 1145),
283
- grpc_core::StaticMetadataSlice(&refcounts[91].base, 10, g_bytes + 1151),
284
- grpc_core::StaticMetadataSlice(&refcounts[92].base, 25, g_bytes + 1161),
285
- grpc_core::StaticMetadataSlice(&refcounts[93].base, 17, g_bytes + 1186),
286
- grpc_core::StaticMetadataSlice(&refcounts[94].base, 4, g_bytes + 1203),
287
- grpc_core::StaticMetadataSlice(&refcounts[95].base, 3, g_bytes + 1207),
288
- grpc_core::StaticMetadataSlice(&refcounts[96].base, 16, g_bytes + 1210),
289
- grpc_core::StaticMetadataSlice(&refcounts[97].base, 1, g_bytes + 1226),
290
- grpc_core::StaticMetadataSlice(&refcounts[98].base, 8, g_bytes + 1227),
291
- grpc_core::StaticMetadataSlice(&refcounts[99].base, 8, g_bytes + 1235),
292
- grpc_core::StaticMetadataSlice(&refcounts[100].base, 16, g_bytes + 1243),
293
- grpc_core::StaticMetadataSlice(&refcounts[101].base, 4, g_bytes + 1259),
294
- grpc_core::StaticMetadataSlice(&refcounts[102].base, 3, g_bytes + 1263),
295
- grpc_core::StaticMetadataSlice(&refcounts[103].base, 11, g_bytes + 1266),
296
- grpc_core::StaticMetadataSlice(&refcounts[104].base, 16, g_bytes + 1277),
297
- grpc_core::StaticMetadataSlice(&refcounts[105].base, 13, g_bytes + 1293),
298
- grpc_core::StaticMetadataSlice(&refcounts[106].base, 12, g_bytes + 1306),
299
- grpc_core::StaticMetadataSlice(&refcounts[107].base, 21, g_bytes + 1318),
238
+ grpc_core::StaticMetadataSlice(&refcounts[36].base, 65, g_bytes + 566),
239
+ grpc_core::StaticMetadataSlice(&refcounts[37].base, 28, g_bytes + 631),
240
+ grpc_core::StaticMetadataSlice(&refcounts[38].base, 80, g_bytes + 659),
241
+ grpc_core::StaticMetadataSlice(&refcounts[39].base, 80, g_bytes + 739),
242
+ grpc_core::StaticMetadataSlice(&refcounts[40].base, 7, g_bytes + 819),
243
+ grpc_core::StaticMetadataSlice(&refcounts[41].base, 4, g_bytes + 826),
244
+ grpc_core::StaticMetadataSlice(&refcounts[42].base, 11, g_bytes + 830),
245
+ grpc_core::StaticMetadataSlice(&refcounts[43].base, 3, g_bytes + 841),
246
+ grpc_core::StaticMetadataSlice(&refcounts[44].base, 4, g_bytes + 844),
247
+ grpc_core::StaticMetadataSlice(&refcounts[45].base, 1, g_bytes + 848),
248
+ grpc_core::StaticMetadataSlice(&refcounts[46].base, 11, g_bytes + 849),
249
+ grpc_core::StaticMetadataSlice(&refcounts[47].base, 4, g_bytes + 860),
250
+ grpc_core::StaticMetadataSlice(&refcounts[48].base, 5, g_bytes + 864),
251
+ grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 869),
252
+ grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 872),
253
+ grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 875),
254
+ grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 878),
255
+ grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 881),
256
+ grpc_core::StaticMetadataSlice(&refcounts[54].base, 3, g_bytes + 884),
257
+ grpc_core::StaticMetadataSlice(&refcounts[55].base, 3, g_bytes + 887),
258
+ grpc_core::StaticMetadataSlice(&refcounts[56].base, 14, g_bytes + 890),
259
+ grpc_core::StaticMetadataSlice(&refcounts[57].base, 13, g_bytes + 904),
260
+ grpc_core::StaticMetadataSlice(&refcounts[58].base, 15, g_bytes + 917),
261
+ grpc_core::StaticMetadataSlice(&refcounts[59].base, 13, g_bytes + 932),
262
+ grpc_core::StaticMetadataSlice(&refcounts[60].base, 6, g_bytes + 945),
263
+ grpc_core::StaticMetadataSlice(&refcounts[61].base, 27, g_bytes + 951),
264
+ grpc_core::StaticMetadataSlice(&refcounts[62].base, 3, g_bytes + 978),
265
+ grpc_core::StaticMetadataSlice(&refcounts[63].base, 5, g_bytes + 981),
266
+ grpc_core::StaticMetadataSlice(&refcounts[64].base, 13, g_bytes + 986),
267
+ grpc_core::StaticMetadataSlice(&refcounts[65].base, 13, g_bytes + 999),
268
+ grpc_core::StaticMetadataSlice(&refcounts[66].base, 19, g_bytes + 1012),
269
+ grpc_core::StaticMetadataSlice(&refcounts[67].base, 16, g_bytes + 1031),
270
+ grpc_core::StaticMetadataSlice(&refcounts[68].base, 14, g_bytes + 1047),
271
+ grpc_core::StaticMetadataSlice(&refcounts[69].base, 16, g_bytes + 1061),
272
+ grpc_core::StaticMetadataSlice(&refcounts[70].base, 13, g_bytes + 1077),
273
+ grpc_core::StaticMetadataSlice(&refcounts[71].base, 6, g_bytes + 1090),
274
+ grpc_core::StaticMetadataSlice(&refcounts[72].base, 4, g_bytes + 1096),
275
+ grpc_core::StaticMetadataSlice(&refcounts[73].base, 4, g_bytes + 1100),
276
+ grpc_core::StaticMetadataSlice(&refcounts[74].base, 6, g_bytes + 1104),
277
+ grpc_core::StaticMetadataSlice(&refcounts[75].base, 7, g_bytes + 1110),
278
+ grpc_core::StaticMetadataSlice(&refcounts[76].base, 4, g_bytes + 1117),
279
+ grpc_core::StaticMetadataSlice(&refcounts[77].base, 8, g_bytes + 1121),
280
+ grpc_core::StaticMetadataSlice(&refcounts[78].base, 17, g_bytes + 1129),
281
+ grpc_core::StaticMetadataSlice(&refcounts[79].base, 13, g_bytes + 1146),
282
+ grpc_core::StaticMetadataSlice(&refcounts[80].base, 8, g_bytes + 1159),
283
+ grpc_core::StaticMetadataSlice(&refcounts[81].base, 19, g_bytes + 1167),
284
+ grpc_core::StaticMetadataSlice(&refcounts[82].base, 13, g_bytes + 1186),
285
+ grpc_core::StaticMetadataSlice(&refcounts[83].base, 4, g_bytes + 1199),
286
+ grpc_core::StaticMetadataSlice(&refcounts[84].base, 8, g_bytes + 1203),
287
+ grpc_core::StaticMetadataSlice(&refcounts[85].base, 12, g_bytes + 1211),
288
+ grpc_core::StaticMetadataSlice(&refcounts[86].base, 18, g_bytes + 1223),
289
+ grpc_core::StaticMetadataSlice(&refcounts[87].base, 19, g_bytes + 1241),
290
+ grpc_core::StaticMetadataSlice(&refcounts[88].base, 5, g_bytes + 1260),
291
+ grpc_core::StaticMetadataSlice(&refcounts[89].base, 7, g_bytes + 1265),
292
+ grpc_core::StaticMetadataSlice(&refcounts[90].base, 7, g_bytes + 1272),
293
+ grpc_core::StaticMetadataSlice(&refcounts[91].base, 11, g_bytes + 1279),
294
+ grpc_core::StaticMetadataSlice(&refcounts[92].base, 6, g_bytes + 1290),
295
+ grpc_core::StaticMetadataSlice(&refcounts[93].base, 10, g_bytes + 1296),
296
+ grpc_core::StaticMetadataSlice(&refcounts[94].base, 25, g_bytes + 1306),
297
+ grpc_core::StaticMetadataSlice(&refcounts[95].base, 17, g_bytes + 1331),
298
+ grpc_core::StaticMetadataSlice(&refcounts[96].base, 4, g_bytes + 1348),
299
+ grpc_core::StaticMetadataSlice(&refcounts[97].base, 3, g_bytes + 1352),
300
+ grpc_core::StaticMetadataSlice(&refcounts[98].base, 16, g_bytes + 1355),
301
+ grpc_core::StaticMetadataSlice(&refcounts[99].base, 1, g_bytes + 1371),
302
+ grpc_core::StaticMetadataSlice(&refcounts[100].base, 8, g_bytes + 1372),
303
+ grpc_core::StaticMetadataSlice(&refcounts[101].base, 8, g_bytes + 1380),
304
+ grpc_core::StaticMetadataSlice(&refcounts[102].base, 16, g_bytes + 1388),
305
+ grpc_core::StaticMetadataSlice(&refcounts[103].base, 4, g_bytes + 1404),
306
+ grpc_core::StaticMetadataSlice(&refcounts[104].base, 3, g_bytes + 1408),
307
+ grpc_core::StaticMetadataSlice(&refcounts[105].base, 11, g_bytes + 1411),
308
+ grpc_core::StaticMetadataSlice(&refcounts[106].base, 16, g_bytes + 1422),
309
+ grpc_core::StaticMetadataSlice(&refcounts[107].base, 13, g_bytes + 1438),
310
+ grpc_core::StaticMetadataSlice(&refcounts[108].base, 12, g_bytes + 1451),
311
+ grpc_core::StaticMetadataSlice(&refcounts[109].base, 21, g_bytes + 1463),
300
312
  };
301
313
  StaticMetadata static_mdelem_table[GRPC_STATIC_MDELEM_COUNT] = {
302
314
  StaticMetadata(
@@ -305,107 +317,107 @@ struct StaticMetadataCtx {
305
317
  0),
306
318
  StaticMetadata(
307
319
  grpc_core::StaticMetadataSlice(&refcounts[1].base, 7, g_bytes + 5),
308
- grpc_core::StaticMetadataSlice(&refcounts[41].base, 3, g_bytes + 696),
320
+ grpc_core::StaticMetadataSlice(&refcounts[43].base, 3, g_bytes + 841),
309
321
  1),
310
322
  StaticMetadata(
311
323
  grpc_core::StaticMetadataSlice(&refcounts[1].base, 7, g_bytes + 5),
312
- grpc_core::StaticMetadataSlice(&refcounts[42].base, 4, g_bytes + 699),
324
+ grpc_core::StaticMetadataSlice(&refcounts[44].base, 4, g_bytes + 844),
313
325
  2),
314
326
  StaticMetadata(
315
327
  grpc_core::StaticMetadataSlice(&refcounts[0].base, 5, g_bytes + 0),
316
- grpc_core::StaticMetadataSlice(&refcounts[43].base, 1, g_bytes + 703),
328
+ grpc_core::StaticMetadataSlice(&refcounts[45].base, 1, g_bytes + 848),
317
329
  3),
318
330
  StaticMetadata(
319
331
  grpc_core::StaticMetadataSlice(&refcounts[0].base, 5, g_bytes + 0),
320
- grpc_core::StaticMetadataSlice(&refcounts[44].base, 11,
321
- g_bytes + 704),
332
+ grpc_core::StaticMetadataSlice(&refcounts[46].base, 11,
333
+ g_bytes + 849),
322
334
  4),
323
335
  StaticMetadata(
324
336
  grpc_core::StaticMetadataSlice(&refcounts[4].base, 7, g_bytes + 29),
325
- grpc_core::StaticMetadataSlice(&refcounts[45].base, 4, g_bytes + 715),
337
+ grpc_core::StaticMetadataSlice(&refcounts[47].base, 4, g_bytes + 860),
326
338
  5),
327
339
  StaticMetadata(
328
340
  grpc_core::StaticMetadataSlice(&refcounts[4].base, 7, g_bytes + 29),
329
- grpc_core::StaticMetadataSlice(&refcounts[46].base, 5, g_bytes + 719),
341
+ grpc_core::StaticMetadataSlice(&refcounts[48].base, 5, g_bytes + 864),
330
342
  6),
331
343
  StaticMetadata(
332
344
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
333
- grpc_core::StaticMetadataSlice(&refcounts[47].base, 3, g_bytes + 724),
345
+ grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 869),
334
346
  7),
335
347
  StaticMetadata(
336
348
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
337
- grpc_core::StaticMetadataSlice(&refcounts[48].base, 3, g_bytes + 727),
349
+ grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 872),
338
350
  8),
339
351
  StaticMetadata(
340
352
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
341
- grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 730),
353
+ grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 875),
342
354
  9),
343
355
  StaticMetadata(
344
356
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
345
- grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 733),
357
+ grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 878),
346
358
  10),
347
359
  StaticMetadata(
348
360
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
349
- grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 736),
361
+ grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 881),
350
362
  11),
351
363
  StaticMetadata(
352
364
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
353
- grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 739),
365
+ grpc_core::StaticMetadataSlice(&refcounts[54].base, 3, g_bytes + 884),
354
366
  12),
355
367
  StaticMetadata(
356
368
  grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
357
- grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 742),
369
+ grpc_core::StaticMetadataSlice(&refcounts[55].base, 3, g_bytes + 887),
358
370
  13),
359
371
  StaticMetadata(
360
- grpc_core::StaticMetadataSlice(&refcounts[54].base, 14,
361
- g_bytes + 745),
372
+ grpc_core::StaticMetadataSlice(&refcounts[56].base, 14,
373
+ g_bytes + 890),
362
374
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
363
375
  14),
364
376
  StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
365
377
  g_bytes + 186),
366
- grpc_core::StaticMetadataSlice(&refcounts[55].base, 13,
367
- g_bytes + 759),
378
+ grpc_core::StaticMetadataSlice(&refcounts[57].base, 13,
379
+ g_bytes + 904),
368
380
  15),
369
381
  StaticMetadata(
370
- grpc_core::StaticMetadataSlice(&refcounts[56].base, 15,
371
- g_bytes + 772),
382
+ grpc_core::StaticMetadataSlice(&refcounts[58].base, 15,
383
+ g_bytes + 917),
372
384
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
373
385
  16),
374
386
  StaticMetadata(
375
- grpc_core::StaticMetadataSlice(&refcounts[57].base, 13,
376
- g_bytes + 787),
387
+ grpc_core::StaticMetadataSlice(&refcounts[59].base, 13,
388
+ g_bytes + 932),
377
389
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
378
390
  17),
379
391
  StaticMetadata(
380
- grpc_core::StaticMetadataSlice(&refcounts[58].base, 6, g_bytes + 800),
392
+ grpc_core::StaticMetadataSlice(&refcounts[60].base, 6, g_bytes + 945),
381
393
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
382
394
  18),
383
395
  StaticMetadata(
384
- grpc_core::StaticMetadataSlice(&refcounts[59].base, 27,
385
- g_bytes + 806),
396
+ grpc_core::StaticMetadataSlice(&refcounts[61].base, 27,
397
+ g_bytes + 951),
386
398
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
387
399
  19),
388
400
  StaticMetadata(
389
- grpc_core::StaticMetadataSlice(&refcounts[60].base, 3, g_bytes + 833),
401
+ grpc_core::StaticMetadataSlice(&refcounts[62].base, 3, g_bytes + 978),
390
402
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
391
403
  20),
392
404
  StaticMetadata(
393
- grpc_core::StaticMetadataSlice(&refcounts[61].base, 5, g_bytes + 836),
405
+ grpc_core::StaticMetadataSlice(&refcounts[63].base, 5, g_bytes + 981),
394
406
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
395
407
  21),
396
408
  StaticMetadata(
397
- grpc_core::StaticMetadataSlice(&refcounts[62].base, 13,
398
- g_bytes + 841),
409
+ grpc_core::StaticMetadataSlice(&refcounts[64].base, 13,
410
+ g_bytes + 986),
399
411
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
400
412
  22),
401
413
  StaticMetadata(
402
- grpc_core::StaticMetadataSlice(&refcounts[63].base, 13,
403
- g_bytes + 854),
414
+ grpc_core::StaticMetadataSlice(&refcounts[65].base, 13,
415
+ g_bytes + 999),
404
416
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
405
417
  23),
406
418
  StaticMetadata(
407
- grpc_core::StaticMetadataSlice(&refcounts[64].base, 19,
408
- g_bytes + 867),
419
+ grpc_core::StaticMetadataSlice(&refcounts[66].base, 19,
420
+ g_bytes + 1012),
409
421
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
410
422
  24),
411
423
  StaticMetadata(
@@ -414,23 +426,23 @@ struct StaticMetadataCtx {
414
426
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
415
427
  25),
416
428
  StaticMetadata(
417
- grpc_core::StaticMetadataSlice(&refcounts[65].base, 16,
418
- g_bytes + 886),
429
+ grpc_core::StaticMetadataSlice(&refcounts[67].base, 16,
430
+ g_bytes + 1031),
419
431
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
420
432
  26),
421
433
  StaticMetadata(
422
- grpc_core::StaticMetadataSlice(&refcounts[66].base, 14,
423
- g_bytes + 902),
434
+ grpc_core::StaticMetadataSlice(&refcounts[68].base, 14,
435
+ g_bytes + 1047),
424
436
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
425
437
  27),
426
438
  StaticMetadata(
427
- grpc_core::StaticMetadataSlice(&refcounts[67].base, 16,
428
- g_bytes + 916),
439
+ grpc_core::StaticMetadataSlice(&refcounts[69].base, 16,
440
+ g_bytes + 1061),
429
441
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
430
442
  28),
431
443
  StaticMetadata(
432
- grpc_core::StaticMetadataSlice(&refcounts[68].base, 13,
433
- g_bytes + 932),
444
+ grpc_core::StaticMetadataSlice(&refcounts[70].base, 13,
445
+ g_bytes + 1077),
434
446
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
435
447
  29),
436
448
  StaticMetadata(
@@ -439,27 +451,33 @@ struct StaticMetadataCtx {
439
451
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
440
452
  30),
441
453
  StaticMetadata(
442
- grpc_core::StaticMetadataSlice(&refcounts[69].base, 6, g_bytes + 945),
454
+ grpc_core::StaticMetadataSlice(&refcounts[71].base, 6,
455
+ g_bytes + 1090),
443
456
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
444
457
  31),
445
458
  StaticMetadata(
446
- grpc_core::StaticMetadataSlice(&refcounts[70].base, 4, g_bytes + 951),
459
+ grpc_core::StaticMetadataSlice(&refcounts[72].base, 4,
460
+ g_bytes + 1096),
447
461
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
448
462
  32),
449
463
  StaticMetadata(
450
- grpc_core::StaticMetadataSlice(&refcounts[71].base, 4, g_bytes + 955),
464
+ grpc_core::StaticMetadataSlice(&refcounts[73].base, 4,
465
+ g_bytes + 1100),
451
466
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
452
467
  33),
453
468
  StaticMetadata(
454
- grpc_core::StaticMetadataSlice(&refcounts[72].base, 6, g_bytes + 959),
469
+ grpc_core::StaticMetadataSlice(&refcounts[74].base, 6,
470
+ g_bytes + 1104),
455
471
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
456
472
  34),
457
473
  StaticMetadata(
458
- grpc_core::StaticMetadataSlice(&refcounts[73].base, 7, g_bytes + 965),
474
+ grpc_core::StaticMetadataSlice(&refcounts[75].base, 7,
475
+ g_bytes + 1110),
459
476
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
460
477
  35),
461
478
  StaticMetadata(
462
- grpc_core::StaticMetadataSlice(&refcounts[74].base, 4, g_bytes + 972),
479
+ grpc_core::StaticMetadataSlice(&refcounts[76].base, 4,
480
+ g_bytes + 1117),
463
481
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
464
482
  36),
465
483
  StaticMetadata(
@@ -467,97 +485,98 @@ struct StaticMetadataCtx {
467
485
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
468
486
  37),
469
487
  StaticMetadata(
470
- grpc_core::StaticMetadataSlice(&refcounts[75].base, 8, g_bytes + 976),
488
+ grpc_core::StaticMetadataSlice(&refcounts[77].base, 8,
489
+ g_bytes + 1121),
471
490
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
472
491
  38),
473
492
  StaticMetadata(
474
- grpc_core::StaticMetadataSlice(&refcounts[76].base, 17,
475
- g_bytes + 984),
493
+ grpc_core::StaticMetadataSlice(&refcounts[78].base, 17,
494
+ g_bytes + 1129),
476
495
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
477
496
  39),
478
497
  StaticMetadata(
479
- grpc_core::StaticMetadataSlice(&refcounts[77].base, 13,
480
- g_bytes + 1001),
498
+ grpc_core::StaticMetadataSlice(&refcounts[79].base, 13,
499
+ g_bytes + 1146),
481
500
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
482
501
  40),
483
502
  StaticMetadata(
484
- grpc_core::StaticMetadataSlice(&refcounts[78].base, 8,
485
- g_bytes + 1014),
503
+ grpc_core::StaticMetadataSlice(&refcounts[80].base, 8,
504
+ g_bytes + 1159),
486
505
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
487
506
  41),
488
507
  StaticMetadata(
489
- grpc_core::StaticMetadataSlice(&refcounts[79].base, 19,
490
- g_bytes + 1022),
508
+ grpc_core::StaticMetadataSlice(&refcounts[81].base, 19,
509
+ g_bytes + 1167),
491
510
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
492
511
  42),
493
512
  StaticMetadata(
494
- grpc_core::StaticMetadataSlice(&refcounts[80].base, 13,
495
- g_bytes + 1041),
513
+ grpc_core::StaticMetadataSlice(&refcounts[82].base, 13,
514
+ g_bytes + 1186),
496
515
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
497
516
  43),
498
517
  StaticMetadata(
499
- grpc_core::StaticMetadataSlice(&refcounts[81].base, 4,
500
- g_bytes + 1054),
518
+ grpc_core::StaticMetadataSlice(&refcounts[83].base, 4,
519
+ g_bytes + 1199),
501
520
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
502
521
  44),
503
522
  StaticMetadata(
504
- grpc_core::StaticMetadataSlice(&refcounts[82].base, 8,
505
- g_bytes + 1058),
523
+ grpc_core::StaticMetadataSlice(&refcounts[84].base, 8,
524
+ g_bytes + 1203),
506
525
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
507
526
  45),
508
527
  StaticMetadata(
509
- grpc_core::StaticMetadataSlice(&refcounts[83].base, 12,
510
- g_bytes + 1066),
528
+ grpc_core::StaticMetadataSlice(&refcounts[85].base, 12,
529
+ g_bytes + 1211),
511
530
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
512
531
  46),
513
532
  StaticMetadata(
514
- grpc_core::StaticMetadataSlice(&refcounts[84].base, 18,
515
- g_bytes + 1078),
533
+ grpc_core::StaticMetadataSlice(&refcounts[86].base, 18,
534
+ g_bytes + 1223),
516
535
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
517
536
  47),
518
537
  StaticMetadata(
519
- grpc_core::StaticMetadataSlice(&refcounts[85].base, 19,
520
- g_bytes + 1096),
538
+ grpc_core::StaticMetadataSlice(&refcounts[87].base, 19,
539
+ g_bytes + 1241),
521
540
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
522
541
  48),
523
542
  StaticMetadata(
524
- grpc_core::StaticMetadataSlice(&refcounts[86].base, 5,
525
- g_bytes + 1115),
543
+ grpc_core::StaticMetadataSlice(&refcounts[88].base, 5,
544
+ g_bytes + 1260),
526
545
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
527
546
  49),
528
547
  StaticMetadata(
529
- grpc_core::StaticMetadataSlice(&refcounts[87].base, 7,
530
- g_bytes + 1120),
548
+ grpc_core::StaticMetadataSlice(&refcounts[89].base, 7,
549
+ g_bytes + 1265),
531
550
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
532
551
  50),
533
552
  StaticMetadata(
534
- grpc_core::StaticMetadataSlice(&refcounts[88].base, 7,
535
- g_bytes + 1127),
553
+ grpc_core::StaticMetadataSlice(&refcounts[90].base, 7,
554
+ g_bytes + 1272),
536
555
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
537
556
  51),
538
557
  StaticMetadata(
539
- grpc_core::StaticMetadataSlice(&refcounts[89].base, 11,
540
- g_bytes + 1134),
558
+ grpc_core::StaticMetadataSlice(&refcounts[91].base, 11,
559
+ g_bytes + 1279),
541
560
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
542
561
  52),
543
562
  StaticMetadata(
544
- grpc_core::StaticMetadataSlice(&refcounts[90].base, 6,
545
- g_bytes + 1145),
563
+ grpc_core::StaticMetadataSlice(&refcounts[92].base, 6,
564
+ g_bytes + 1290),
546
565
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
547
566
  53),
548
567
  StaticMetadata(
549
- grpc_core::StaticMetadataSlice(&refcounts[91].base, 10,
550
- g_bytes + 1151),
568
+ grpc_core::StaticMetadataSlice(&refcounts[93].base, 10,
569
+ g_bytes + 1296),
551
570
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
552
571
  54),
553
572
  StaticMetadata(
554
- grpc_core::StaticMetadataSlice(&refcounts[92].base, 25,
555
- g_bytes + 1161),
573
+ grpc_core::StaticMetadataSlice(&refcounts[94].base, 25,
574
+ g_bytes + 1306),
556
575
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
557
576
  55),
558
577
  StaticMetadata(
559
- grpc_core::StaticMetadataSlice(&refcounts[93].base, 17,
560
- g_bytes + 1186),
578
+ grpc_core::StaticMetadataSlice(&refcounts[95].base, 17,
579
+ g_bytes + 1331),
561
580
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
562
581
  56),
563
582
  StaticMetadata(
@@ -566,24 +585,24 @@ struct StaticMetadataCtx {
566
585
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
567
586
  57),
568
587
  StaticMetadata(
569
- grpc_core::StaticMetadataSlice(&refcounts[94].base, 4,
570
- g_bytes + 1203),
588
+ grpc_core::StaticMetadataSlice(&refcounts[96].base, 4,
589
+ g_bytes + 1348),
571
590
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
572
591
  58),
573
592
  StaticMetadata(
574
- grpc_core::StaticMetadataSlice(&refcounts[95].base, 3,
575
- g_bytes + 1207),
593
+ grpc_core::StaticMetadataSlice(&refcounts[97].base, 3,
594
+ g_bytes + 1352),
576
595
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
577
596
  59),
578
597
  StaticMetadata(
579
- grpc_core::StaticMetadataSlice(&refcounts[96].base, 16,
580
- g_bytes + 1210),
598
+ grpc_core::StaticMetadataSlice(&refcounts[98].base, 16,
599
+ g_bytes + 1355),
581
600
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
582
601
  60),
583
602
  StaticMetadata(
584
603
  grpc_core::StaticMetadataSlice(&refcounts[7].base, 11, g_bytes + 50),
585
- grpc_core::StaticMetadataSlice(&refcounts[97].base, 1,
586
- g_bytes + 1226),
604
+ grpc_core::StaticMetadataSlice(&refcounts[99].base, 1,
605
+ g_bytes + 1371),
587
606
  61),
588
607
  StaticMetadata(
589
608
  grpc_core::StaticMetadataSlice(&refcounts[7].base, 11, g_bytes + 50),
@@ -595,36 +614,36 @@ struct StaticMetadataCtx {
595
614
  63),
596
615
  StaticMetadata(
597
616
  grpc_core::StaticMetadataSlice(&refcounts[9].base, 13, g_bytes + 77),
598
- grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
599
- g_bytes + 1227),
617
+ grpc_core::StaticMetadataSlice(&refcounts[100].base, 8,
618
+ g_bytes + 1372),
600
619
  64),
601
620
  StaticMetadata(
602
621
  grpc_core::StaticMetadataSlice(&refcounts[9].base, 13, g_bytes + 77),
603
- grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
622
+ grpc_core::StaticMetadataSlice(&refcounts[41].base, 4, g_bytes + 826),
604
623
  65),
605
624
  StaticMetadata(
606
625
  grpc_core::StaticMetadataSlice(&refcounts[9].base, 13, g_bytes + 77),
607
- grpc_core::StaticMetadataSlice(&refcounts[38].base, 7, g_bytes + 674),
626
+ grpc_core::StaticMetadataSlice(&refcounts[40].base, 7, g_bytes + 819),
608
627
  66),
609
628
  StaticMetadata(
610
629
  grpc_core::StaticMetadataSlice(&refcounts[5].base, 2, g_bytes + 36),
611
- grpc_core::StaticMetadataSlice(&refcounts[99].base, 8,
612
- g_bytes + 1235),
630
+ grpc_core::StaticMetadataSlice(&refcounts[101].base, 8,
631
+ g_bytes + 1380),
613
632
  67),
614
633
  StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[14].base, 12,
615
634
  g_bytes + 158),
616
- grpc_core::StaticMetadataSlice(&refcounts[100].base, 16,
617
- g_bytes + 1243),
635
+ grpc_core::StaticMetadataSlice(&refcounts[102].base, 16,
636
+ g_bytes + 1388),
618
637
  68),
619
638
  StaticMetadata(
620
639
  grpc_core::StaticMetadataSlice(&refcounts[4].base, 7, g_bytes + 29),
621
- grpc_core::StaticMetadataSlice(&refcounts[101].base, 4,
622
- g_bytes + 1259),
640
+ grpc_core::StaticMetadataSlice(&refcounts[103].base, 4,
641
+ g_bytes + 1404),
623
642
  69),
624
643
  StaticMetadata(
625
644
  grpc_core::StaticMetadataSlice(&refcounts[1].base, 7, g_bytes + 5),
626
- grpc_core::StaticMetadataSlice(&refcounts[102].base, 3,
627
- g_bytes + 1263),
645
+ grpc_core::StaticMetadataSlice(&refcounts[104].base, 3,
646
+ g_bytes + 1408),
628
647
  70),
629
648
  StaticMetadata(
630
649
  grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
@@ -633,66 +652,66 @@ struct StaticMetadataCtx {
633
652
  71),
634
653
  StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[15].base, 16,
635
654
  g_bytes + 170),
636
- grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
637
- g_bytes + 1227),
655
+ grpc_core::StaticMetadataSlice(&refcounts[100].base, 8,
656
+ g_bytes + 1372),
638
657
  72),
639
658
  StaticMetadata(
640
659
  grpc_core::StaticMetadataSlice(&refcounts[15].base, 16,
641
660
  g_bytes + 170),
642
- grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
661
+ grpc_core::StaticMetadataSlice(&refcounts[41].base, 4, g_bytes + 826),
643
662
  73),
644
663
  StaticMetadata(
645
- grpc_core::StaticMetadataSlice(&refcounts[103].base, 11,
646
- g_bytes + 1266),
664
+ grpc_core::StaticMetadataSlice(&refcounts[105].base, 11,
665
+ g_bytes + 1411),
647
666
  grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
648
667
  74),
649
668
  StaticMetadata(
650
669
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
651
- grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
652
- g_bytes + 1227),
670
+ grpc_core::StaticMetadataSlice(&refcounts[100].base, 8,
671
+ g_bytes + 1372),
653
672
  75),
654
673
  StaticMetadata(
655
674
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
656
- grpc_core::StaticMetadataSlice(&refcounts[38].base, 7, g_bytes + 674),
675
+ grpc_core::StaticMetadataSlice(&refcounts[40].base, 7, g_bytes + 819),
657
676
  76),
658
677
  StaticMetadata(
659
678
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
660
- grpc_core::StaticMetadataSlice(&refcounts[104].base, 16,
661
- g_bytes + 1277),
679
+ grpc_core::StaticMetadataSlice(&refcounts[106].base, 16,
680
+ g_bytes + 1422),
662
681
  77),
663
682
  StaticMetadata(
664
683
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
665
- grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
684
+ grpc_core::StaticMetadataSlice(&refcounts[41].base, 4, g_bytes + 826),
666
685
  78),
667
686
  StaticMetadata(
668
687
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
669
- grpc_core::StaticMetadataSlice(&refcounts[105].base, 13,
670
- g_bytes + 1293),
688
+ grpc_core::StaticMetadataSlice(&refcounts[107].base, 13,
689
+ g_bytes + 1438),
671
690
  79),
672
691
  StaticMetadata(
673
692
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
674
- grpc_core::StaticMetadataSlice(&refcounts[106].base, 12,
675
- g_bytes + 1306),
693
+ grpc_core::StaticMetadataSlice(&refcounts[108].base, 12,
694
+ g_bytes + 1451),
676
695
  80),
677
696
  StaticMetadata(
678
697
  grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
679
- grpc_core::StaticMetadataSlice(&refcounts[107].base, 21,
680
- g_bytes + 1318),
698
+ grpc_core::StaticMetadataSlice(&refcounts[109].base, 21,
699
+ g_bytes + 1463),
681
700
  81),
682
701
  StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
683
702
  g_bytes + 186),
684
- grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
685
- g_bytes + 1227),
703
+ grpc_core::StaticMetadataSlice(&refcounts[100].base, 8,
704
+ g_bytes + 1372),
686
705
  82),
687
706
  StaticMetadata(
688
707
  grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
689
708
  g_bytes + 186),
690
- grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
709
+ grpc_core::StaticMetadataSlice(&refcounts[41].base, 4, g_bytes + 826),
691
710
  83),
692
711
  StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
693
712
  g_bytes + 186),
694
- grpc_core::StaticMetadataSlice(&refcounts[105].base, 13,
695
- g_bytes + 1293),
713
+ grpc_core::StaticMetadataSlice(&refcounts[107].base, 13,
714
+ g_bytes + 1438),
696
715
  84),
697
716
  };
698
717
 
@@ -1176,17 +1195,16 @@ uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {
1176
1195
  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 4, 6, 6, 8, 8, 2, 4, 4};
1177
1196
 
1178
1197
  static const int8_t elems_r[] = {
1179
- 15, 10, -8, 0, 2, -43, -82, -43, 0, 4, -8, 0, 0, 0, 8, -2,
1180
- -9, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1182
- 0, 0, 0, 0, 0, 0, -66, 0, -69, -70, -51, -73, 0, 32, 31, 30,
1183
- 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 16,
1184
- 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 3, 2,
1185
- 2, 7, 0, 0, 0, 0, 0, 0, -6, 0};
1198
+ 15, 10, -8, 0, 2, -43, -83, -44, 0, 4, -8, 0, 0, 0, 10, 0, -7, 0,
1199
+ 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1200
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201
+ 0, 0, -68, 0, -53, -56, -53, -77, 0, 30, 29, 28, 27, 26, 25, 24, 35, 22,
1202
+ 21, 20, 19, 18, 17, 16, 15, 16, 16, 16, 15, 14, 13, 12, 11, 10, 9, 8,
1203
+ 7, 6, 5, 4, 3, 2, 3, 2, 2, 6, 0, 0, 0, 0, 0, 0, -7, 0};
1186
1204
  static uint32_t elems_phash(uint32_t i) {
1187
- i -= 43;
1188
- uint32_t x = i % 106;
1189
- uint32_t y = i / 106;
1205
+ i -= 45;
1206
+ uint32_t x = i % 108;
1207
+ uint32_t y = i / 108;
1190
1208
  uint32_t h = x;
1191
1209
  if (y < GPR_ARRAY_SIZE(elems_r)) {
1192
1210
  uint32_t delta = (uint32_t)elems_r[y];
@@ -1196,25 +1214,26 @@ static uint32_t elems_phash(uint32_t i) {
1196
1214
  }
1197
1215
 
1198
1216
  static const uint16_t elem_keys[] = {
1199
- 263, 264, 265, 266, 267, 268, 269, 1118, 1119, 1757, 149, 150,
1200
- 477, 478, 1649, 43, 44, 1010, 1011, 1767, 781, 782, 1541, 639,
1201
- 1659, 853, 2081, 2189, 5861, 6077, 6185, 6401, 6509, 6617, 6725, 1783,
1202
- 6833, 6941, 7049, 7157, 7265, 7373, 7481, 7589, 7697, 7805, 7913, 8021,
1203
- 8129, 8237, 8345, 6293, 8453, 8561, 8669, 8777, 8885, 8993, 9101, 9209,
1204
- 9317, 9425, 9533, 9641, 9749, 9857, 9965, 1178, 533, 10073, 10181, 210,
1205
- 10289, 1184, 1185, 1186, 1187, 1070, 1826, 10397, 11153, 0, 0, 1718,
1206
- 0, 1833, 0, 0, 0, 0, 353, 0, 0, 1612};
1217
+ 269, 270, 271, 272, 273, 274, 275, 1140, 1141, 1789, 153,
1218
+ 154, 487, 488, 1679, 45, 46, 1030, 1031, 795, 796, 1801,
1219
+ 1569, 651, 869, 2119, 1691, 2229, 6189, 6739, 6849, 6959, 7069,
1220
+ 7179, 7289, 7399, 7509, 1817, 7729, 7839, 7949, 8059, 8169, 8279,
1221
+ 8389, 8499, 6519, 6409, 8609, 7619, 8719, 6629, 8829, 8939, 9049,
1222
+ 9159, 9269, 9379, 9489, 9599, 9709, 9819, 9929, 10039, 10149, 10259,
1223
+ 10369, 1200, 543, 10479, 10589, 214, 10699, 1206, 1207, 1208, 1209,
1224
+ 1090, 10809, 11579, 1860, 0, 0, 0, 0, 1750, 0, 1867,
1225
+ 0, 0, 359, 0, 0, 0, 0, 1642};
1207
1226
  static const uint8_t elem_idxs[] = {
1208
- 7, 8, 9, 10, 11, 12, 13, 76, 78, 71, 1, 2, 5, 6, 25, 3,
1209
- 4, 66, 65, 83, 62, 63, 30, 67, 73, 61, 57, 37, 14, 16, 17, 19,
1210
- 20, 21, 22, 15, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36,
1211
- 38, 39, 40, 18, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1212
- 53, 54, 55, 75, 69, 56, 58, 70, 59, 77, 79, 80, 81, 64, 82, 60,
1213
- 74, 255, 255, 72, 255, 84, 255, 255, 255, 255, 0, 255, 255, 68};
1227
+ 7, 8, 9, 10, 11, 12, 13, 76, 78, 71, 1, 2, 5, 6, 25, 3,
1228
+ 4, 66, 65, 62, 63, 83, 30, 67, 61, 57, 73, 37, 14, 19, 20, 21,
1229
+ 22, 23, 24, 26, 27, 15, 29, 31, 32, 33, 34, 35, 36, 38, 17, 16,
1230
+ 39, 28, 40, 18, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1231
+ 53, 54, 55, 75, 69, 56, 58, 70, 59, 77, 79, 80, 81, 64, 60, 74,
1232
+ 82, 255, 255, 255, 255, 72, 255, 84, 255, 255, 0, 255, 255, 255, 255, 68};
1214
1233
 
1215
1234
  grpc_mdelem grpc_static_mdelem_for_static_strings(intptr_t a, intptr_t b) {
1216
1235
  if (a == -1 || b == -1) return GRPC_MDNULL;
1217
- uint32_t k = static_cast<uint32_t>(a * 108 + b);
1236
+ uint32_t k = static_cast<uint32_t>(a * 110 + b);
1218
1237
  uint32_t h = elems_phash(k);
1219
1238
  return h < GPR_ARRAY_SIZE(elem_keys) && elem_keys[h] == k &&
1220
1239
  elem_idxs[h] != 255