grpc 1.31.0.pre1 → 1.33.0.pre1

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 (614) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +693 -16022
  3. data/include/grpc/grpc.h +0 -5
  4. data/include/grpc/grpc_security.h +47 -14
  5. data/include/grpc/impl/codegen/README.md +22 -0
  6. data/include/grpc/impl/codegen/grpc_types.h +0 -5
  7. data/include/grpc/impl/codegen/port_platform.h +6 -1
  8. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -2
  9. data/src/core/ext/filters/client_channel/client_channel.cc +264 -186
  10. data/src/core/ext/filters/client_channel/client_channel.h +1 -1
  11. data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -3
  12. data/src/core/ext/filters/client_channel/config_selector.cc +0 -4
  13. data/src/core/ext/filters/client_channel/config_selector.h +34 -5
  14. data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -1
  15. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +2 -3
  16. data/src/core/ext/filters/client_channel/lb_policy.h +3 -1
  17. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +48 -35
  18. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +7 -5
  19. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +9 -6
  20. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +126 -119
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -13
  22. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -3
  23. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -37
  24. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +21 -15
  25. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +32 -13
  26. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +8 -7
  27. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -32
  28. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +26 -16
  29. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +207 -129
  30. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +453 -255
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/eds_drop.cc +571 -0
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +727 -0
  33. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +8 -1
  34. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -1
  35. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +3 -3
  36. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  37. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  38. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -1
  39. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  40. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +602 -58
  41. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +28 -0
  42. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +8 -39
  43. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +4 -3
  44. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +49 -47
  45. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +5 -9
  46. data/src/core/ext/filters/client_channel/server_address.cc +120 -7
  47. data/src/core/ext/filters/client_channel/server_address.h +48 -21
  48. data/src/core/ext/filters/client_channel/service_config.cc +16 -13
  49. data/src/core/ext/filters/client_channel/service_config.h +7 -4
  50. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +2 -2
  51. data/src/core/ext/filters/client_channel/service_config_parser.cc +8 -6
  52. data/src/core/ext/filters/client_channel/service_config_parser.h +8 -5
  53. data/src/core/ext/filters/client_channel/subchannel.cc +64 -23
  54. data/src/core/ext/filters/client_channel/subchannel.h +16 -4
  55. data/src/core/ext/filters/client_channel/subchannel_interface.h +44 -0
  56. data/src/core/ext/filters/max_age/max_age_filter.cc +2 -1
  57. data/src/core/ext/filters/message_size/message_size_filter.cc +2 -1
  58. data/src/core/ext/filters/message_size/message_size_filter.h +2 -1
  59. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +87 -31
  60. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +18 -1
  61. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +10 -35
  62. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +19 -25
  63. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -1
  64. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -2
  65. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +6 -6
  66. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -2
  67. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +256 -287
  68. data/src/core/ext/transport/chttp2/transport/flow_control.cc +11 -3
  69. data/src/core/ext/transport/chttp2/transport/flow_control.h +10 -0
  70. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
  71. data/src/core/ext/transport/chttp2/transport/internal.h +10 -1
  72. data/src/core/ext/transport/chttp2/transport/parsing.cc +17 -30
  73. data/src/core/ext/transport/chttp2/transport/writing.cc +6 -5
  74. data/src/core/ext/transport/inproc/inproc_transport.cc +12 -12
  75. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +244 -0
  76. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +766 -0
  77. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  78. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +226 -0
  79. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +458 -0
  80. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1635 -0
  81. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/filter.upb.c +8 -8
  82. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +69 -0
  83. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/outlier_detection.upb.c +8 -8
  84. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +323 -0
  85. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +124 -0
  86. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +379 -0
  87. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/backoff.upb.c +8 -8
  88. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +79 -0
  89. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +310 -0
  90. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +869 -0
  91. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +103 -0
  92. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +351 -0
  93. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +71 -0
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +53 -0
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +133 -0
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +241 -0
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +752 -0
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +684 -0
  101. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/http_uri.upb.c +8 -8
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +80 -0
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +176 -0
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +645 -0
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +58 -0
  107. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/socket_option.upb.c +6 -6
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +88 -0
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +36 -0
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +85 -0
  111. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
  112. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +220 -0
  113. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
  114. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +273 -0
  115. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  116. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +332 -0
  117. data/src/core/ext/upb-generated/envoy/config/listener/{v2 → v3}/api_listener.upb.c +8 -8
  118. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +65 -0
  119. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +128 -0
  120. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +467 -0
  121. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +155 -0
  122. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +539 -0
  123. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
  124. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +94 -0
  125. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +178 -0
  126. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +616 -0
  127. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
  128. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +204 -0
  129. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +900 -0
  130. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3290 -0
  131. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +60 -0
  132. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +139 -0
  133. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
  134. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +108 -0
  135. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +364 -0
  136. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1336 -0
  137. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
  138. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +34 -0
  139. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +110 -0
  140. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +387 -0
  141. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +76 -0
  142. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +214 -0
  143. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +147 -0
  144. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +570 -0
  145. data/src/core/ext/upb-generated/envoy/{api/v2 → service/cluster/v3}/cds.upb.c +5 -6
  146. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +49 -0
  147. data/src/core/ext/upb-generated/envoy/service/discovery/{v2 → v3}/ads.upb.c +5 -4
  148. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +49 -0
  149. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +139 -0
  150. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +449 -0
  151. data/src/core/ext/upb-generated/envoy/{api/v2 → service/endpoint/v3}/eds.upb.c +5 -6
  152. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +49 -0
  153. data/src/core/ext/upb-generated/envoy/{api/v2 → service/listener/v3}/lds.upb.c +5 -6
  154. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +49 -0
  155. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
  156. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +136 -0
  157. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/rds.upb.c +5 -6
  158. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +49 -0
  159. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/srds.upb.c +5 -6
  160. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +49 -0
  161. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
  162. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +114 -0
  163. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  164. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +77 -0
  165. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  166. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +71 -0
  167. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
  168. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +145 -0
  169. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +54 -0
  170. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +133 -0
  171. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  172. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +188 -0
  173. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  174. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -0
  175. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  176. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +250 -0
  177. data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +2 -2
  178. data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +8 -8
  179. data/src/core/ext/upb-generated/envoy/type/{percent.upb.c → v3/percent.upb.c} +9 -8
  180. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +86 -0
  181. data/src/core/ext/upb-generated/envoy/type/{range.upb.c → v3/range.upb.c} +12 -11
  182. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -0
  183. data/src/core/ext/upb-generated/envoy/type/{semantic_version.upb.c → v3/semantic_version.upb.c} +6 -5
  184. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +61 -0
  185. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +242 -0
  186. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +753 -0
  187. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
  188. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +759 -0
  189. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +36 -36
  190. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +1 -1
  191. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +31 -0
  192. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +57 -0
  193. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  194. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -0
  195. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +28 -0
  196. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +53 -0
  197. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +52 -0
  198. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +129 -0
  199. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +42 -0
  200. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +77 -0
  201. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +36 -0
  202. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +85 -0
  203. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +54 -0
  204. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +160 -0
  205. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +36 -0
  206. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +84 -0
  207. data/src/core/ext/upb-generated/validate/validate.upb.c +11 -11
  208. data/src/core/ext/upb-generated/validate/validate.upb.h +1 -1
  209. data/src/core/ext/xds/certificate_provider_factory.h +59 -0
  210. data/src/core/ext/xds/certificate_provider_registry.cc +103 -0
  211. data/src/core/ext/xds/certificate_provider_registry.h +57 -0
  212. data/src/core/ext/xds/certificate_provider_store.h +50 -0
  213. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +377 -0
  214. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +102 -0
  215. data/src/core/ext/xds/xds_api.cc +2596 -0
  216. data/src/core/ext/xds/xds_api.h +397 -0
  217. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.cc +44 -2
  218. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.h +8 -3
  219. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_args.h +9 -6
  220. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.cc +541 -785
  221. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.h +114 -93
  222. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.cc +20 -14
  223. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +36 -8
  224. data/src/core/lib/channel/channel_args.h +0 -1
  225. data/src/core/lib/channel/channelz.cc +24 -60
  226. data/src/core/lib/channel/channelz.h +12 -20
  227. data/src/core/lib/channel/channelz_registry.cc +15 -12
  228. data/src/core/lib/channel/channelz_registry.h +3 -0
  229. data/src/core/lib/gpr/sync_posix.cc +2 -8
  230. data/src/core/lib/gpr/time_precise.cc +2 -0
  231. data/src/core/lib/gpr/time_precise.h +6 -2
  232. data/src/core/lib/gprpp/dual_ref_counted.h +336 -0
  233. data/src/core/lib/gprpp/ref_counted.h +51 -22
  234. data/src/core/lib/gprpp/ref_counted_ptr.h +153 -0
  235. data/src/core/lib/iomgr/endpoint.cc +5 -1
  236. data/src/core/lib/iomgr/endpoint.h +7 -3
  237. data/src/core/lib/iomgr/endpoint_cfstream.cc +36 -11
  238. data/src/core/lib/iomgr/ev_posix.cc +0 -2
  239. data/src/core/lib/iomgr/exec_ctx.h +10 -8
  240. data/src/core/lib/iomgr/iomgr.cc +0 -10
  241. data/src/core/lib/iomgr/iomgr.h +0 -10
  242. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.cc +1 -1
  243. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.h +3 -3
  244. data/src/core/lib/iomgr/sockaddr_utils.cc +2 -1
  245. data/src/core/lib/iomgr/sockaddr_utils.h +2 -1
  246. data/src/core/lib/iomgr/tcp_custom.cc +32 -16
  247. data/src/core/lib/iomgr/tcp_posix.cc +31 -13
  248. data/src/core/lib/iomgr/tcp_windows.cc +26 -10
  249. data/src/core/lib/json/json_util.cc +58 -0
  250. data/src/core/lib/json/json_util.h +37 -0
  251. data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
  252. data/src/core/lib/security/authorization/authorization_engine.h +84 -0
  253. data/src/core/lib/security/authorization/evaluate_args.cc +153 -0
  254. data/src/core/lib/security/authorization/evaluate_args.h +59 -0
  255. data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
  256. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +42 -0
  257. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +68 -0
  258. data/src/core/lib/security/authorization/mock_cel/cel_value.h +93 -0
  259. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
  260. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +56 -0
  261. data/src/core/lib/security/authorization/mock_cel/statusor.h +50 -0
  262. data/src/core/lib/security/certificate_provider.h +60 -0
  263. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +56 -38
  264. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +321 -0
  265. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +214 -0
  266. data/src/core/lib/security/credentials/xds/xds_credentials.cc +45 -0
  267. data/src/core/lib/security/credentials/xds/xds_credentials.h +51 -0
  268. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +7 -12
  269. data/src/core/lib/security/security_connector/ssl_utils.h +5 -0
  270. data/src/core/lib/security/transport/secure_endpoint.cc +7 -1
  271. data/src/core/lib/surface/call.cc +12 -12
  272. data/src/core/lib/surface/call.h +2 -1
  273. data/src/core/lib/surface/channel.cc +37 -51
  274. data/src/core/lib/surface/channel.h +18 -3
  275. data/src/core/lib/surface/completion_queue.cc +10 -272
  276. data/src/core/lib/surface/completion_queue.h +0 -8
  277. data/src/core/lib/surface/init.cc +27 -12
  278. data/src/core/lib/surface/server.cc +1066 -1244
  279. data/src/core/lib/surface/server.h +363 -87
  280. data/src/core/lib/surface/version.cc +2 -2
  281. data/src/core/lib/transport/authority_override.cc +38 -0
  282. data/src/core/lib/transport/authority_override.h +32 -0
  283. data/src/core/lib/transport/bdp_estimator.h +2 -1
  284. data/src/core/lib/transport/connectivity_state.cc +18 -13
  285. data/src/core/lib/transport/connectivity_state.h +20 -8
  286. data/src/core/lib/transport/error_utils.cc +13 -0
  287. data/src/core/lib/transport/error_utils.h +6 -0
  288. data/src/core/lib/transport/metadata.cc +11 -1
  289. data/src/core/lib/transport/static_metadata.cc +295 -276
  290. data/src/core/lib/transport/static_metadata.h +80 -73
  291. data/src/core/lib/transport/transport.h +7 -0
  292. data/src/core/lib/uri/uri_parser.cc +23 -21
  293. data/src/core/lib/uri/uri_parser.h +3 -1
  294. data/src/core/plugin_registry/grpc_plugin_registry.cc +35 -20
  295. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +22 -0
  296. data/src/core/tsi/ssl_transport_security.cc +2 -2
  297. data/src/ruby/bin/math_services_pb.rb +4 -4
  298. data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
  299. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
  300. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +7 -7
  301. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  302. data/src/ruby/lib/grpc/version.rb +1 -1
  303. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
  304. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +5 -0
  305. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +28 -12
  306. data/src/ruby/spec/channel_credentials_spec.rb +10 -0
  307. data/src/ruby/spec/generic/active_call_spec.rb +19 -8
  308. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  309. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  310. data/src/ruby/spec/pb/codegen/package_option_spec.rb +20 -0
  311. data/src/ruby/spec/user_agent_spec.rb +74 -0
  312. data/third_party/abseil-cpp/absl/algorithm/container.h +1727 -0
  313. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +161 -0
  314. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  315. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  316. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  317. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  318. data/third_party/abseil-cpp/absl/container/fixed_array.h +515 -0
  319. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  320. data/third_party/abseil-cpp/absl/container/internal/common.h +202 -0
  321. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +440 -0
  322. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +146 -0
  323. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +191 -0
  324. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  325. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +269 -0
  326. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +297 -0
  327. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
  328. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +49 -0
  329. data/third_party/abseil-cpp/absl/container/internal/layout.h +741 -0
  330. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
  331. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1882 -0
  332. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +138 -0
  333. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  334. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1895 -0
  335. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  336. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  337. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  338. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +192 -0
  339. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +125 -0
  340. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +70 -0
  341. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +99 -0
  342. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
  343. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  344. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +85 -0
  345. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  346. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +128 -0
  347. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +194 -0
  348. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  349. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  350. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  351. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +25 -0
  352. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  353. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1480 -0
  354. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  355. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  356. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  357. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  358. data/third_party/abseil-cpp/absl/hash/hash.h +324 -0
  359. data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
  360. data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
  361. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
  362. data/third_party/abseil-cpp/absl/hash/internal/hash.h +988 -0
  363. data/third_party/abseil-cpp/absl/status/status.cc +447 -0
  364. data/third_party/abseil-cpp/absl/status/status.h +428 -0
  365. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +43 -0
  366. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  367. data/third_party/abseil-cpp/absl/strings/cord.cc +2019 -0
  368. data/third_party/abseil-cpp/absl/strings/cord.h +1121 -0
  369. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +151 -0
  370. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  371. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  372. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  373. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  374. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  375. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  376. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
  377. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  378. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
  379. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +261 -0
  380. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  381. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  382. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +484 -0
  383. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
  384. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2728 -0
  385. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1056 -0
  386. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  387. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  388. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  389. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  390. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  391. data/third_party/abseil-cpp/absl/types/variant.h +861 -0
  392. data/third_party/boringssl-with-bazel/err_data.c +475 -467
  393. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -6
  394. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +9 -43
  395. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +55 -4
  396. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +34 -0
  397. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +4 -0
  398. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +16 -0
  399. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +6 -2
  400. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
  401. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +4 -0
  402. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +30 -10
  403. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +10 -15
  404. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +543 -0
  405. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +237 -0
  406. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +44 -2
  407. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +221 -49
  408. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +64 -20
  409. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +3 -3
  410. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -8
  411. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +3 -3
  412. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +1 -1
  413. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +7 -2
  414. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +21 -18
  415. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -1
  416. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +24 -3
  417. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +3 -3
  418. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +67 -67
  419. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +3 -3
  420. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +29 -35
  421. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +13 -2
  422. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +9 -8
  423. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +10 -10
  424. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +2 -2
  425. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +28 -40
  426. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +20 -0
  427. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +3 -1
  428. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +1 -4
  429. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +7 -3
  430. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +2 -2
  431. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +1 -1
  432. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +55 -8
  433. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -1
  434. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +52 -0
  435. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +0 -1
  436. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -2
  437. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +6 -0
  438. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +1 -1
  439. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +12 -0
  440. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +9 -0
  441. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +4 -1
  442. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +48 -9
  443. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -3
  444. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +26 -6
  445. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +199 -78
  446. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +52 -43
  447. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +18 -18
  448. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -3
  449. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  450. data/third_party/boringssl-with-bazel/src/ssl/internal.h +13 -9
  451. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +3 -6
  452. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +8 -9
  453. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +10 -0
  454. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +34 -9
  455. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +1 -2
  456. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +4 -8
  457. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +7 -2
  458. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
  459. data/third_party/re2/re2/bitmap256.h +117 -0
  460. data/third_party/re2/re2/bitstate.cc +385 -0
  461. data/third_party/re2/re2/compile.cc +1279 -0
  462. data/third_party/re2/re2/dfa.cc +2130 -0
  463. data/third_party/re2/re2/filtered_re2.cc +121 -0
  464. data/third_party/re2/re2/filtered_re2.h +109 -0
  465. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  466. data/third_party/re2/re2/nfa.cc +713 -0
  467. data/third_party/re2/re2/onepass.cc +623 -0
  468. data/third_party/re2/re2/parse.cc +2464 -0
  469. data/third_party/re2/re2/perl_groups.cc +119 -0
  470. data/third_party/re2/re2/pod_array.h +55 -0
  471. data/third_party/re2/re2/prefilter.cc +710 -0
  472. data/third_party/re2/re2/prefilter.h +108 -0
  473. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  474. data/third_party/re2/re2/prefilter_tree.h +139 -0
  475. data/third_party/re2/re2/prog.cc +988 -0
  476. data/third_party/re2/re2/prog.h +436 -0
  477. data/third_party/re2/re2/re2.cc +1362 -0
  478. data/third_party/re2/re2/re2.h +1002 -0
  479. data/third_party/re2/re2/regexp.cc +980 -0
  480. data/third_party/re2/re2/regexp.h +659 -0
  481. data/third_party/re2/re2/set.cc +154 -0
  482. data/third_party/re2/re2/set.h +80 -0
  483. data/third_party/re2/re2/simplify.cc +657 -0
  484. data/third_party/re2/re2/sparse_array.h +392 -0
  485. data/third_party/re2/re2/sparse_set.h +264 -0
  486. data/third_party/re2/re2/stringpiece.cc +65 -0
  487. data/third_party/re2/re2/stringpiece.h +210 -0
  488. data/third_party/re2/re2/tostring.cc +351 -0
  489. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  490. data/third_party/re2/re2/unicode_casefold.h +78 -0
  491. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  492. data/third_party/re2/re2/unicode_groups.h +67 -0
  493. data/third_party/re2/re2/walker-inl.h +246 -0
  494. data/third_party/re2/util/benchmark.h +156 -0
  495. data/third_party/re2/util/flags.h +26 -0
  496. data/third_party/re2/util/logging.h +109 -0
  497. data/third_party/re2/util/malloc_counter.h +19 -0
  498. data/third_party/re2/util/mix.h +41 -0
  499. data/third_party/re2/util/mutex.h +148 -0
  500. data/third_party/re2/util/pcre.cc +1025 -0
  501. data/third_party/re2/util/pcre.h +681 -0
  502. data/third_party/re2/util/rune.cc +260 -0
  503. data/third_party/re2/util/strutil.cc +149 -0
  504. data/third_party/re2/util/strutil.h +21 -0
  505. data/third_party/re2/util/test.h +50 -0
  506. data/third_party/re2/util/utf.h +44 -0
  507. data/third_party/re2/util/util.h +42 -0
  508. data/third_party/upb/upb/decode.c +64 -15
  509. data/third_party/upb/upb/encode.c +2 -2
  510. data/third_party/upb/upb/msg.h +2 -2
  511. data/third_party/upb/upb/port_def.inc +1 -1
  512. data/third_party/upb/upb/table.c +0 -11
  513. data/third_party/upb/upb/table.int.h +0 -9
  514. data/third_party/upb/upb/upb.c +16 -14
  515. data/third_party/upb/upb/upb.h +26 -0
  516. data/third_party/upb/upb/upb.hpp +2 -0
  517. metadata +340 -153
  518. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +0 -528
  519. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +0 -1142
  520. data/src/core/ext/filters/client_channel/xds/xds_api.cc +0 -2110
  521. data/src/core/ext/filters/client_channel/xds/xds_api.h +0 -345
  522. data/src/core/ext/filters/client_channel/xds/xds_channel.h +0 -46
  523. data/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc +0 -106
  524. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -21
  525. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -34
  526. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +0 -114
  527. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +0 -429
  528. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +0 -72
  529. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +0 -198
  530. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +0 -105
  531. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +0 -388
  532. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -52
  533. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -403
  534. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1453
  535. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -74
  536. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -226
  537. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
  538. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -323
  539. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -112
  540. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -334
  541. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +0 -79
  542. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -313
  543. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -891
  544. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -96
  545. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -328
  546. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +0 -34
  547. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +0 -71
  548. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -197
  549. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -649
  550. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -172
  551. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -693
  552. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
  553. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -152
  554. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -536
  555. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +0 -88
  556. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -129
  557. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -386
  558. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -52
  559. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -92
  560. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -224
  561. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -18
  562. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -32
  563. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -91
  564. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -273
  565. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -112
  566. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -332
  567. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -52
  568. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -109
  569. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -415
  570. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -18
  571. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -32
  572. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -145
  573. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -538
  574. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -43
  575. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -111
  576. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -52
  577. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -63
  578. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -204
  579. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -18
  580. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -32
  581. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -815
  582. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -2984
  583. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -59
  584. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -135
  585. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -52
  586. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -228
  587. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -732
  588. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -316
  589. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1167
  590. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
  591. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +0 -51
  592. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +0 -125
  593. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -49
  594. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -54
  595. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -136
  596. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -63
  597. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -145
  598. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -53
  599. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
  600. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -88
  601. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
  602. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -86
  603. data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -111
  604. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -61
  605. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -89
  606. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -250
  607. data/src/core/ext/upb-generated/gogoproto/gogo.upb.c +0 -17
  608. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -29
  609. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  610. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  611. data/src/core/lib/slice/slice_hash_table.h +0 -199
  612. data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
  613. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c +0 -110
  614. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c +0 -274
