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
@@ -0,0 +1,44 @@
1
+ /*
2
+ * The authors of this software are Rob Pike and Ken Thompson.
3
+ * Copyright (c) 2002 by Lucent Technologies.
4
+ * Permission to use, copy, modify, and distribute this software for any
5
+ * purpose without fee is hereby granted, provided that this entire notice
6
+ * is included in all copies of any software which is or includes a copy
7
+ * or modification of this software and in all copies of the supporting
8
+ * documentation for such software.
9
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
10
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
11
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
12
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
13
+ *
14
+ * This file and rune.cc have been converted to compile as C++ code
15
+ * in name space re2.
16
+ */
17
+
18
+ #ifndef UTIL_UTF_H_
19
+ #define UTIL_UTF_H_
20
+
21
+ #include <stdint.h>
22
+
23
+ namespace re2 {
24
+
25
+ typedef signed int Rune; /* Code-point values in Unicode 4.0 are 21 bits wide.*/
26
+
27
+ enum
28
+ {
29
+ UTFmax = 4, /* maximum bytes per rune */
30
+ Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
31
+ Runeself = 0x80, /* rune and UTF sequences are the same (<) */
32
+ Runeerror = 0xFFFD, /* decoding error in UTF */
33
+ Runemax = 0x10FFFF, /* maximum rune value */
34
+ };
35
+
36
+ int runetochar(char* s, const Rune* r);
37
+ int chartorune(Rune* r, const char* s);
38
+ int fullrune(const char* s, int n);
39
+ int utflen(const char* s);
40
+ char* utfrune(const char*, Rune);
41
+
42
+ } // namespace re2
43
+
44
+ #endif // UTIL_UTF_H_
@@ -0,0 +1,42 @@
1
+ // Copyright 2009 The RE2 Authors. All Rights Reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ #ifndef UTIL_UTIL_H_
6
+ #define UTIL_UTIL_H_
7
+
8
+ #define arraysize(array) (sizeof(array)/sizeof((array)[0]))
9
+
10
+ #ifndef ATTRIBUTE_NORETURN
11
+ #if defined(__GNUC__)
12
+ #define ATTRIBUTE_NORETURN __attribute__((noreturn))
13
+ #elif defined(_MSC_VER)
14
+ #define ATTRIBUTE_NORETURN __declspec(noreturn)
15
+ #else
16
+ #define ATTRIBUTE_NORETURN
17
+ #endif
18
+ #endif
19
+
20
+ #ifndef ATTRIBUTE_UNUSED
21
+ #if defined(__GNUC__)
22
+ #define ATTRIBUTE_UNUSED __attribute__((unused))
23
+ #else
24
+ #define ATTRIBUTE_UNUSED
25
+ #endif
26
+ #endif
27
+
28
+ #ifndef FALLTHROUGH_INTENDED
29
+ #if defined(__clang__)
30
+ #define FALLTHROUGH_INTENDED [[clang::fallthrough]]
31
+ #elif defined(__GNUC__) && __GNUC__ >= 7
32
+ #define FALLTHROUGH_INTENDED [[gnu::fallthrough]]
33
+ #else
34
+ #define FALLTHROUGH_INTENDED do {} while (0)
35
+ #endif
36
+ #endif
37
+
38
+ #ifndef NO_THREAD_SAFETY_ANALYSIS
39
+ #define NO_THREAD_SAFETY_ANALYSIS
40
+ #endif
41
+
42
+ #endif // UTIL_UTIL_H_
@@ -62,11 +62,13 @@ static const unsigned fixed64_ok = (1 << UPB_DTYPE_DOUBLE) |
62
62
  (1 << UPB_DTYPE_SFIXED64);
63
63
 
64
64
  /* Op: an action to be performed for a wire-type/field-type combination. */
65
- #define OP_SCALAR_LG2(n) (n)
66
- #define OP_FIXPCK_LG2(n) (n + 4)
67
- #define OP_VARPCK_LG2(n) (n + 8)
65
+ #define OP_SCALAR_LG2(n) (n) /* n in [0, 2, 3] => op in [0, 2, 3] */
68
66
  #define OP_STRING 4
69
- #define OP_SUBMSG 5
67
+ #define OP_BYTES 5
68
+ #define OP_SUBMSG 6
69
+ /* Ops above are scalar-only. Repeated fields can use any op. */
70
+ #define OP_FIXPCK_LG2(n) (n + 5) /* n in [2, 3] => op in [7, 8] */
71
+ #define OP_VARPCK_LG2(n) (n + 9) /* n in [0, 2, 3] => op in [9, 11, 12] */
70
72
 