@@ -36,7 +36,7 @@
36
36
  static_assert(
37
37
  std::is_trivially_destructible<grpc_core::StaticMetadataSlice>::value,
38
38
  "grpc_core::StaticMetadataSlice must be trivially destructible.");
39
- #define GRPC_STATIC_MDSTR_COUNT 108
39
+ #define GRPC_STATIC_MDSTR_COUNT 110
40
40
 
41
41
  void grpc_init_static_metadata_ctx(void);
42
42
  void grpc_destroy_static_metadata_ctx(void);
@@ -132,154 +132,161 @@ inline const grpc_core::StaticMetadataSlice* grpc_static_slice_table() {
132
132
  /* "/envoy.service.load_stats.v2.LoadReportingService/StreamLoadStats" */
133
133
  #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V2_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS \
134
134
  (grpc_static_slice_table()[35])
135
+ /* "/envoy.service.load_stats.v3.LoadReportingService/StreamLoadStats" */
136
+ #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V3_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS \
137
+ (grpc_static_slice_table()[36])
135
138
  /* "/grpc.health.v1.Health/Watch" */
136
139
  #define GRPC_MDSTR_SLASH_GRPC_DOT_HEALTH_DOT_V1_DOT_HEALTH_SLASH_WATCH \
137
- (grpc_static_slice_table()[36])
140
+ (grpc_static_slice_table()[37])
138
141
  /* "/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources"
139
142
  */
140
143
  #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V2_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES \
141
- (grpc_static_slice_table()[37])
144
+ (grpc_static_slice_table()[38])
145
+ /* "/envoy.service.discovery.v3.AggregatedDiscoveryService/StreamAggregatedResources"
146
+ */
147
+ #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V3_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES \
148
+ (grpc_static_slice_table()[39])
142
149
  /* "deflate" */
143
- #define GRPC_MDSTR_DEFLATE (grpc_static_slice_table()[38])
150
+ #define GRPC_MDSTR_DEFLATE (grpc_static_slice_table()[40])
144
151
  /* "gzip" */
145
- #define GRPC_MDSTR_GZIP (grpc_static_slice_table()[39])
152
+ #define GRPC_MDSTR_GZIP (grpc_static_slice_table()[41])
146
153
  /* "stream/gzip" */
147
- #define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table()[40])
154
+ #define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table()[42])
148
155
  /* "GET" */
149
- #define GRPC_MDSTR_GET (grpc_static_slice_table()[41])
156
+ #define GRPC_MDSTR_GET (grpc_static_slice_table()[43])
150
157
  /* "POST" */
151
- #define GRPC_MDSTR_POST (grpc_static_slice_table()[42])
158
+ #define GRPC_MDSTR_POST (grpc_static_slice_table()[44])
152
159
  /* "/" */
153
- #define GRPC_MDSTR_SLASH (grpc_static_slice_table()[43])
160
+ #define GRPC_MDSTR_SLASH (grpc_static_slice_table()[45])
154
161
  /* "/index.html" */
155
- #define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table()[44])
162
+ #define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table()[46])
156
163
  /* "http" */
157
- #define GRPC_MDSTR_HTTP (grpc_static_slice_table()[45])
164
+ #define GRPC_MDSTR_HTTP (grpc_static_slice_table()[47])
158
165
  /* "https" */
159
- #define GRPC_MDSTR_HTTPS (grpc_static_slice_table()[46])
166
+ #define GRPC_MDSTR_HTTPS (grpc_static_slice_table()[48])
160
167
  /* "200" */
161
- #define GRPC_MDSTR_200 (grpc_static_slice_table()[47])
168
+ #define GRPC_MDSTR_200 (grpc_static_slice_table()[49])
162
169
  /* "204" */
163
- #define GRPC_MDSTR_204 (grpc_static_slice_table()[48])
170
+ #define GRPC_MDSTR_204 (grpc_static_slice_table()[50])
164
171
  /* "206" */
165
- #define GRPC_MDSTR_206 (grpc_static_slice_table()[49])
172
+ #define GRPC_MDSTR_206 (grpc_static_slice_table()[51])
166
173
  /* "304" */
167
- #define GRPC_MDSTR_304 (grpc_static_slice_table()[50])
174
+ #define GRPC_MDSTR_304 (grpc_static_slice_table()[52])
168
175
  /* "400" */
169
- #define GRPC_MDSTR_400 (grpc_static_slice_table()[51])
176
+ #define GRPC_MDSTR_400 (grpc_static_slice_table()[53])
170
177
  /* "404" */
171
- #define GRPC_MDSTR_404 (grpc_static_slice_table()[52])
178
+ #define GRPC_MDSTR_404 (grpc_static_slice_table()[54])
172
179
  /* "500" */
173
- #define GRPC_MDSTR_500 (grpc_static_slice_table()[53])
180
+ #define GRPC_MDSTR_500 (grpc_static_slice_table()[55])
174
181
  /* "accept-charset" */
175
- #define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table()[54])
182
+ #define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table()[56])
176
183
  /* "gzip, deflate" */
177
- #define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table()[55])
184
+ #define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table()[57])
178
185
  /* "accept-language" */
179
- #define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table()[56])
186
+ #define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table()[58])
180
187
  /* "accept-ranges" */
181
- #define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table()[57])
188
+ #define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table()[59])
182
189
  /* "accept" */
183
- #define GRPC_MDSTR_ACCEPT (grpc_static_slice_table()[58])
190
+ #define GRPC_MDSTR_ACCEPT (grpc_static_slice_table()[60])
184
191
  /* "access-control-allow-origin" */
185
- #define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table()[59])
192
+ #define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table()[61])
186
193
  /* "age" */
187
- #define GRPC_MDSTR_AGE (grpc_static_slice_table()[60])
194
+ #define GRPC_MDSTR_AGE (grpc_static_slice_table()[62])
188
195
  /* "allow" */
189
- #define GRPC_MDSTR_ALLOW (grpc_static_slice_table()[61])
196
+ #define GRPC_MDSTR_ALLOW (grpc_static_slice_table()[63])
190
197
  /* "authorization" */
191
- #define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table()[62])
198
+ #define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table()[64])
192
199
  /* "cache-control" */
193
- #define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table()[63])
200
+ #define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table()[65])
194
201
  /* "content-disposition" */
195
- #define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table()[64])
202
+ #define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table()[66])
196
203
  /* "content-language" */
197
- #define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table()[65])
204
+ #define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table()[67])
198
205
  /* "content-length" */
199
- #define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table()[66])
206
+ #define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table()[68])
200
207
  /* "content-location" */
201
- #define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table()[67])
208
+ #define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table()[69])
202
209
  /* "content-range" */
203
- #define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table()[68])
210
+ #define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table()[70])
204
211
  /* "cookie" */
205
- #define GRPC_MDSTR_COOKIE (grpc_static_slice_table()[69])
212
+ #define GRPC_MDSTR_COOKIE (grpc_static_slice_table()[71])
206
213
  /* "date" */
207
- #define GRPC_MDSTR_DATE (grpc_static_slice_table()[70])
214
+ #define GRPC_MDSTR_DATE (grpc_static_slice_table()[72])
208
215
  /* "etag" */
209
- #define GRPC_MDSTR_ETAG (grpc_static_slice_table()[71])
216
+ #define GRPC_MDSTR_ETAG (grpc_static_slice_table()[73])
210
217
  /* "expect" */
211
- #define GRPC_MDSTR_EXPECT (grpc_static_slice_table()[72])
218
+ #define GRPC_MDSTR_EXPECT (grpc_static_slice_table()[74])
212
219
  /* "expires" */
213
- #define GRPC_MDSTR_EXPIRES (grpc_static_slice_table()[73])
220
+ #define GRPC_MDSTR_EXPIRES (grpc_static_slice_table()[75])
214
221
  /* "from" */
215
- #define GRPC_MDSTR_FROM (grpc_static_slice_table()[74])
222
+ #define GRPC_MDSTR_FROM (grpc_static_slice_table()[76])
216
223
  /* "if-match" */
217
- #define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table()[75])
224
+ #define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table()[77])
218
225
  /* "if-modified-since" */
219
- #define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table()[76])
226
+ #define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table()[78])
220
227
  /* "if-none-match" */
221
- #define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table()[77])
228
+ #define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table()[79])
222
229
  /* "if-range" */
223
- #define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table()[78])
230
+ #define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table()[80])
224
231
  /* "if-unmodified-since" */
225
- #define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table()[79])
232
+ #define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table()[81])
226
233
  /* "last-modified" */
227
- #define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table()[80])
234
+ #define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table()[82])
228
235
  /* "link" */
229
- #define GRPC_MDSTR_LINK (grpc_static_slice_table()[81])
236
+ #define GRPC_MDSTR_LINK (grpc_static_slice_table()[83])
230
237
  /* "location" */
231
- #define GRPC_MDSTR_LOCATION (grpc_static_slice_table()[82])
238
+ #define GRPC_MDSTR_LOCATION (grpc_static_slice_table()[84])
232
239
  /* "max-forwards" */
233
- #define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table()[83])
240
+ #define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table()[85])
234
241
  /* "proxy-authenticate" */
235
- #define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table()[84])
242
+ #define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table()[86])
236
243
  /* "proxy-authorization" */
237
- #define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table()[85])
244
+ #define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table()[87])
238
245
  /* "range" */
239
- #define GRPC_MDSTR_RANGE (grpc_static_slice_table()[86])
246
+ #define GRPC_MDSTR_RANGE (grpc_static_slice_table()[88])
240
247
  /* "referer" */
241
- #define GRPC_MDSTR_REFERER (grpc_static_slice_table()[87])
248
+ #define GRPC_MDSTR_REFERER (grpc_static_slice_table()[89])
242
249
  /* "refresh" */
243
- #define GRPC_MDSTR_REFRESH (grpc_static_slice_table()[88])
250
+ #define GRPC_MDSTR_REFRESH (grpc_static_slice_table()[90])
244
251
  /* "retry-after" */
245
- #define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table()[89])
252
+ #define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table()[91])
246
253
  /* "server" */
247
- #define GRPC_MDSTR_SERVER (grpc_static_slice_table()[90])
254
+ #define GRPC_MDSTR_SERVER (grpc_static_slice_table()[92])
248
255
  /* "set-cookie" */
249
- #define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table()[91])
256
+ #define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table()[93])
250
257
  /* "strict-transport-security" */
251
- #define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table()[92])
258
+ #define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table()[94])
252
259
  /* "transfer-encoding" */
253
- #define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table()[93])
260
+ #define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table()[95])
254
261
  /* "vary" */
255
- #define GRPC_MDSTR_VARY (grpc_static_slice_table()[94])
262
+ #define GRPC_MDSTR_VARY (grpc_static_slice_table()[96])
256
263
  /* "via" */
257
- #define GRPC_MDSTR_VIA (grpc_static_slice_table()[95])
264
+ #define GRPC_MDSTR_VIA (grpc_static_slice_table()[97])
258
265
  /* "www-authenticate" */
259
- #define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table()[96])
266
+ #define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table()[98])
260
267
  /* "0" */
261
- #define GRPC_MDSTR_0 (grpc_static_slice_table()[97])
268
+ #define GRPC_MDSTR_0 (grpc_static_slice_table()[99])
262
269
  /* "identity" */
263
- #define GRPC_MDSTR_IDENTITY (grpc_static_slice_table()[98])
270
+ #define GRPC_MDSTR_IDENTITY (grpc_static_slice_table()[100])
264
271
  /* "trailers" */
265
- #define GRPC_MDSTR_TRAILERS (grpc_static_slice_table()[99])
272
+ #define GRPC_MDSTR_TRAILERS (grpc_static_slice_table()[101])
266
273
  /* "application/grpc" */
267
- #define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table()[100])
274
+ #define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table()[102])
268
275
  /* "grpc" */
269
- #define GRPC_MDSTR_GRPC (grpc_static_slice_table()[101])
276
+ #define GRPC_MDSTR_GRPC (grpc_static_slice_table()[103])
270
277
  /* "PUT" */
271
- #define GRPC_MDSTR_PUT (grpc_static_slice_table()[102])
278
+ #define GRPC_MDSTR_PUT (grpc_static_slice_table()[104])
272
279
  /* "lb-cost-bin" */
273
- #define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table()[103])
280
+ #define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table()[105])
274
281
  /* "identity,deflate" */
275
- #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table()[104])
282
+ #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table()[106])
276
283
  /* "identity,gzip" */
277
- #define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table()[105])
284
+ #define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table()[107])
278
285
  /* "deflate,gzip" */
279
- #define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table()[106])
286
+ #define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table()[108])
280
287
  /* "identity,deflate,gzip" */
281
288
  #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
282
- (grpc_static_slice_table()[107])
289
+ (grpc_static_slice_table()[109])
283
290
 
284
291
  namespace grpc_core {
285
292
  struct StaticSliceRefcount;
@@ -459,4 +459,11 @@ grpc_transport_op* grpc_make_transport_op(grpc_closure* on_consumed);
459
459
  grpc_transport_stream_op_batch* grpc_make_transport_stream_op(
460
460
  grpc_closure* on_consumed);
461
461
 
462
+ namespace grpc_core {
463
+ // This is the key to be used for loading/storing keepalive_throttling in the
464
+ // absl::Status object.
465
+ constexpr const char* kKeepaliveThrottlingKey =
466
+ "grpc.internal.keepalive_throttling";
467
+ } // namespace grpc_core
468
+
462
469
  #endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H */
@@ -38,11 +38,12 @@
38
38
  /** a size_t default value... maps to all 1's */
39
39
  #define NOT_SET (~(size_t)0)
40
40
 
41
- static grpc_uri* bad_uri(const char* uri_text, size_t pos, const char* section,
42
- bool suppress_errors) {
41
+ static grpc_uri* bad_uri(absl::string_view uri_text, size_t pos,
42
+ const char* section, bool suppress_errors) {
43
43
  if (!suppress_errors) {
44
44
  std::string line_prefix = absl::StrFormat("bad uri.%s: '", section);
45
- gpr_log(GPR_ERROR, "%s%s'", line_prefix.c_str(), uri_text);
45
+ gpr_log(GPR_ERROR, "%s%s'", line_prefix.c_str(),
46
+ std::string(uri_text).c_str());
46
47
  size_t pfx_len = line_prefix.size() + pos;
47
48
  gpr_log(GPR_ERROR, "%s^ here", std::string(pfx_len, ' ').c_str());
48
49
  }
@@ -50,12 +51,12 @@ static grpc_uri* bad_uri(const char* uri_text, size_t pos, const char* section,
50
51
  }
51
52
 
52
53
  /** Returns a copy of percent decoded \a src[begin, end) */
53
- static char* decode_and_copy_component(const char* src, size_t begin,
54
+ static char* decode_and_copy_component(absl::string_view src, size_t begin,
54
55
  size_t end) {
55
56
  grpc_slice component =
56
57
  (begin == NOT_SET || end == NOT_SET)
57
58
  ? grpc_empty_slice()
58
- : grpc_slice_from_copied_buffer(src + begin, end - begin);
59
+ : grpc_slice_from_copied_buffer(src.data() + begin, end - begin);
59
60
  grpc_slice decoded_component =
60
61
  grpc_permissive_percent_decode_slice(component);
61
62
  char* out = grpc_dump_slice(decoded_component, GPR_DUMP_ASCII);
@@ -72,7 +73,7 @@ static bool valid_hex(char c) {
72
73
  /** Returns how many chars to advance if \a uri_text[i] begins a valid \a pchar
73
74
  * production. If \a uri_text[i] introduces an invalid \a pchar (such as percent
74
75
  * sign not followed by two hex digits), NOT_SET is returned. */
75
- static size_t parse_pchar(const char* uri_text, size_t i) {
76
+ static size_t parse_pchar(absl::string_view uri_text, size_t i) {
76
77
  /* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
77
78
  * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
78
79
  * pct-encoded = "%" HEXDIG HEXDIG
@@ -105,7 +106,8 @@ static size_t parse_pchar(const char* uri_text, size_t i) {
105
106
  case '=':
106
107
  return 1;
107
108
  case '%': /* pct-encoded */
108
- if (valid_hex(uri_text[i + 1]) && valid_hex(uri_text[i + 2])) {
109
+ if (uri_text.size() > i + 2 && valid_hex(uri_text[i + 1]) &&
110
+ valid_hex(uri_text[i + 2])) {
109
111
  return 2;
110
112
  }
111
113
  return NOT_SET;
@@ -114,9 +116,8 @@ static size_t parse_pchar(const char* uri_text, size_t i) {
114
116
  }
115
117
 
116
118
  /* *( pchar / "?" / "/" ) */
117
- static int parse_fragment_or_query(const char* uri_text, size_t* i) {
118
- char c;
119
- while ((c = uri_text[*i]) != 0) {
119
+ static int parse_fragment_or_query(absl::string_view uri_text, size_t* i) {
120
+ while (uri_text.size() > *i) {
120
121
  const size_t advance = parse_pchar(uri_text, *i); /* pchar */
121
122
  switch (advance) {
122
123
  case 0: /* uri_text[i] isn't in pchar */
@@ -178,7 +179,7 @@ static void parse_query_parts(grpc_uri* uri) {
178
179
  }
179
180
  }
180
181
 
181
- grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors) {
182
+ grpc_uri* grpc_uri_parse(absl::string_view uri_text, bool suppress_errors) {
182
183
  grpc_uri* uri;
183
184
  size_t scheme_begin = 0;
184
185
  size_t scheme_end = NOT_SET;
@@ -192,7 +193,7 @@ grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors) {
192
193
  size_t fragment_end = NOT_SET;
193
194
  size_t i;
194
195
 
195
- for (i = scheme_begin; uri_text[i] != 0; i++) {
196
+ for (i = scheme_begin; i < uri_text.size(); ++i) {
196
197
  if (uri_text[i] == ':') {
197
198
  scheme_end = i;
198
199
  break;
@@ -211,15 +212,16 @@ grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors) {
211
212
  return bad_uri(uri_text, i, "scheme", suppress_errors);
212
213
  }
213
214
 
214
- if (uri_text[scheme_end + 1] == '/' && uri_text[scheme_end + 2] == '/') {
215
+ if (uri_text.size() > scheme_end + 2 && uri_text[scheme_end + 1] == '/' &&
216
+ uri_text[scheme_end + 2] == '/') {
215
217
  authority_begin = scheme_end + 3;
216
- for (i = authority_begin; uri_text[i] != 0 && authority_end == NOT_SET;
218
+ for (i = authority_begin; uri_text.size() > i && authority_end == NOT_SET;
217
219
  i++) {
218
220
  if (uri_text[i] == '/' || uri_text[i] == '?' || uri_text[i] == '#') {
219
221
  authority_end = i;
220
222
  }
221
223
  }
222
- if (authority_end == NOT_SET && uri_text[i] == 0) {
224
+ if (authority_end == NOT_SET && uri_text.size() == i) {
223
225
  authority_end = i;
224
226
  }
225
227
  if (authority_end == NOT_SET) {
@@ -231,34 +233,34 @@ grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors) {
231
233
  path_begin = scheme_end + 1;
232
234
  }
233
235
 
234
- for (i = path_begin; uri_text[i] != 0; i++) {
236
+ for (i = path_begin; i < uri_text.size(); ++i) {
235
237
  if (uri_text[i] == '?' || uri_text[i] == '#') {
236
238
  path_end = i;
237
239
  break;
238
240
  }
239
241
  }
240
- if (path_end == NOT_SET && uri_text[i] == 0) {
242
+ if (path_end == NOT_SET && uri_text.size() == i) {
241
243
  path_end = i;
242
244
  }
243
245
  if (path_end == NOT_SET) {
244
246
  return bad_uri(uri_text, i, "path", suppress_errors);
245
247
  }
246
248
 
247
- if (uri_text[i] == '?') {
249
+ if (uri_text.size() > i && uri_text[i] == '?') {
248
250
  query_begin = ++i;
249
251
  if (!parse_fragment_or_query(uri_text, &i)) {
250
252
  return bad_uri(uri_text, i, "query", suppress_errors);
251
- } else if (uri_text[i] != 0 && uri_text[i] != '#') {
253
+ } else if (uri_text.size() > i && uri_text[i] != '#') {
252
254
  /* We must be at the end or at the beginning of a fragment */
253
255
  return bad_uri(uri_text, i, "query", suppress_errors);
254
256
  }
255
257
  query_end = i;
256
258
  }
257
- if (uri_text[i] == '#') {
259
+ if (uri_text.size() > i && uri_text[i] == '#') {
258
260
  fragment_begin = ++i;
259
261
  if (!parse_fragment_or_query(uri_text, &i)) {
260
262
  return bad_uri(uri_text, i - fragment_end, "fragment", suppress_errors);
261
- } else if (uri_text[i] != 0) {
263
+ } else if (uri_text.size() > i) {
262
264
  /* We must be at the end */
263
265
  return bad_uri(uri_text, i, "fragment", suppress_errors);
264
266
  }
@@ -21,6 +21,8 @@
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
+ #include "absl/strings/string_view.h"
25
+
24
26
  #include <stddef.h>
25
27
 
26
28
  struct grpc_uri {
@@ -37,7 +39,7 @@ struct grpc_uri {
37
39
  char* fragment;
38
40
  };
39
41
  /** parse a uri, return NULL on failure */
40
- grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors);
42
+ grpc_uri* grpc_uri_parse(absl::string_view uri_text, bool suppress_errors);
41
43
 
42
44
  /** return the part of a query string after the '=' in "?key=xxx&...", or NULL
43
45
  * if key is not present */
@@ -34,18 +34,10 @@ void grpc_resolver_fake_init(void);
34
34
  void grpc_resolver_fake_shutdown(void);
35
35
  void grpc_lb_policy_grpclb_init(void);
36
36
  void grpc_lb_policy_grpclb_shutdown(void);
37
- void grpc_lb_policy_cds_init(void);
38
- void grpc_lb_policy_cds_shutdown(void);
39
- void grpc_lb_policy_eds_init(void);
40
- void grpc_lb_policy_eds_shutdown(void);
41
- void grpc_lb_policy_lrs_init(void);
42
- void grpc_lb_policy_lrs_shutdown(void);
43
37
  void grpc_lb_policy_priority_init(void);
44
38
  void grpc_lb_policy_priority_shutdown(void);
45
39
  void grpc_lb_policy_weighted_target_init(void);
46
40
  void grpc_lb_policy_weighted_target_shutdown(void);
47
- void grpc_lb_policy_xds_routing_init(void);
48
- void grpc_lb_policy_xds_routing_shutdown(void);
49
41
  void grpc_lb_policy_pick_first_init(void);
50
42
  void grpc_lb_policy_pick_first_shutdown(void);
51
43
  void grpc_lb_policy_round_robin_init(void);
@@ -56,8 +48,6 @@ void grpc_resolver_dns_native_init(void);
56
48
  void grpc_resolver_dns_native_shutdown(void);
57
49
  void grpc_resolver_sockaddr_init(void);
58
50
  void grpc_resolver_sockaddr_shutdown(void);
59
- void grpc_resolver_xds_init(void);
60
- void grpc_resolver_xds_shutdown(void);
61
51
  void grpc_client_idle_filter_init(void);
62
52
  void grpc_client_idle_filter_shutdown(void);
63
53
  void grpc_max_age_filter_init(void);
@@ -71,6 +61,25 @@ void grpc_client_authority_filter_shutdown(void);
71
61
  void grpc_workaround_cronet_compression_filter_init(void);
72
62
  void grpc_workaround_cronet_compression_filter_shutdown(void);
73
63
 
64
+ #ifndef GRPC_NO_XDS
65
+ namespace grpc_core {
66
+ void XdsClientGlobalInit();
67
+ void XdsClientGlobalShutdown();
68
+ } // namespace grpc_core
69
+ void grpc_certificate_provider_registry_init(void);
70
+ void grpc_certificate_provider_registry_shutdown(void);
71
+ void grpc_lb_policy_cds_init(void);
72
+ void grpc_lb_policy_cds_shutdown(void);
73
+ void grpc_lb_policy_eds_init(void);
74
+ void grpc_lb_policy_eds_shutdown(void);
75
+ void grpc_lb_policy_eds_drop_init(void);
76
+ void grpc_lb_policy_eds_drop_shutdown(void);
77
+ void grpc_lb_policy_xds_cluster_manager_init(void);
78
+ void grpc_lb_policy_xds_cluster_manager_shutdown(void);
79
+ void grpc_resolver_xds_init(void);
80
+ void grpc_resolver_xds_shutdown(void);
81
+ #endif
82
+
74
83
  void grpc_register_built_in_plugins(void) {
75
84
  grpc_register_plugin(grpc_http_filters_init,
76
85
  grpc_http_filters_shutdown);
@@ -86,18 +95,10 @@ void grpc_register_built_in_plugins(void) {
86
95
  grpc_resolver_fake_shutdown);
87
96
  grpc_register_plugin(grpc_lb_policy_grpclb_init,
88
97
  grpc_lb_policy_grpclb_shutdown);
89
- grpc_register_plugin(grpc_lb_policy_cds_init,
90
- grpc_lb_policy_cds_shutdown);
91
- grpc_register_plugin(grpc_lb_policy_eds_init,
92
- grpc_lb_policy_eds_shutdown);
93
- grpc_register_plugin(grpc_lb_policy_lrs_init,
94
- grpc_lb_policy_lrs_shutdown);
95
98
  grpc_register_plugin(grpc_lb_policy_priority_init,
96
99
  grpc_lb_policy_priority_shutdown);
97
100
  grpc_register_plugin(grpc_lb_policy_weighted_target_init,
98
101
  grpc_lb_policy_weighted_target_shutdown);
99
- grpc_register_plugin(grpc_lb_policy_xds_routing_init,
100
- grpc_lb_policy_xds_routing_shutdown);
101
102
  grpc_register_plugin(grpc_lb_policy_pick_first_init,
102
103
  grpc_lb_policy_pick_first_shutdown);
103
104
  grpc_register_plugin(grpc_lb_policy_round_robin_init,
@@ -108,8 +109,6 @@ void grpc_register_built_in_plugins(void) {
108
109
  grpc_resolver_dns_native_shutdown);
109
110
  grpc_register_plugin(grpc_resolver_sockaddr_init,
110
111
  grpc_resolver_sockaddr_shutdown);
111
- grpc_register_plugin(grpc_resolver_xds_init,
112
- grpc_resolver_xds_shutdown);
113
112
  grpc_register_plugin(grpc_client_idle_filter_init,
114
113
  grpc_client_idle_filter_shutdown);
115
114
  grpc_register_plugin(grpc_max_age_filter_init,
@@ -122,4 +121,20 @@ void grpc_register_built_in_plugins(void) {
122
121
  grpc_client_authority_filter_shutdown);
123
122
  grpc_register_plugin(grpc_workaround_cronet_compression_filter_init,
124
123
  grpc_workaround_cronet_compression_filter_shutdown);
124
+ #ifndef GRPC_NO_XDS
125
+ grpc_register_plugin(grpc_core::XdsClientGlobalInit,
126
+ grpc_core::XdsClientGlobalShutdown);
127
+ grpc_register_plugin(grpc_certificate_provider_registry_init,
128
+ grpc_certificate_provider_registry_shutdown);
129
+ grpc_register_plugin(grpc_lb_policy_cds_init,
130
+ grpc_lb_policy_cds_shutdown);
131
+ grpc_register_plugin(grpc_lb_policy_eds_init,
132
+ grpc_lb_policy_eds_shutdown);
133
+ grpc_register_plugin(grpc_lb_policy_eds_drop_init,
134
+ grpc_lb_policy_eds_drop_shutdown);
135
+ grpc_register_plugin(grpc_lb_policy_xds_cluster_manager_init,
136
+ grpc_lb_policy_xds_cluster_manager_shutdown);
137
+ grpc_register_plugin(grpc_resolver_xds_init,
138
+ grpc_resolver_xds_shutdown);
139
+ #endif
125
140
  }