71
73
  static const int8_t varint_ops[19] = {
72
74
  -1, /* field not found */
@@ -104,7 +106,7 @@ static const int8_t delim_ops[37] = {
104
106
  OP_STRING, /* STRING */
105
107
  -1, /* GROUP */
106
108
  OP_SUBMSG, /* MESSAGE */
107
- OP_STRING, /* BYTES */
109
+ OP_BYTES, /* BYTES */
108
110
  -1, /* UINT32 */
109
111
  -1, /* ENUM */
110
112
  -1, /* SFIXED32 */
@@ -123,7 +125,7 @@ static const int8_t delim_ops[37] = {
123
125
  OP_STRING, /* REPEATED STRING */
124
126
  OP_SUBMSG, /* REPEATED GROUP */
125
127
  OP_SUBMSG, /* REPEATED MESSAGE */
126
- OP_STRING, /* REPEATED BYTES */
128
+ OP_BYTES, /* REPEATED BYTES */
127
129
  OP_VARPCK_LG2(2), /* REPEATED UINT32 */
128
130
  OP_VARPCK_LG2(2), /* REPEATED ENUM */
129
131
  OP_FIXPCK_LG2(2), /* REPEATED SFIXED32 */
@@ -143,8 +145,6 @@ typedef struct {
143
145
 
144
146
  typedef union {
145
147
  bool bool_val;
146
- int32_t int32_val;
147
- int64_t int64_val;
148
148
  uint32_t uint32_val;
149
149
  uint64_t uint64_val;
150
150
  upb_strview str_val;
@@ -155,6 +155,40 @@ static const char *decode_msg(upb_decstate *d, const char *ptr, upb_msg *msg,
155
155
 
156
156
  UPB_NORETURN static void decode_err(upb_decstate *d) { longjmp(d->err, 1); }
157
157
 
158
+ void decode_verifyutf8(upb_decstate *d, const char *buf, int len) {
159
+ static const uint8_t utf8_offset[] = {
160
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
161
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
162
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
163
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
164
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
165
+ 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
166
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
169
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
170
+ 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0,
171
+ };
172
+
173
+ int i, j;
174
+ uint8_t offset;
175
+
176
+ i = 0;
177
+ while (i < len) {
178
+ offset = utf8_offset[(uint8_t)buf[i]];
179
+ if (offset == 0 || i + offset > len) {
180
+ decode_err(d);
181
+ }
182
+ for (j = i + 1; j < i + offset; j++) {
183
+ if ((buf[j] & 0xc0) != 0x80) {
184
+ decode_err(d);
185
+ }
186
+ }
187
+ i += offset;
188
+ }
189
+ if (i != len) decode_err(d);
190
+ }
191
+
158
192
  static bool decode_reserve(upb_decstate *d, upb_array *arr, size_t elem) {
159
193
  bool need_realloc = arr->size - arr->len < elem;
160
194
  if (need_realloc && !_upb_array_realloc(arr, arr->len + elem, d->arena)) {
@@ -209,14 +243,21 @@ static void decode_munge(int type, wireval *val) {
209
243
  break;
210
244
  case UPB_DESCRIPTOR_TYPE_SINT32: {
211
245
  uint32_t n = val->uint32_val;
212
- val->int32_val = (n >> 1) ^ -(int32_t)(n & 1);
246
+ val->uint32_val = (n >> 1) ^ -(int32_t)(n & 1);
213
247
  break;
214
248
  }
215
249
  case UPB_DESCRIPTOR_TYPE_SINT64: {
216
250
  uint64_t n = val->uint64_val;
217
- val->int64_val = (n >> 1) ^ -(int64_t)(n & 1);
251
+ val->uint64_val = (n >> 1) ^ -(int64_t)(n & 1);
218
252
  break;
219
253
  }
254
+ case UPB_DESCRIPTOR_TYPE_INT32:
255
+ case UPB_DESCRIPTOR_TYPE_UINT32:
256
+ if (!_upb_isle()) {
257
+ /* The next stage will memcpy(dst, &val, 4) */
258
+ val->uint32_val = val->uint64_val;
259
+ }
260
+ break;
220
261
  }
221
262
  }
222
263
 
@@ -300,7 +341,10 @@ static const char *decode_toarray(upb_decstate *d, const char *ptr,
300
341
  memcpy(mem, &val, 1 << op);
301
342
  return ptr;
302
343
  case OP_STRING:
303
- /* Append string. */
344
+ decode_verifyutf8(d, val.str_val.data, val.str_val.size);
345
+ /* Fallthrough. */
346
+ case OP_BYTES:
347
+ /* Append bytes. */
304
348
  mem =
305
349
  UPB_PTR_AT(_upb_array_ptr(arr), arr->len * sizeof(upb_strview), void);
306
350
  arr->len++;
@@ -389,7 +433,7 @@ static void decode_tomap(upb_decstate *d, upb_msg *msg,
389
433
  if (entry->fields[1].descriptortype == UPB_DESCRIPTOR_TYPE_MESSAGE ||
390
434
  entry->fields[1].descriptortype == UPB_DESCRIPTOR_TYPE_GROUP) {
391
435
  /* Create proactively to handle the case where it doesn't appear. */
392
- ent.v.val.val = (uint64_t)_upb_msg_new(entry->submsgs[0], d->arena);
436
+ ent.v.val = upb_value_ptr(_upb_msg_new(entry->submsgs[0], d->arena));
393
437
  }
394
438
 
395
439
  decode_tosubmsg(d, &ent.k, layout, field, val.str_val);
@@ -434,6 +478,9 @@ static const char *decode_tomsg(upb_decstate *d, const char *ptr, upb_msg *msg,
434
478
  break;
435
479
  }
436
480
  case OP_STRING:
481
+ decode_verifyutf8(d, val.str_val.data, val.str_val.size);
482
+ /* Fallthrough. */
483
+ case OP_BYTES:
437
484
  memcpy(mem, &val, sizeof(upb_strview));
438
485
  break;
439
486
  case OP_SCALAR_LG2(3):
@@ -477,14 +524,16 @@ static const char *decode_msg(upb_decstate *d, const char *ptr, upb_msg *msg,
477
524
  break;
478
525
  case UPB_WIRE_TYPE_32BIT:
479
526
  if (d->limit - ptr < 4) decode_err(d);
480
- memcpy(&val, ptr, 4);
527
+ memcpy(&val.uint32_val, ptr, 4);
528
+ val.uint32_val = _upb_be_swap32(val.uint32_val);
481
529
  ptr += 4;
482
530
  op = OP_SCALAR_LG2(2);
483
531
  if (((1 << field->descriptortype) & fixed32_ok) == 0) goto unknown;
484
532
  break;
485
533
  case UPB_WIRE_TYPE_64BIT:
486
534
  if (d->limit - ptr < 8) decode_err(d);
487
- memcpy(&val, ptr, 8);
535
+ memcpy(&val.uint64_val, ptr, 8);
536
+ val.uint64_val = _upb_be_swap64(val.uint64_val);
488
537
  ptr += 8;
489
538
  op = OP_SCALAR_LG2(3);
490
539
  if (((1 << field->descriptortype) & fixed64_ok) == 0) goto unknown;
@@ -504,7 +553,7 @@ static const char *decode_msg(upb_decstate *d, const char *ptr, upb_msg *msg,
504
553
  break;
505
554
  }
506
555
  case UPB_WIRE_TYPE_START_GROUP:
507
- val.int32_val = field_number;
556
+ val.uint32_val = field_number;
508
557
  op = OP_SUBMSG;
509
558
  if (field->descriptortype != UPB_DTYPE_GROUP) goto unknown;
510
559
  break;
@@ -77,12 +77,12 @@ static bool upb_put_bytes(upb_encstate *e, const void *data, size_t len) {
77
77
  }
78
78
 
79
79
  static bool upb_put_fixed64(upb_encstate *e, uint64_t val) {
80
- /* TODO(haberman): byte-swap for big endian. */
80
+ val = _upb_be_swap64(val);
81
81
  return upb_put_bytes(e, &val, sizeof(uint64_t));
82
82
  }
83
83
 
84
84
  static bool upb_put_fixed32(upb_encstate *e, uint32_t val) {
85
- /* TODO(haberman): byte-swap for big endian. */
85
+ val = _upb_be_swap32(val);
86
86
  return upb_put_bytes(e, &val, sizeof(uint32_t));
87
87
  }
88
88
 
@@ -324,7 +324,7 @@ UPB_INLINE upb_value _upb_map_tovalue(const void *val, size_t size,
324
324
  if (size == UPB_MAPTYPE_STRING) {
325
325
  upb_strview *strp = (upb_strview*)upb_arena_malloc(a, sizeof(*strp));
326
326
  *strp = *(upb_strview*)val;
327
- memcpy(&ret, &strp, sizeof(strp));
327
+ ret = upb_value_ptr(strp);
328
328
  } else {
329
329
  memcpy(&ret, val, size);
330
330
  }
@@ -455,7 +455,7 @@ UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val, size_t size)
455
455
  /* This is like _upb_map_tovalue() except the entry already exists so we can
456
456
  * reuse the allocated upb_strview for string fields. */
457
457
  if (size == UPB_MAPTYPE_STRING) {
458
- upb_strview *strp = (upb_strview*)ent->val.val;
458
+ upb_strview *strp = (upb_strview*)(uintptr_t)ent->val.val;
459
459
  memcpy(strp, val, sizeof(*strp));
460
460
  } else {
461
461
  memcpy(&ent->val.val, val, size);
@@ -141,7 +141,7 @@ int msvc_vsnprintf(char* s, size_t n, const char* format, va_list arg);
141
141
  #elif defined _MSC_VER
142
142
  #define UPB_ASSUME(expr) if (!(expr)) __assume(0)
143
143
  #else
144
- #define UPB_ASSUME(expr) do {} if (false && (expr))
144
+ #define UPB_ASSUME(expr) do {} while (false && (expr))
145
145
  #endif
146
146
  #else
147
147
  #define UPB_ASSUME(expr) assert(expr)
@@ -559,17 +559,6 @@ bool upb_inttable_remove(upb_inttable *t, uintptr_t key, upb_value *val) {
559
559
  return success;
560
560
  }
561
561
 
562
- bool upb_inttable_push2(upb_inttable *t, upb_value val, upb_alloc *a) {
563
- return upb_inttable_insert2(t, upb_inttable_count(t), val, a);
564
- }
565
-
566
- upb_value upb_inttable_pop(upb_inttable *t) {
567
- upb_value val;
568
- bool ok = upb_inttable_remove(t, upb_inttable_count(t) - 1, &val);
569
- UPB_ASSERT(ok);
570
- return val;
571
- }
572
-
573
562
  bool upb_inttable_insertptr2(upb_inttable *t, const void *key, upb_value val,
574
563
  upb_alloc *a) {
575
564
  return upb_inttable_insert2(t, (uintptr_t)key, val, a);
@@ -326,15 +326,6 @@ UPB_INLINE bool upb_strtable_remove(upb_strtable *t, const char *key,
326
326
  * invalidate iterators. */
327
327
  bool upb_inttable_replace(upb_inttable *t, uintptr_t key, upb_value val);
328
328
 
329
- /* Handy routines for treating an inttable like a stack. May not be mixed with
330
- * other insert/remove calls. */
331
- bool upb_inttable_push2(upb_inttable *t, upb_value val, upb_alloc *a);
332
- upb_value upb_inttable_pop(upb_inttable *t);
333
-
334
- UPB_INLINE bool upb_inttable_push(upb_inttable *t, upb_value val) {
335
- return upb_inttable_push2(t, val, &upb_alloc_global);
336
- }
337
-
338
329
  /* Convenience routines for inttables with pointer keys. */
339
330
  bool upb_inttable_insertptr2(upb_inttable *t, const void *key, upb_value val,
340
331
  upb_alloc *a);
@@ -106,15 +106,28 @@ struct upb_arena {
106
106
 
107
107
  static const size_t memblock_reserve = UPB_ALIGN_UP(sizeof(mem_block), 16);
108
108
 
109
+ static upb_arena *arena_findroot(upb_arena *a) {
110
+ /* Path splitting keeps time complexity down, see:
111
+ * https://en.wikipedia.org/wiki/Disjoint-set_data_structure */
112
+ while (a->parent != a) {
113
+ upb_arena *next = a->parent;
114
+ a->parent = next->parent;
115
+ a = next;
116
+ }
117
+ return a;
118
+ }
119
+
109
120
  static void upb_arena_addblock(upb_arena *a, void *ptr, size_t size) {
110
121
  mem_block *block = ptr;
122
+ upb_arena *root = arena_findroot(a);
111
123
 
112
- block->next = a->freelist;
124
+ /* The block is for arena |a|, but should appear in the freelist of |root|. */
125
+ block->next = root->freelist;
113
126
  block->size = (uint32_t)size;
114
127
  block->cleanups = 0;
115
- a->freelist = block;
128
+ root->freelist = block;
116
129
  a->last_size = block->size;
117
- if (!a->freelist_tail) a->freelist_tail = block;
130
+ if (!root->freelist_tail) root->freelist_tail = block;
118
131
 
119
132
  a->head.ptr = UPB_PTR_AT(block, memblock_reserve, char);
120
133
  a->head.end = UPB_PTR_AT(block, size, char);
@@ -149,17 +162,6 @@ static void *upb_arena_doalloc(upb_alloc *alloc, void *ptr, size_t oldsize,
149
162
  return upb_arena_realloc(a, ptr, oldsize, size);
150
163
  }
151
164
 
152
- static upb_arena *arena_findroot(upb_arena *a) {
153
- /* Path splitting keeps time complexity down, see:
154
- * https://en.wikipedia.org/wiki/Disjoint-set_data_structure */
155
- while (a->parent != a) {
156
- upb_arena *next = a->parent;
157
- a->parent = next->parent;
158
- a = next;
159
- }
160
- return a;
161
- }
162
-
163
165
  /* Public Arena API ***********************************************************/
164
166
 
165
167
  upb_arena *arena_initslow(void *mem, size_t n, upb_alloc *alloc) {
@@ -273,6 +273,32 @@ typedef enum {
273
273
 
274
274
  #define UPB_MAP_BEGIN ((size_t)-1)
275
275
 
276
+ UPB_INLINE bool _upb_isle(void) {
277
+ int x = 1;
278
+ return *(char*)&x == 1;
279
+ }
280
+
281
+ UPB_INLINE uint32_t _upb_be_swap32(uint32_t val) {
282
+ if (_upb_isle()) {
283
+ return val;
284
+ } else {
285
+ return ((val & 0xff) << 24) | ((val & 0xff00) << 8) |
286
+ ((val & 0xff0000ULL) >> 8) | ((val & 0xff000000ULL) >> 24);
287
+ }
288
+ }
289
+
290
+ UPB_INLINE uint64_t _upb_be_swap64(uint64_t val) {
291
+ if (_upb_isle()) {
292
+ return val;
293
+ } else {
294
+ return ((val & 0xff) << 56) | ((val & 0xff00) << 40) |
295
+ ((val & 0xff0000) << 24) | ((val & 0xff000000) << 8) |
296
+ ((val & 0xff00000000ULL) >> 8) | ((val & 0xff0000000000ULL) >> 24) |
297
+ ((val & 0xff000000000000ULL) >> 40) |
298
+ ((val & 0xff00000000000000ULL) >> 56);
299
+ }
300
+ }
301
+
276
302
  #include "upb/port_undef.inc"
277
303
 
278
304
  #ifdef __cplusplus
@@ -60,6 +60,8 @@ class Arena {
60
60
  });
61
61
  }
62
62
 
63
+ void Fuse(Arena& other) { upb_arena_fuse(ptr(), other.ptr()); }
64
+
63
65
  private:
64
66
  std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_;
65
67
  };
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.31.0.pre1
4
+ version: 1.33.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2020-07-22 00:00:00.000000000 Z
11
+ date: 2020-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.12'
19
+ version: '3.13'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.12'
26
+ version: '3.13'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: googleapis-common-protos-types
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -218,6 +218,7 @@ files:
218
218
  - include/grpc/grpc_posix.h
219
219
  - include/grpc/grpc_security.h
220
220
  - include/grpc/grpc_security_constants.h
221
+ - include/grpc/impl/codegen/README.md
221
222
  - include/grpc/impl/codegen/atm.h
222
223
  - include/grpc/impl/codegen/atm_gcc_atomic.h
223
224
  - include/grpc/impl/codegen/atm_gcc_sync.h
@@ -314,16 +315,14 @@ files:
314
315
  - src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
315
316
  - src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
316
317
  - src/core/ext/filters/client_channel/lb_policy/xds/eds.cc
317
- - src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc
318
+ - src/core/ext/filters/client_channel/lb_policy/xds/eds_drop.cc
318
319
  - src/core/ext/filters/client_channel/lb_policy/xds/xds.h
319
- - src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc
320
+ - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
320
321
  - src/core/ext/filters/client_channel/lb_policy_factory.h
321
322
  - src/core/ext/filters/client_channel/lb_policy_registry.cc
322
323
  - src/core/ext/filters/client_channel/lb_policy_registry.h
323
324
  - src/core/ext/filters/client_channel/local_subchannel_pool.cc
324
325
  - src/core/ext/filters/client_channel/local_subchannel_pool.h
325
- - src/core/ext/filters/client_channel/parse_address.cc
326
- - src/core/ext/filters/client_channel/parse_address.h
327
326
  - src/core/ext/filters/client_channel/proxy_mapper.h
328
327
  - src/core/ext/filters/client_channel/proxy_mapper_registry.cc
329
328
  - src/core/ext/filters/client_channel/proxy_mapper_registry.h
@@ -348,6 +347,7 @@ files:
348
347
  - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h
349
348
  - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
350
349
  - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
350
+ - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h
351
351
  - src/core/ext/filters/client_channel/resolver_factory.h
352
352
  - src/core/ext/filters/client_channel/resolver_registry.cc
353
353
  - src/core/ext/filters/client_channel/resolver_registry.h
@@ -370,17 +370,6 @@ files:
370
370
  - src/core/ext/filters/client_channel/subchannel_interface.h
371
371
  - src/core/ext/filters/client_channel/subchannel_pool_interface.cc
372
372
  - src/core/ext/filters/client_channel/subchannel_pool_interface.h
373
- - src/core/ext/filters/client_channel/xds/xds_api.cc
374
- - src/core/ext/filters/client_channel/xds/xds_api.h
375
- - src/core/ext/filters/client_channel/xds/xds_bootstrap.cc
376
- - src/core/ext/filters/client_channel/xds/xds_bootstrap.h
377
- - src/core/ext/filters/client_channel/xds/xds_channel.h
378
- - src/core/ext/filters/client_channel/xds/xds_channel_args.h
379
- - src/core/ext/filters/client_channel/xds/xds_channel_secure.cc
380
- - src/core/ext/filters/client_channel/xds/xds_client.cc
381
- - src/core/ext/filters/client_channel/xds/xds_client.h
382
- - src/core/ext/filters/client_channel/xds/xds_client_stats.cc
383
- - src/core/ext/filters/client_channel/xds/xds_client_stats.h
384
373
  - src/core/ext/filters/client_idle/client_idle_filter.cc
385
374
  - src/core/ext/filters/deadline/deadline_filter.cc
386
375
  - src/core/ext/filters/deadline/deadline_filter.h
@@ -468,110 +457,122 @@ files:
468
457
  - src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h
469
458
  - src/core/ext/upb-generated/envoy/annotations/resource.upb.c
470
459
  - src/core/ext/upb-generated/envoy/annotations/resource.upb.h
471
- - src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c
472
- - src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h
473
- - src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c
474
- - src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h
475
- - src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c
476
- - src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h
477
- - src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c
478
- - src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h
479
- - src/core/ext/upb-generated/envoy/api/v2/cds.upb.c
480
- - src/core/ext/upb-generated/envoy/api/v2/cds.upb.h
481
- - src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c
482
- - src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h
483
- - src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c
484
- - src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h
485
- - src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c
486
- - src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h
487
- - src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c
488
- - src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h
489
- - src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c
490
- - src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h
491
- - src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c
492
- - src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h
493
- - src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c
494
- - src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h
495
- - src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c
496
- - src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h
497
- - src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c
498
- - src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h
499
- - src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c
500
- - src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h
501
- - src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c
502
- - src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h
503
- - src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c
504
- - src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h
505
- - src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c
506
- - src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h
507
- - src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c
508
- - src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h
509
- - src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c
510
- - src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h
511
- - src/core/ext/upb-generated/envoy/api/v2/eds.upb.c
512
- - src/core/ext/upb-generated/envoy/api/v2/eds.upb.h
513
- - src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c
514
- - src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h
515
- - src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c
516
- - src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h
517
- - src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c
518
- - src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h
519
- - src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c
520
- - src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h
521
- - src/core/ext/upb-generated/envoy/api/v2/lds.upb.c
522
- - src/core/ext/upb-generated/envoy/api/v2/lds.upb.h
523
- - src/core/ext/upb-generated/envoy/api/v2/listener.upb.c
524
- - src/core/ext/upb-generated/envoy/api/v2/listener.upb.h
525
- - src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c
526
- - src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h
527
- - src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c
528
- - src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h
529
- - src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c
530
- - src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h
531
- - src/core/ext/upb-generated/envoy/api/v2/rds.upb.c
532
- - src/core/ext/upb-generated/envoy/api/v2/rds.upb.h
533
- - src/core/ext/upb-generated/envoy/api/v2/route.upb.c
534
- - src/core/ext/upb-generated/envoy/api/v2/route.upb.h
535
- - src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c
536
- - src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h
537
- - src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c
538
- - src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h
539
- - src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c
540
- - src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h
541
- - src/core/ext/upb-generated/envoy/api/v2/srds.upb.c
542
- - src/core/ext/upb-generated/envoy/api/v2/srds.upb.h
543
- - src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c
544
- - src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h
545
- - src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c
546
- - src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h
547
- - src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c
548
- - src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h
549
- - src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c
550
- - src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h
551
- - src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c
552
- - src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h
553
- - src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c
554
- - src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h
555
- - src/core/ext/upb-generated/envoy/type/http.upb.c
556
- - src/core/ext/upb-generated/envoy/type/http.upb.h
557
- - src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c
558
- - src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h
559
- - src/core/ext/upb-generated/envoy/type/matcher/string.upb.c
560
- - src/core/ext/upb-generated/envoy/type/matcher/string.upb.h
561
- - src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c
562
- - src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h
563
- - src/core/ext/upb-generated/envoy/type/percent.upb.c
564
- - src/core/ext/upb-generated/envoy/type/percent.upb.h
565
- - src/core/ext/upb-generated/envoy/type/range.upb.c
566
- - src/core/ext/upb-generated/envoy/type/range.upb.h
567
- - src/core/ext/upb-generated/envoy/type/semantic_version.upb.c
568
- - src/core/ext/upb-generated/envoy/type/semantic_version.upb.h
569
- - src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c
570
- - src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h
571
- - src/core/ext/upb-generated/gogoproto/gogo.upb.c
572
- - src/core/ext/upb-generated/gogoproto/gogo.upb.h
460
+ - src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
461
+ - src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h
462
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
463
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h
464
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
465
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h
466
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
467
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h
468
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
469
+ - src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h
470
+ - src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
471
+ - src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h
472
+ - src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
473
+ - src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h
474
+ - src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
475
+ - src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h
476
+ - src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
477
+ - src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h
478
+ - src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
479
+ - src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h
480
+ - src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c
481
+ - src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h
482
+ - src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
483
+ - src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h
484
+ - src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
485
+ - src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h
486
+ - src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
487
+ - src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h
488
+ - src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
489
+ - src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h
490
+ - src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
491
+ - src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h
492
+ - src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
493
+ - src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h
494
+ - src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c
495
+ - src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h
496
+ - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
497
+ - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h
498
+ - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
499
+ - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h
500
+ - src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
501
+ - src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h
502
+ - src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
503
+ - src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h
504
+ - src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
505
+ - src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h
506
+ - src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
507
+ - src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h
508
+ - src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
509
+ - src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h
510
+ - src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
511
+ - src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h
512
+ - src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
513
+ - src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h
514
+ - src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
515
+ - src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h
516
+ - src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
517
+ - src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h
518
+ - src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
519
+ - src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h
520
+ - src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
521
+ - src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h
522
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
523
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h
524
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
525
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h
526
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
527
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h
528
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
529
+ - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h
530
+ - src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
531
+ - src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h
532
+ - src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
533
+ - src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h
534
+ - src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
535
+ - src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h
536
+ - src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
537
+ - src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h
538
+ - src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
539
+ - src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h
540
+ - src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
541
+ - src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h
542
+ - src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
543
+ - src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h
544
+ - src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
545
+ - src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h
546
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
547
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h
548
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
549
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h
550
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
551
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h
552
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
553
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h
554
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
555
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h
556
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
557
+ - src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h
558
+ - src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
559
+ - src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h
560
+ - src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
561
+ - src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h
562
+ - src/core/ext/upb-generated/envoy/type/v3/http.upb.c
563
+ - src/core/ext/upb-generated/envoy/type/v3/http.upb.h
564
+ - src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
565
+ - src/core/ext/upb-generated/envoy/type/v3/percent.upb.h
566
+ - src/core/ext/upb-generated/envoy/type/v3/range.upb.c
567
+ - src/core/ext/upb-generated/envoy/type/v3/range.upb.h
568
+ - src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
569
+ - src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h
573
570
  - src/core/ext/upb-generated/google/api/annotations.upb.c
574
571
  - src/core/ext/upb-generated/google/api/annotations.upb.h
572
+ - src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c
573
+ - src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h
574
+ - src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
575
+ - src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h
575
576
  - src/core/ext/upb-generated/google/api/http.upb.c
576
577
  - src/core/ext/upb-generated/google/api/http.upb.h
577
578
  - src/core/ext/upb-generated/google/protobuf/any.upb.c
@@ -602,14 +603,45 @@ files:
602
603
  - src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h
603
604
  - src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
604
605
  - src/core/ext/upb-generated/udpa/annotations/migrate.upb.h
606
+ - src/core/ext/upb-generated/udpa/annotations/security.upb.c
607
+ - src/core/ext/upb-generated/udpa/annotations/security.upb.h
605
608
  - src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
606
609
  - src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h
607
610
  - src/core/ext/upb-generated/udpa/annotations/status.upb.c
608
611
  - src/core/ext/upb-generated/udpa/annotations/status.upb.h
612
+ - src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
613
+ - src/core/ext/upb-generated/udpa/annotations/versioning.upb.h
614
+ - src/core/ext/upb-generated/udpa/core/v1/authority.upb.c
615
+ - src/core/ext/upb-generated/udpa/core/v1/authority.upb.h
616
+ - src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c
617
+ - src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h
618
+ - src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c
619
+ - src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h
620
+ - src/core/ext/upb-generated/udpa/core/v1/resource.upb.c
621
+ - src/core/ext/upb-generated/udpa/core/v1/resource.upb.h
622
+ - src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c
623
+ - src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h
624
+ - src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c
625
+ - src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h
609
626
  - src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
610
627
  - src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h
611
628
  - src/core/ext/upb-generated/validate/validate.upb.c
612
629
  - src/core/ext/upb-generated/validate/validate.upb.h
630
+ - src/core/ext/xds/certificate_provider_factory.h
631
+ - src/core/ext/xds/certificate_provider_registry.cc
632
+ - src/core/ext/xds/certificate_provider_registry.h
633
+ - src/core/ext/xds/certificate_provider_store.h
634
+ - src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc
635
+ - src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h
636
+ - src/core/ext/xds/xds_api.cc
637
+ - src/core/ext/xds/xds_api.h
638
+ - src/core/ext/xds/xds_bootstrap.cc
639
+ - src/core/ext/xds/xds_bootstrap.h
640
+ - src/core/ext/xds/xds_channel_args.h
641
+ - src/core/ext/xds/xds_client.cc
642
+ - src/core/ext/xds/xds_client.h
643
+ - src/core/ext/xds/xds_client_stats.cc
644
+ - src/core/ext/xds/xds_client_stats.h
613
645
  - src/core/lib/avl/avl.cc
614
646
  - src/core/lib/avl/avl.h
615
647
  - src/core/lib/backoff/backoff.cc
@@ -706,6 +738,7 @@ files:
706
738
  - src/core/lib/gprpp/arena.h
707
739
  - src/core/lib/gprpp/atomic.h
708
740
  - src/core/lib/gprpp/debug_location.h
741
+ - src/core/lib/gprpp/dual_ref_counted.h
709
742
  - src/core/lib/gprpp/fork.cc
710
743
  - src/core/lib/gprpp/fork.h
711
744
  - src/core/lib/gprpp/global_config.h
@@ -809,6 +842,8 @@ files:
809
842
  - src/core/lib/iomgr/lockfree_event.cc
810
843
  - src/core/lib/iomgr/lockfree_event.h
811
844
  - src/core/lib/iomgr/nameser.h
845
+ - src/core/lib/iomgr/parse_address.cc
846
+ - src/core/lib/iomgr/parse_address.h
812
847
  - src/core/lib/iomgr/poller/eventmanager_libuv.cc
813
848
  - src/core/lib/iomgr/poller/eventmanager_libuv.h
814
849
  - src/core/lib/iomgr/polling_entity.cc
@@ -908,10 +943,24 @@ files:
908
943
  - src/core/lib/iomgr/work_serializer.h
909
944
  - src/core/lib/json/json.h
910
945
  - src/core/lib/json/json_reader.cc
946
+ - src/core/lib/json/json_util.cc
947
+ - src/core/lib/json/json_util.h
911
948
  - src/core/lib/json/json_writer.cc
912
949
  - src/core/lib/profiling/basic_timers.cc
913
950
  - src/core/lib/profiling/stap_timers.cc
914
951
  - src/core/lib/profiling/timers.h
952
+ - src/core/lib/security/authorization/authorization_engine.cc
953
+ - src/core/lib/security/authorization/authorization_engine.h
954
+ - src/core/lib/security/authorization/evaluate_args.cc
955
+ - src/core/lib/security/authorization/evaluate_args.h
956
+ - src/core/lib/security/authorization/mock_cel/activation.h
957
+ - src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h
958
+ - src/core/lib/security/authorization/mock_cel/cel_expression.h
959
+ - src/core/lib/security/authorization/mock_cel/cel_value.h
960
+ - src/core/lib/security/authorization/mock_cel/evaluator_core.h
961
+ - src/core/lib/security/authorization/mock_cel/flat_expr_builder.h
962
+ - src/core/lib/security/authorization/mock_cel/statusor.h
963
+ - src/core/lib/security/certificate_provider.h
915
964
  - src/core/lib/security/context/security_context.cc
916
965
  - src/core/lib/security/context/security_context.h
917
966
  - src/core/lib/security/credentials/alts/alts_credentials.cc
@@ -951,10 +1000,14 @@ files:
951
1000
  - src/core/lib/security/credentials/plugin/plugin_credentials.h
952
1001
  - src/core/lib/security/credentials/ssl/ssl_credentials.cc
953
1002
  - src/core/lib/security/credentials/ssl/ssl_credentials.h
1003
+ - src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc
1004
+ - src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h
954
1005
  - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
955
1006
  - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h
956
1007
  - src/core/lib/security/credentials/tls/tls_credentials.cc
957
1008
  - src/core/lib/security/credentials/tls/tls_credentials.h
1009
+ - src/core/lib/security/credentials/xds/xds_credentials.cc
1010
+ - src/core/lib/security/credentials/xds/xds_credentials.h
958
1011
  - src/core/lib/security/security_connector/alts/alts_security_connector.cc
959
1012
  - src/core/lib/security/security_connector/alts/alts_security_connector.h
960
1013
  - src/core/lib/security/security_connector/fake/fake_security_connector.cc
@@ -982,8 +1035,6 @@ files:
982
1035
  - src/core/lib/security/transport/security_handshaker.cc
983
1036
  - src/core/lib/security/transport/security_handshaker.h
984
1037
  - src/core/lib/security/transport/server_auth_filter.cc
985
- - src/core/lib/security/transport/target_authority_table.cc
986
- - src/core/lib/security/transport/target_authority_table.h
987
1038
  - src/core/lib/security/transport/tsi_error.cc
988
1039
  - src/core/lib/security/transport/tsi_error.h
989
1040
  - src/core/lib/security/util/json_util.cc
@@ -994,13 +1045,11 @@ files:
994
1045
  - src/core/lib/slice/percent_encoding.h
995
1046
  - src/core/lib/slice/slice.cc
996
1047
  - src/core/lib/slice/slice_buffer.cc
997
- - src/core/lib/slice/slice_hash_table.h
998
1048
  - src/core/lib/slice/slice_intern.cc
999
1049
  - src/core/lib/slice/slice_internal.h
1000
1050
  - src/core/lib/slice/slice_string_helpers.cc
1001
1051
  - src/core/lib/slice/slice_string_helpers.h
1002
1052
  - src/core/lib/slice/slice_utils.h
1003
- - src/core/lib/slice/slice_weak_hash_table.h
1004
1053
  - src/core/lib/surface/api_trace.cc
1005
1054
  - src/core/lib/surface/api_trace.h
1006
1055
  - src/core/lib/surface/byte_buffer.cc
@@ -1034,6 +1083,8 @@ files:
1034
1083
  - src/core/lib/surface/validate_metadata.cc
1035
1084
  - src/core/lib/surface/validate_metadata.h
1036
1085
  - src/core/lib/surface/version.cc
1086
+ - src/core/lib/transport/authority_override.cc
1087
+ - src/core/lib/transport/authority_override.h
1037
1088
  - src/core/lib/transport/bdp_estimator.cc
1038
1089
  - src/core/lib/transport/bdp_estimator.h
1039
1090
  - src/core/lib/transport/byte_stream.cc
@@ -1211,6 +1262,8 @@ files:
1211
1262
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
1212
1263
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
1213
1264
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
1265
+ - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
1266
+ - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
1214
1267
  - src/ruby/spec/pb/codegen/package_option_spec.rb
1215
1268
  - src/ruby/spec/pb/duplicate/codegen_spec.rb
1216
1269
  - src/ruby/spec/pb/health/checker_spec.rb
@@ -1226,7 +1279,9 @@ files:
1226
1279
  - src/ruby/spec/testdata/server1.key
1227
1280
  - src/ruby/spec/testdata/server1.pem
1228
1281
  - src/ruby/spec/time_consts_spec.rb
1282
+ - src/ruby/spec/user_agent_spec.rb
1229
1283
  - third_party/abseil-cpp/absl/algorithm/algorithm.h
1284
+ - third_party/abseil-cpp/absl/algorithm/container.h
1230
1285
  - third_party/abseil-cpp/absl/base/attributes.h
1231
1286
  - third_party/abseil-cpp/absl/base/call_once.h
1232
1287
  - third_party/abseil-cpp/absl/base/casts.h
@@ -1238,12 +1293,17 @@ files:
1238
1293
  - third_party/abseil-cpp/absl/base/internal/bits.h
1239
1294
  - third_party/abseil-cpp/absl/base/internal/cycleclock.cc
1240
1295
  - third_party/abseil-cpp/absl/base/internal/cycleclock.h
1296
+ - third_party/abseil-cpp/absl/base/internal/direct_mmap.h
1241
1297
  - third_party/abseil-cpp/absl/base/internal/endian.h
1242
1298
  - third_party/abseil-cpp/absl/base/internal/errno_saver.h
1299
+ - third_party/abseil-cpp/absl/base/internal/exponential_biased.cc
1300
+ - third_party/abseil-cpp/absl/base/internal/exponential_biased.h
1243
1301
  - third_party/abseil-cpp/absl/base/internal/hide_ptr.h
1244
1302
  - third_party/abseil-cpp/absl/base/internal/identity.h
1245
1303
  - third_party/abseil-cpp/absl/base/internal/inline_variable.h
1246
1304
  - third_party/abseil-cpp/absl/base/internal/invoke.h
1305
+ - third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc
1306
+ - third_party/abseil-cpp/absl/base/internal/low_level_alloc.h
1247
1307
  - third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h
1248
1308
  - third_party/abseil-cpp/absl/base/internal/per_thread_tls.h
1249
1309
  - third_party/abseil-cpp/absl/base/internal/raw_logging.cc
@@ -1276,19 +1336,70 @@ files:
1276
1336
  - third_party/abseil-cpp/absl/base/policy_checks.h
1277
1337
  - third_party/abseil-cpp/absl/base/port.h
1278
1338
  - third_party/abseil-cpp/absl/base/thread_annotations.h
1339
+ - third_party/abseil-cpp/absl/container/fixed_array.h
1340
+ - third_party/abseil-cpp/absl/container/flat_hash_set.h
1279
1341
  - third_party/abseil-cpp/absl/container/inlined_vector.h
1342
+ - third_party/abseil-cpp/absl/container/internal/common.h
1280
1343
  - third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
1344
+ - third_party/abseil-cpp/absl/container/internal/container_memory.h
1345
+ - third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h
1346
+ - third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h
1347
+ - third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h
1348
+ - third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc
1349
+ - third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h
1350
+ - third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc
1351
+ - third_party/abseil-cpp/absl/container/internal/have_sse.h
1281
1352
  - third_party/abseil-cpp/absl/container/internal/inlined_vector.h
1353
+ - third_party/abseil-cpp/absl/container/internal/layout.h
1354
+ - third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc
1355
+ - third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
1356
+ - third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc
1357
+ - third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h
1358
+ - third_party/abseil-cpp/absl/debugging/internal/demangle.cc
1359
+ - third_party/abseil-cpp/absl/debugging/internal/demangle.h
1360
+ - third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc
1361
+ - third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
1362
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc
1363
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc
1364
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
1365
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc
1366
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc
1367
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc
1368
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc
1369
+ - third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc
1370
+ - third_party/abseil-cpp/absl/debugging/internal/symbolize.h
1371
+ - third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc
1372
+ - third_party/abseil-cpp/absl/debugging/internal/vdso_support.h
1373
+ - third_party/abseil-cpp/absl/debugging/stacktrace.cc
1374
+ - third_party/abseil-cpp/absl/debugging/stacktrace.h
1375
+ - third_party/abseil-cpp/absl/debugging/symbolize.cc
1376
+ - third_party/abseil-cpp/absl/debugging/symbolize.h
1377
+ - third_party/abseil-cpp/absl/debugging/symbolize_elf.inc
1378
+ - third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc
1379
+ - third_party/abseil-cpp/absl/debugging/symbolize_win32.inc
1380
+ - third_party/abseil-cpp/absl/functional/function_ref.h
1381
+ - third_party/abseil-cpp/absl/functional/internal/function_ref.h
1382
+ - third_party/abseil-cpp/absl/hash/hash.h
1383
+ - third_party/abseil-cpp/absl/hash/internal/city.cc
1384
+ - third_party/abseil-cpp/absl/hash/internal/city.h
1385
+ - third_party/abseil-cpp/absl/hash/internal/hash.cc
1386
+ - third_party/abseil-cpp/absl/hash/internal/hash.h
1282
1387
  - third_party/abseil-cpp/absl/memory/memory.h
1283
1388
  - third_party/abseil-cpp/absl/meta/type_traits.h
1284
1389
  - third_party/abseil-cpp/absl/numeric/int128.cc
1285
1390
  - third_party/abseil-cpp/absl/numeric/int128.h
1286
1391
  - third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc
1287
1392
  - third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc
1393
+ - third_party/abseil-cpp/absl/status/status.cc
1394
+ - third_party/abseil-cpp/absl/status/status.h
1395
+ - third_party/abseil-cpp/absl/status/status_payload_printer.cc
1396
+ - third_party/abseil-cpp/absl/status/status_payload_printer.h
1288
1397
  - third_party/abseil-cpp/absl/strings/ascii.cc
1289
1398
  - third_party/abseil-cpp/absl/strings/ascii.h
1290
1399
  - third_party/abseil-cpp/absl/strings/charconv.cc
1291
1400
  - third_party/abseil-cpp/absl/strings/charconv.h
1401
+ - third_party/abseil-cpp/absl/strings/cord.cc
1402
+ - third_party/abseil-cpp/absl/strings/cord.h
1292
1403
  - third_party/abseil-cpp/absl/strings/escaping.cc
1293
1404
  - third_party/abseil-cpp/absl/strings/escaping.h
1294
1405
  - third_party/abseil-cpp/absl/strings/internal/char_map.h
@@ -1296,6 +1407,7 @@ files:
1296
1407
  - third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h
1297
1408
  - third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
1298
1409
  - third_party/abseil-cpp/absl/strings/internal/charconv_parse.h
1410
+ - third_party/abseil-cpp/absl/strings/internal/cord_internal.h
1299
1411
  - third_party/abseil-cpp/absl/strings/internal/escaping.cc
1300
1412
  - third_party/abseil-cpp/absl/strings/internal/escaping.h
1301
1413
  - third_party/abseil-cpp/absl/strings/internal/memutil.cc
@@ -1338,6 +1450,24 @@ files:
1338
1450
  - third_party/abseil-cpp/absl/strings/strip.h
1339
1451
  - third_party/abseil-cpp/absl/strings/substitute.cc
1340
1452
  - third_party/abseil-cpp/absl/strings/substitute.h
1453
+ - third_party/abseil-cpp/absl/synchronization/barrier.cc
1454
+ - third_party/abseil-cpp/absl/synchronization/barrier.h
1455
+ - third_party/abseil-cpp/absl/synchronization/blocking_counter.cc
1456
+ - third_party/abseil-cpp/absl/synchronization/blocking_counter.h
1457
+ - third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc
1458
+ - third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h
1459
+ - third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
1460
+ - third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h
1461
+ - third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h
1462
+ - third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc
1463
+ - third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc
1464
+ - third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h
1465
+ - third_party/abseil-cpp/absl/synchronization/internal/waiter.cc
1466
+ - third_party/abseil-cpp/absl/synchronization/internal/waiter.h
1467
+ - third_party/abseil-cpp/absl/synchronization/mutex.cc
1468
+ - third_party/abseil-cpp/absl/synchronization/mutex.h
1469
+ - third_party/abseil-cpp/absl/synchronization/notification.cc
1470
+ - third_party/abseil-cpp/absl/synchronization/notification.h
1341
1471
  - third_party/abseil-cpp/absl/time/civil_time.cc
1342
1472
  - third_party/abseil-cpp/absl/time/civil_time.h
1343
1473
  - third_party/abseil-cpp/absl/time/clock.cc
@@ -1371,10 +1501,14 @@ files:
1371
1501
  - third_party/abseil-cpp/absl/time/time.h
1372
1502
  - third_party/abseil-cpp/absl/types/bad_optional_access.cc
1373
1503
  - third_party/abseil-cpp/absl/types/bad_optional_access.h
1504
+ - third_party/abseil-cpp/absl/types/bad_variant_access.cc
1505
+ - third_party/abseil-cpp/absl/types/bad_variant_access.h
1374
1506
  - third_party/abseil-cpp/absl/types/internal/optional.h
1375
1507
  - third_party/abseil-cpp/absl/types/internal/span.h
1508
+ - third_party/abseil-cpp/absl/types/internal/variant.h
1376
1509
  - third_party/abseil-cpp/absl/types/optional.h
1377
1510
  - third_party/abseil-cpp/absl/types/span.h
1511
+ - third_party/abseil-cpp/absl/types/variant.h
1378
1512
  - third_party/abseil-cpp/absl/utility/utility.h
1379
1513
  - third_party/address_sorting/address_sorting.c
1380
1514
  - third_party/address_sorting/address_sorting_internal.h
@@ -1471,6 +1605,7 @@ files:
1471
1605
  - third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c
1472
1606
  - third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c
1473
1607
  - third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c
1608
+ - third_party/boringssl-with-bazel/src/crypto/dsa/internal.h
1474
1609
  - third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c
1475
1610
  - third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c
1476
1611
  - third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c
@@ -1594,6 +1729,8 @@ files:
1594
1729
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h
1595
1730
  - third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c
1596
1731
  - third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c
1732
+ - third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c
1733
+ - third_party/boringssl-with-bazel/src/crypto/hpke/internal.h
1597
1734
  - third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c
1598
1735
  - third_party/boringssl-with-bazel/src/crypto/hrss/internal.h
1599
1736
  - third_party/boringssl-with-bazel/src/crypto/internal.h
@@ -1723,12 +1860,10 @@ files:
1723
1860
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c
1724
1861
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c
1725
1862
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c
1726
- - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c
1727
1863
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c
1728
1864
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c
1729
1865
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c
1730
1866
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c
1731
- - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c
1732
1867
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c
1733
1868
  - third_party/boringssl-with-bazel/src/include/openssl/aead.h
1734
1869
  - third_party/boringssl-with-bazel/src/include/openssl/aes.h
@@ -1924,6 +2059,55 @@ files:
1924
2059
  - third_party/cares/config_freebsd/ares_config.h
1925
2060
  - third_party/cares/config_linux/ares_config.h
1926
2061
  - third_party/cares/config_openbsd/ares_config.h
2062
+ - third_party/re2/re2/bitmap256.h
2063
+ - third_party/re2/re2/bitstate.cc
2064
+ - third_party/re2/re2/compile.cc
2065
+ - third_party/re2/re2/dfa.cc
2066
+ - third_party/re2/re2/filtered_re2.cc
2067
+ - third_party/re2/re2/filtered_re2.h
2068
+ - third_party/re2/re2/mimics_pcre.cc
2069
+ - third_party/re2/re2/nfa.cc
2070
+ - third_party/re2/re2/onepass.cc
2071
+ - third_party/re2/re2/parse.cc
2072
+ - third_party/re2/re2/perl_groups.cc
2073
+ - third_party/re2/re2/pod_array.h
2074
+ - third_party/re2/re2/prefilter.cc
2075
+ - third_party/re2/re2/prefilter.h
2076
+ - third_party/re2/re2/prefilter_tree.cc
2077
+ - third_party/re2/re2/prefilter_tree.h
2078
+ - third_party/re2/re2/prog.cc
2079
+ - third_party/re2/re2/prog.h
2080
+ - third_party/re2/re2/re2.cc
2081
+ - third_party/re2/re2/re2.h
2082
+ - third_party/re2/re2/regexp.cc
2083
+ - third_party/re2/re2/regexp.h
2084
+ - third_party/re2/re2/set.cc
2085
+ - third_party/re2/re2/set.h
2086
+ - third_party/re2/re2/simplify.cc
2087
+ - third_party/re2/re2/sparse_array.h
2088
+ - third_party/re2/re2/sparse_set.h
2089
+ - third_party/re2/re2/stringpiece.cc
2090
+ - third_party/re2/re2/stringpiece.h
2091
+ - third_party/re2/re2/tostring.cc
2092
+ - third_party/re2/re2/unicode_casefold.cc
2093
+ - third_party/re2/re2/unicode_casefold.h
2094
+ - third_party/re2/re2/unicode_groups.cc
2095
+ - third_party/re2/re2/unicode_groups.h
2096
+ - third_party/re2/re2/walker-inl.h
2097
+ - third_party/re2/util/benchmark.h
2098
+ - third_party/re2/util/flags.h
2099
+ - third_party/re2/util/logging.h
2100
+ - third_party/re2/util/malloc_counter.h
2101
+ - third_party/re2/util/mix.h
2102
+ - third_party/re2/util/mutex.h
2103
+ - third_party/re2/util/pcre.cc
2104
+ - third_party/re2/util/pcre.h
2105
+ - third_party/re2/util/rune.cc
2106
+ - third_party/re2/util/strutil.cc
2107
+ - third_party/re2/util/strutil.h
2108
+ - third_party/re2/util/test.h
2109
+ - third_party/re2/util/utf.h
2110
+ - third_party/re2/util/util.h
1927
2111
  - third_party/upb/upb/decode.c
1928
2112
  - third_party/upb/upb/decode.h
1929
2113
  - third_party/upb/upb/encode.c
@@ -1990,43 +2174,46 @@ signing_key:
1990
2174
  specification_version: 4
1991
2175
  summary: GRPC system in Ruby
1992
2176
  test_files:
1993
- - src/ruby/spec/support/services.rb
1994
- - src/ruby/spec/support/helpers.rb
1995
- - src/ruby/spec/testdata/README
2177
+ - src/ruby/spec/testdata/server1.key
1996
2178
  - src/ruby/spec/testdata/server1.pem
1997
- - src/ruby/spec/testdata/ca.pem
1998
2179
  - src/ruby/spec/testdata/client.pem
2180
+ - src/ruby/spec/testdata/ca.pem
1999
2181
  - src/ruby/spec/testdata/client.key
2000
- - src/ruby/spec/testdata/server1.key
2001
- - src/ruby/spec/client_server_spec.rb
2002
- - src/ruby/spec/call_credentials_spec.rb
2182
+ - src/ruby/spec/testdata/README
2183
+ - src/ruby/spec/server_credentials_spec.rb
2184
+ - src/ruby/spec/error_sanity_spec.rb
2003
2185
  - src/ruby/spec/call_spec.rb
2004
- - src/ruby/spec/debug_message_spec.rb
2005
- - src/ruby/spec/channel_connection_spec.rb
2006
- - src/ruby/spec/spec_helper.rb
2007
- - src/ruby/spec/google_rpc_status_utils_spec.rb
2008
- - src/ruby/spec/server_spec.rb
2009
- - src/ruby/spec/time_consts_spec.rb
2010
2186
  - src/ruby/spec/client_auth_spec.rb
2011
- - src/ruby/spec/channel_spec.rb
2187
+ - src/ruby/spec/call_credentials_spec.rb
2188
+ - src/ruby/spec/pb/health/checker_spec.rb
2012
2189
  - src/ruby/spec/pb/duplicate/codegen_spec.rb
2013
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
2014
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
2015
2190
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
2191
+ - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
2192
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
2016
2193
  - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
2194
+ - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
2195
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
2017
2196
  - src/ruby/spec/pb/codegen/package_option_spec.rb
2018
- - src/ruby/spec/pb/health/checker_spec.rb
2019
- - src/ruby/spec/error_sanity_spec.rb
2020
- - src/ruby/spec/errors_spec.rb
2021
- - src/ruby/spec/server_credentials_spec.rb
2022
- - src/ruby/spec/compression_options_spec.rb
2023
- - src/ruby/spec/generic/rpc_server_pool_spec.rb
2024
- - src/ruby/spec/generic/server_interceptors_spec.rb
2197
+ - src/ruby/spec/spec_helper.rb
2198
+ - src/ruby/spec/channel_connection_spec.rb
2025
2199
  - src/ruby/spec/generic/client_interceptors_spec.rb
2026
- - src/ruby/spec/generic/rpc_server_spec.rb
2027
2200
  - src/ruby/spec/generic/interceptor_registry_spec.rb
2028
- - src/ruby/spec/generic/client_stub_spec.rb
2201
+ - src/ruby/spec/generic/rpc_server_spec.rb
2029
2202
  - src/ruby/spec/generic/active_call_spec.rb
2030
- - src/ruby/spec/generic/rpc_desc_spec.rb
2203
+ - src/ruby/spec/generic/client_stub_spec.rb
2031
2204
  - src/ruby/spec/generic/service_spec.rb
2205
+ - src/ruby/spec/generic/server_interceptors_spec.rb
2206
+ - src/ruby/spec/generic/rpc_desc_spec.rb
2207
+ - src/ruby/spec/generic/rpc_server_pool_spec.rb
2208
+ - src/ruby/spec/channel_spec.rb
2209
+ - src/ruby/spec/support/services.rb
2210
+ - src/ruby/spec/support/helpers.rb
2211
+ - src/ruby/spec/time_consts_spec.rb
2212
+ - src/ruby/spec/client_server_spec.rb
2213
+ - src/ruby/spec/user_agent_spec.rb
2032
2214
  - src/ruby/spec/channel_credentials_spec.rb
2215
+ - src/ruby/spec/google_rpc_status_utils_spec.rb
2216
+ - src/ruby/spec/compression_options_spec.rb
2217
+ - src/ruby/spec/server_spec.rb
2218
+ - src/ruby/spec/errors_spec.rb
2219
+ - src/ruby/spec/debug_message_spec.rb