grpc 1.44.0.pre2 → 1.45.0

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

Potentially problematic release.


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

Files changed (1072) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +291 -178
  3. data/include/grpc/event_engine/event_engine.h +2 -2
  4. data/include/grpc/grpc.h +40 -14
  5. data/include/grpc/grpc_posix.h +20 -19
  6. data/include/grpc/grpc_security.h +26 -50
  7. data/include/grpc/impl/codegen/grpc_types.h +11 -8
  8. data/include/grpc/impl/codegen/port_platform.h +2 -2
  9. data/include/grpc/impl/codegen/slice.h +4 -1
  10. data/include/grpc/slice.h +0 -11
  11. data/src/core/ext/filters/client_channel/backend_metric.cc +3 -3
  12. data/src/core/ext/filters/client_channel/backup_poller.cc +12 -8
  13. data/src/core/ext/filters/client_channel/channel_connectivity.cc +5 -5
  14. data/src/core/ext/filters/client_channel/client_channel.cc +79 -57
  15. data/src/core/ext/filters/client_channel/client_channel.h +30 -29
  16. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +5 -11
  17. data/src/core/ext/filters/client_channel/connector.h +1 -1
  18. data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -2
  19. data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
  20. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
  21. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -15
  22. data/src/core/ext/filters/client_channel/health/health_check_client.cc +16 -17
  23. data/src/core/ext/filters/client_channel/health/health_check_client.h +1 -1
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +9 -12
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +1 -0
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +68 -47
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +15 -15
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
  29. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +7 -3
  30. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +22 -17
  31. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +119 -82
  32. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +2 -2
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +9 -4
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +51 -24
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +19 -12
  37. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +7 -13
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +62 -49
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +18 -19
  40. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +41 -43
  41. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -7
  42. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +82 -57
  43. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +35 -34
  44. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +35 -36
  45. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
  46. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
  47. data/src/core/ext/filters/client_channel/retry_filter.cc +219 -125
  48. data/src/core/ext/filters/client_channel/retry_service_config.cc +15 -17
  49. data/src/core/ext/filters/client_channel/retry_service_config.h +17 -11
  50. data/src/core/ext/filters/client_channel/retry_throttle.cc +9 -23
  51. data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
  52. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +7 -6
  53. data/src/core/ext/filters/client_channel/subchannel.cc +35 -38
  54. data/src/core/ext/filters/client_channel/subchannel.h +5 -4
  55. data/src/core/ext/filters/client_idle/client_idle_filter.cc +96 -159
  56. data/src/core/ext/filters/client_idle/idle_filter_state.h +2 -2
  57. data/src/core/ext/filters/deadline/deadline_filter.cc +15 -14
  58. data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
  59. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +17 -11
  60. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  61. data/src/core/ext/filters/fault_injection/service_config_parser.h +9 -3
  62. data/src/core/ext/filters/http/client/http_client_filter.cc +7 -3
  63. data/src/core/ext/filters/http/client_authority_filter.cc +28 -71
  64. data/src/core/ext/filters/http/client_authority_filter.h +23 -5
  65. data/src/core/ext/filters/http/http_filters_plugin.cc +11 -12
  66. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
  67. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +10 -2
  68. data/src/core/ext/filters/http/server/http_server_filter.cc +1 -0
  69. data/src/core/ext/filters/max_age/max_age_filter.cc +46 -40
  70. data/src/core/ext/filters/message_size/message_size_filter.cc +26 -34
  71. data/src/core/ext/filters/message_size/message_size_filter.h +9 -2
  72. data/src/core/ext/filters/rbac/rbac_filter.cc +13 -8
  73. data/src/core/ext/filters/rbac/rbac_filter.h +2 -0
  74. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +6 -5
  75. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +6 -1
  76. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +1 -0
  77. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +234 -0
  78. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +149 -7
  79. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +110 -47
  80. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -2
  81. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
  82. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  83. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
  84. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +5 -0
  85. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -2
  86. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
  87. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +15 -51
  88. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +2 -2
  89. data/src/core/ext/transport/chttp2/transport/internal.h +6 -6
  90. data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -3
  91. data/src/core/ext/transport/chttp2/transport/writing.cc +15 -12
  92. data/src/core/ext/transport/inproc/inproc_transport.cc +16 -12
  93. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +114 -0
  94. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +402 -0
  95. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +119 -0
  96. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +453 -0
  97. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +165 -163
  98. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +798 -575
  99. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  100. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +138 -0
  101. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
  102. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +146 -0
  103. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  104. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +106 -0
  105. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  106. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +93 -0
  107. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  108. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +88 -0
  109. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +103 -0
  110. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +466 -0
  111. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  112. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +95 -0
  113. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -20
  114. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +17 -16
  115. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +15 -13
  116. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +31 -23
  117. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +90 -88
  118. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +421 -317
  119. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +156 -152
  120. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +787 -571
  121. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +27 -25
  122. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +115 -79
  123. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +206 -204
  124. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +954 -662
  125. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
  126. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +33 -23
  127. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +29 -27
  128. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +127 -79
  129. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +290 -0
  130. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1122 -0
  131. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +49 -47
  132. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +221 -159
  133. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +10 -8
  134. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +33 -23
  135. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +154 -151
  136. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +691 -499
  137. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +39 -37
  138. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +178 -130
  139. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
  140. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +25 -19
  141. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +18 -16
  142. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +74 -53
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +138 -0
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +100 -98
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +449 -329
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +77 -75
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +365 -264
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +36 -26
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +140 -105
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +675 -345
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +25 -17
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +59 -42
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +13 -11
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +39 -25
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +14 -12
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +45 -35
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +10 -8
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +34 -24
  163. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +31 -29
  164. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +113 -85
  165. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +47 -45
  166. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +210 -151
  167. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +48 -46
  168. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +210 -142
  169. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
  170. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +28 -20
  171. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +58 -54
  172. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +282 -193
  173. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +64 -62
  174. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +286 -218
  175. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +15 -13
  176. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +62 -42
  177. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +12 -10
  178. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +54 -39
  179. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  180. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +120 -0
  181. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +55 -53
  182. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +244 -185
  183. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +57 -55
  184. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +260 -192
  185. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +70 -68
  186. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +235 -191
  187. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +30 -28
  188. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +142 -112
  189. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +435 -428
  190. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2037 -1507
  191. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
  192. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +107 -64
  193. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +216 -0
  194. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +870 -0
  195. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  196. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +82 -0
  197. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  198. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +95 -0
  199. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
  200. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +55 -40
  201. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  202. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +119 -0
  203. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +62 -0
  204. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +203 -0
  205. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  206. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +89 -0
  207. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  208. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +184 -0
  209. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
  210. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +192 -0
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +126 -0
  215. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
  216. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +29 -23
  217. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +26 -24
  218. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +125 -93
  219. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +33 -31
  220. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +149 -105
  221. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +16 -14
  222. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +63 -44
  223. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +15 -13
  224. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +53 -37
  225. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +175 -173
  226. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +803 -559
  227. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
  228. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  229. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +75 -52
  230. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +368 -194
  231. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +24 -22
  232. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +95 -71
  233. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +60 -58
  234. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +266 -193
  235. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  236. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +146 -0
  237. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
  238. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -16
  239. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +64 -62
  240. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +297 -218
  241. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
  242. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +73 -54
  243. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +46 -44
  244. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +197 -145
  245. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  246. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +101 -0
  247. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +19 -17
  248. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +91 -70
  249. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  250. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +202 -0
  251. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
  252. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +64 -47
  253. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
  254. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +34 -26
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +25 -19
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
  258. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +25 -19
  259. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
  260. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +85 -61
  261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +65 -52
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +56 -43
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +21 -19
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +74 -58
  267. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +30 -28
  268. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +163 -125
  269. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +34 -32
  270. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +157 -113
  271. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  272. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +183 -0
  273. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
  274. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  275. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  276. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +136 -0
  277. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
  278. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +51 -34
  279. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
  280. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +80 -52
  281. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  282. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  283. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
  284. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +31 -19
  285. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  286. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +114 -0
  287. data/src/core/ext/upb-generated/google/api/annotations.upb.c +10 -8
  288. data/src/core/ext/upb-generated/google/api/annotations.upb.h +6 -5
  289. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +100 -98
  290. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +371 -281
  291. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +110 -108
  292. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +409 -298
  293. data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
  294. data/src/core/ext/upb-generated/google/api/http.upb.h +117 -89
  295. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  296. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +99 -0
  297. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
  298. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +32 -22
  299. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +287 -234
  300. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1088 -764
  301. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
  302. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +28 -18
  303. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
  304. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -16
  305. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +30 -28
  306. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +80 -64
  307. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
  308. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +28 -18
  309. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
  310. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +213 -149
  311. data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
  312. data/src/core/ext/upb-generated/google/rpc/status.upb.h +36 -26
  313. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  314. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +276 -0
  315. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +20 -18
  316. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +60 -42
  317. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +95 -93
  318. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +396 -285
  319. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +15 -13
  320. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +58 -39
  321. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
  322. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +50 -35
  323. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +55 -53
  324. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +255 -183
  325. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
  326. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +76 -57
  327. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +46 -44
  328. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +102 -78
  329. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +16 -14
  330. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +32 -22
  331. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +9 -7
  332. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +6 -5
  333. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +16 -14
  334. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +32 -22
  335. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +15 -13
  336. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +31 -23
  337. data/src/core/ext/upb-generated/validate/validate.upb.c +320 -304
  338. data/src/core/ext/upb-generated/validate/validate.upb.h +1114 -741
  339. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  340. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +191 -0
  341. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  342. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +87 -0
  343. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  344. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +38 -0
  345. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +40 -38
  346. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +109 -78
  347. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  348. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +81 -0
  349. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
  350. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +27 -19
  351. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +17 -15
  352. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +63 -46
  353. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
  354. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +31 -25
  355. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  356. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +95 -0
  357. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +11 -9
  358. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +39 -27
  359. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
  360. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +73 -54
  361. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
  362. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +43 -29
  363. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +23 -21
  364. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +43 -31
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +203 -0
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +726 -0
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +132 -0
  369. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  370. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +173 -0
  371. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -8
  372. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +33 -23
  373. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  374. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  375. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  376. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  377. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +14 -12
  378. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
  379. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  380. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  381. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
  382. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  383. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  384. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  385. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  386. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  387. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  393. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
  394. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  395. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
  396. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  397. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +20 -17
  398. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  399. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +248 -240
  400. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  401. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +16 -13
  402. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  403. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +375 -371
  404. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
  405. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
  406. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  407. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -13
  408. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  409. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  410. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  411. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +15 -13
  412. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  413. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
  414. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  415. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +85 -80
  416. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  417. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +18 -16
  418. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +16 -16
  419. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
  420. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  421. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +15 -12
  422. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +7 -7
  423. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  424. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  425. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +23 -20
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +25 -25
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +250 -221
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +14 -11
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +18 -15
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  443. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
  444. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  445. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +19 -16
  446. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  447. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
  448. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  449. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
  450. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  451. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +52 -45
  452. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
  453. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +23 -20
  454. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  455. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +19 -16
  456. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  457. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +15 -12
  458. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  459. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  460. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  461. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
  462. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  463. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
  464. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  465. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +23 -21
  466. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +25 -25
  467. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +19 -16
  468. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  469. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +816 -801
  470. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
  471. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
  472. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  473. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
  474. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
  475. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  476. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  477. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  478. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  479. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
  480. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  481. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  482. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  483. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  484. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  485. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  486. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  487. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  488. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  489. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  495. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
  496. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  497. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
  498. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  499. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
  500. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  501. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +14 -11
  502. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +7 -7
  503. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +17 -13
  504. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  505. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +135 -130
  506. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +58 -58
  507. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
  508. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  509. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +169 -140
  510. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  511. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +21 -17
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +19 -19
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  517. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
  518. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  519. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
  520. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
  521. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
  522. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  523. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +20 -17
  524. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  525. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  526. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  527. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
  528. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  529. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  530. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  531. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
  532. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  533. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
  534. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  535. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
  536. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  537. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
  538. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  539. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -12
  540. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  541. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
  542. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  543. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
  544. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  545. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
  546. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  547. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
  548. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  549. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
  550. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  551. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  552. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  553. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
  554. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  555. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  556. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  557. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
  558. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  559. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
  560. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  561. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  562. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  563. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
  564. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  565. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  566. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  567. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
  568. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  569. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +6 -6
  570. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +40 -40
  571. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +6 -6
  572. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +43 -43
  573. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
  574. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  575. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  576. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  577. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
  578. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  579. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +3 -3
  580. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  581. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
  582. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  583. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
  584. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  585. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
  586. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  587. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
  588. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  589. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
  590. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  591. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  592. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  593. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  594. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  595. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
  596. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  597. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
  598. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  599. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
  600. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  601. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
  602. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  603. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
  604. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  605. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
  606. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  607. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  608. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  609. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  610. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  611. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  612. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  613. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
  614. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  615. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  616. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  617. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
  618. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  619. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
  620. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  621. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
  622. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  623. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  624. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  625. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
  626. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  627. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
  628. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  629. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
  630. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  631. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  632. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  633. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  634. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  635. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  636. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  637. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -5
  638. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  639. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
  640. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  641. data/src/core/ext/xds/upb_utils.h +8 -6
  642. data/src/core/ext/xds/xds_api.cc +52 -35
  643. data/src/core/ext/xds/xds_api.h +4 -4
  644. data/src/core/ext/xds/xds_bootstrap.cc +35 -3
  645. data/src/core/ext/xds/xds_bootstrap.h +11 -0
  646. data/src/core/ext/xds/xds_channel_stack_modifier.cc +14 -17
  647. data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -3
  648. data/src/core/ext/xds/xds_client.cc +141 -106
  649. data/src/core/ext/xds/xds_client.h +23 -15
  650. data/src/core/ext/xds/xds_client_stats.cc +15 -15
  651. data/src/core/ext/xds/xds_client_stats.h +5 -4
  652. data/src/core/ext/xds/xds_cluster.cc +18 -16
  653. data/src/core/ext/xds/xds_cluster.h +3 -6
  654. data/src/core/ext/xds/xds_common_types.cc +1 -1
  655. data/src/core/ext/xds/xds_common_types.h +5 -20
  656. data/src/core/ext/xds/xds_endpoint.cc +2 -2
  657. data/src/core/ext/xds/xds_endpoint.h +1 -1
  658. data/src/core/ext/xds/xds_http_fault_filter.cc +6 -6
  659. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  660. data/src/core/ext/xds/xds_http_filters.cc +6 -5
  661. data/src/core/ext/xds/xds_http_filters.h +4 -4
  662. data/src/core/ext/xds/xds_http_rbac_filter.cc +5 -5
  663. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  664. data/src/core/ext/xds/xds_listener.cc +14 -11
  665. data/src/core/ext/xds/xds_listener.h +1 -1
  666. data/src/core/ext/xds/xds_resource_type.h +1 -1
  667. data/src/core/ext/xds/xds_route_config.cc +13 -21
  668. data/src/core/ext/xds/xds_route_config.h +1 -1
  669. data/src/core/ext/xds/xds_routing.cc +1 -1
  670. data/src/core/ext/xds/xds_server_config_fetcher.cc +3 -2
  671. data/src/core/lib/backoff/backoff.cc +7 -10
  672. data/src/core/lib/backoff/backoff.h +8 -8
  673. data/src/core/lib/channel/call_finalization.h +86 -0
  674. data/src/core/lib/channel/channel_args.cc +60 -0
  675. data/src/core/lib/channel/channel_args.h +2 -0
  676. data/src/core/lib/channel/channel_args_preconditioning.cc +1 -0
  677. data/src/core/lib/channel/channel_stack.cc +2 -3
  678. data/src/core/lib/channel/channel_stack.h +41 -5
  679. data/src/core/lib/channel/channel_stack_builder.cc +66 -244
  680. data/src/core/lib/channel/channel_stack_builder.h +95 -144
  681. data/src/core/lib/channel/channel_trace.cc +3 -6
  682. data/src/core/lib/channel/connected_channel.cc +9 -4
  683. data/src/core/lib/channel/connected_channel.h +1 -1
  684. data/src/core/lib/channel/context.h +11 -0
  685. data/src/core/lib/channel/handshaker.cc +1 -1
  686. data/src/core/lib/channel/handshaker.h +1 -1
  687. data/src/core/lib/channel/promise_based_filter.cc +669 -0
  688. data/src/core/lib/channel/promise_based_filter.h +423 -0
  689. data/src/core/lib/compression/compression.cc +1 -1
  690. data/src/core/lib/compression/compression_internal.cc +1 -1
  691. data/src/core/lib/config/core_configuration.cc +8 -2
  692. data/src/core/lib/config/core_configuration.h +39 -0
  693. data/src/core/lib/event_engine/default_event_engine_factory.cc +27 -0
  694. data/src/core/lib/event_engine/event_engine.cc +23 -8
  695. data/src/core/lib/event_engine/event_engine_factory.h +3 -0
  696. data/src/core/lib/event_engine/memory_allocator.cc +9 -13
  697. data/src/core/lib/event_engine/{event_engine_factory.cc → resolved_address.cc} +10 -20
  698. data/src/core/lib/gpr/sync_posix.cc +1 -0
  699. data/src/core/lib/gpr/time.cc +2 -1
  700. data/src/core/lib/gpr/useful.h +14 -0
  701. data/src/core/lib/gprpp/capture.h +76 -0
  702. data/src/core/lib/gprpp/debug_location.h +2 -0
  703. data/src/core/lib/gprpp/status_helper.cc +12 -12
  704. data/src/core/lib/gprpp/status_helper.h +4 -4
  705. data/src/core/lib/gprpp/time.cc +186 -0
  706. data/src/core/lib/gprpp/time.h +292 -0
  707. data/src/core/lib/http/format_request.cc +27 -23
  708. data/src/core/lib/http/format_request.h +7 -6
  709. data/src/core/lib/http/httpcli.cc +306 -229
  710. data/src/core/lib/http/httpcli.h +182 -77
  711. data/src/core/lib/http/httpcli_security_connector.cc +62 -73
  712. data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
  713. data/src/core/lib/http/parser.h +1 -1
  714. data/src/core/lib/iomgr/buffer_list.h +5 -5
  715. data/src/core/lib/iomgr/error.cc +13 -12
  716. data/src/core/lib/iomgr/error.h +0 -5
  717. data/src/core/lib/iomgr/ev_apple.cc +6 -5
  718. data/src/core/lib/iomgr/ev_epoll1_linux.cc +8 -7
  719. data/src/core/lib/iomgr/ev_epollex_linux.cc +12 -9
  720. data/src/core/lib/iomgr/ev_poll_posix.cc +7 -7
  721. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  722. data/src/core/lib/iomgr/ev_posix.h +1 -1
  723. data/src/core/lib/iomgr/event_engine/pollset.cc +2 -3
  724. data/src/core/lib/iomgr/event_engine/resolver.cc +1 -1
  725. data/src/core/lib/iomgr/event_engine/tcp.cc +4 -3
  726. data/src/core/lib/iomgr/event_engine/timer.cc +3 -4
  727. data/src/core/lib/iomgr/exec_ctx.cc +3 -88
  728. data/src/core/lib/iomgr/exec_ctx.h +7 -23
  729. data/src/core/lib/iomgr/iocp_windows.cc +9 -9
  730. data/src/core/lib/iomgr/iocp_windows.h +1 -1
  731. data/src/core/lib/iomgr/polling_entity.h +6 -0
  732. data/src/core/lib/iomgr/pollset.cc +1 -1
  733. data/src/core/lib/iomgr/pollset.h +4 -4
  734. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  735. data/src/core/lib/iomgr/port.h +4 -7
  736. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -1
  737. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +62 -0
  738. data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -17
  739. data/src/core/lib/iomgr/tcp_client.cc +1 -1
  740. data/src/core/lib/iomgr/tcp_client.h +3 -2
  741. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
  742. data/src/core/lib/iomgr/tcp_client_posix.cc +2 -2
  743. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  744. data/src/core/lib/iomgr/tcp_client_windows.cc +1 -1
  745. data/src/core/lib/iomgr/tcp_posix.cc +2 -1
  746. data/src/core/lib/iomgr/tcp_windows.cc +17 -10
  747. data/src/core/lib/iomgr/timer.cc +2 -2
  748. data/src/core/lib/iomgr/timer.h +11 -6
  749. data/src/core/lib/iomgr/timer_generic.cc +96 -77
  750. data/src/core/lib/iomgr/timer_manager.cc +15 -14
  751. data/src/core/lib/iomgr/work_serializer.cc +15 -10
  752. data/src/core/lib/json/json_util.cc +4 -4
  753. data/src/core/lib/json/json_util.h +2 -2
  754. data/src/core/lib/promise/activity.cc +14 -8
  755. data/src/core/lib/promise/activity.h +143 -131
  756. data/src/core/lib/promise/arena_promise.h +188 -0
  757. data/src/core/lib/promise/detail/basic_seq.h +92 -3
  758. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  759. data/src/core/lib/promise/loop.h +34 -8
  760. data/src/core/lib/promise/poll.h +6 -0
  761. data/src/core/lib/promise/promise.h +95 -0
  762. data/src/core/lib/promise/seq.h +19 -1
  763. data/src/core/lib/promise/sleep.cc +74 -0
  764. data/src/core/lib/promise/sleep.h +66 -0
  765. data/src/core/lib/promise/try_seq.h +157 -0
  766. data/src/core/lib/resolver/resolver_factory.h +22 -26
  767. data/src/core/lib/resolver/resolver_registry.cc +98 -137
  768. data/src/core/lib/resolver/resolver_registry.h +59 -33
  769. data/src/core/lib/resource_quota/memory_quota.cc +118 -94
  770. data/src/core/lib/resource_quota/memory_quota.h +100 -64
  771. data/src/core/lib/security/authorization/evaluate_args.cc +1 -11
  772. data/src/core/lib/security/authorization/evaluate_args.h +0 -1
  773. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +109 -0
  774. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +51 -0
  775. data/src/core/lib/security/authorization/matchers.cc +5 -5
  776. data/src/core/lib/security/authorization/matchers.h +2 -2
  777. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  778. data/src/core/lib/security/authorization/rbac_policy.h +3 -2
  779. data/src/core/lib/security/credentials/alts/alts_credentials.h +6 -0
  780. data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
  781. data/src/core/lib/security/credentials/call_creds_util.h +42 -0
  782. data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
  783. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
  784. data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -81
  785. data/src/core/lib/security/credentials/composite/composite_credentials.h +21 -10
  786. data/src/core/lib/security/credentials/credentials.cc +2 -3
  787. data/src/core/lib/security/credentials/credentials.h +64 -43
  788. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +46 -27
  789. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  790. data/src/core/lib/security/credentials/external/external_account_credentials.cc +49 -29
  791. data/src/core/lib/security/credentials/external/external_account_credentials.h +4 -3
  792. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  793. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +33 -12
  794. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
  795. data/src/core/lib/security/credentials/fake/fake_credentials.cc +18 -19
  796. data/src/core/lib/security/credentials/fake/fake_credentials.h +11 -14
  797. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +15 -9
  798. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +6 -0
  799. data/src/core/lib/security/credentials/iam/iam_credentials.cc +12 -17
  800. data/src/core/lib/security/credentials/iam/iam_credentials.h +10 -9
  801. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +13 -7
  802. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +18 -22
  803. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +9 -9
  804. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -30
  805. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  806. data/src/core/lib/security/credentials/local/local_credentials.h +6 -0
  807. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +117 -125
  808. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +49 -28
  809. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +95 -152
  810. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +54 -28
  811. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +6 -3
  812. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +19 -0
  813. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +10 -1
  814. data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
  815. data/src/core/lib/security/credentials/xds/xds_credentials.h +5 -0
  816. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +8 -14
  817. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  818. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -12
  819. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
  820. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -16
  821. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +4 -9
  822. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -16
  823. data/src/core/lib/security/security_connector/security_connector.cc +3 -11
  824. data/src/core/lib/security/security_connector/security_connector.h +11 -20
  825. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +6 -11
  826. data/src/core/lib/security/security_connector/ssl_utils.cc +15 -7
  827. data/src/core/lib/security/security_connector/ssl_utils.h +8 -3
  828. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +23 -14
  829. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +6 -6
  830. data/src/core/lib/security/transport/auth_filters.h +30 -4
  831. data/src/core/lib/security/transport/client_auth_filter.cc +73 -364
  832. data/src/core/lib/security/transport/security_handshaker.cc +14 -6
  833. data/src/core/lib/security/transport/server_auth_filter.cc +1 -0
  834. data/src/core/lib/service_config/service_config.h +6 -51
  835. data/src/core/lib/service_config/{service_config.cc → service_config_impl.cc} +19 -16
  836. data/src/core/lib/service_config/service_config_impl.h +125 -0
  837. data/src/core/lib/service_config/service_config_parser.cc +30 -26
  838. data/src/core/lib/service_config/service_config_parser.h +36 -27
  839. data/src/core/lib/slice/slice.cc +76 -181
  840. data/src/core/lib/slice/slice.h +28 -15
  841. data/src/core/lib/slice/slice_internal.h +12 -30
  842. data/src/core/lib/slice/slice_refcount.cc +18 -0
  843. data/src/core/lib/slice/slice_refcount.h +2 -72
  844. data/src/core/lib/slice/slice_refcount_base.h +16 -120
  845. data/src/core/lib/surface/builtins.cc +6 -6
  846. data/src/core/lib/surface/call.cc +14 -7
  847. data/src/core/lib/surface/call.h +1 -1
  848. data/src/core/lib/surface/channel.cc +26 -31
  849. data/src/core/lib/surface/channel.h +6 -7
  850. data/src/core/lib/surface/channel_init.cc +1 -1
  851. data/src/core/lib/surface/channel_init.h +4 -4
  852. data/src/core/lib/surface/completion_queue.cc +10 -9
  853. data/src/core/lib/surface/init.cc +78 -7
  854. data/src/core/lib/surface/init.h +0 -2
  855. data/src/core/lib/surface/lame_client.cc +2 -1
  856. data/src/core/lib/surface/server.cc +11 -22
  857. data/src/core/lib/surface/server.h +3 -3
  858. data/src/core/lib/surface/version.cc +2 -2
  859. data/src/core/lib/transport/bdp_estimator.cc +9 -10
  860. data/src/core/lib/transport/bdp_estimator.h +2 -2
  861. data/src/core/lib/transport/error_utils.cc +5 -3
  862. data/src/core/lib/transport/error_utils.h +2 -15
  863. data/src/core/lib/transport/metadata_batch.h +275 -97
  864. data/src/core/lib/transport/parsed_metadata.h +33 -17
  865. data/src/core/lib/transport/status_conversion.cc +2 -2
  866. data/src/core/lib/transport/status_conversion.h +1 -1
  867. data/src/core/lib/transport/timeout_encoding.cc +32 -29
  868. data/src/core/lib/transport/timeout_encoding.h +3 -3
  869. data/src/core/lib/transport/transport.cc +3 -1
  870. data/src/core/lib/transport/transport.h +87 -2
  871. data/src/core/lib/transport/transport_impl.h +13 -0
  872. data/src/core/lib/transport/transport_op_string.cc +5 -14
  873. data/src/core/lib/uri/uri_parser.cc +4 -0
  874. data/src/core/lib/uri/uri_parser.h +1 -0
  875. data/src/core/plugin_registry/grpc_plugin_registry.cc +19 -88
  876. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
  877. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +26 -21
  878. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
  879. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +19 -11
  880. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
  881. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
  882. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  883. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  884. data/src/core/tsi/local_transport_security.cc +3 -11
  885. data/src/core/tsi/local_transport_security.h +1 -4
  886. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
  887. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  888. data/src/core/tsi/ssl_transport_security.cc +52 -1
  889. data/src/core/tsi/ssl_transport_security.h +20 -0
  890. data/src/ruby/ext/grpc/extconf.rb +1 -1
  891. data/src/ruby/ext/grpc/rb_channel.c +5 -2
  892. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +18 -24
  893. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +27 -36
  894. data/src/ruby/ext/grpc/rb_server.c +7 -4
  895. data/src/ruby/lib/grpc/version.rb +1 -1
  896. data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
  897. data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
  898. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  899. data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
  900. data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
  901. data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
  902. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  903. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  904. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  905. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  906. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  907. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  908. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  909. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  910. data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
  911. data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
  912. data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
  913. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  914. data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
  915. data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
  916. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  917. data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
  918. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  919. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  920. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  921. data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
  922. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  923. data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
  924. data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
  925. data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
  926. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  927. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  928. data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
  929. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  930. data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
  931. data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
  932. data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
  933. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  934. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  935. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  936. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  937. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  938. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  939. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  940. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  941. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  942. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  943. data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
  944. data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
  945. data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
  946. data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
  947. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  948. data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
  949. data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
  950. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  951. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  952. data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
  953. data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
  954. data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
  955. data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
  956. data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
  957. data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
  958. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  959. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  960. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  961. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  962. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  963. data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
  964. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  965. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  966. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  967. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  968. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  969. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  970. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  971. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  972. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  973. data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
  974. data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
  975. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  976. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  977. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  978. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  979. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  980. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  981. data/third_party/upb/upb/decode.c +526 -319
  982. data/third_party/upb/upb/decode.h +43 -17
  983. data/third_party/upb/upb/decode_fast.c +303 -301
  984. data/third_party/upb/upb/decode_fast.h +18 -18
  985. data/third_party/upb/upb/decode_internal.h +73 -56
  986. data/third_party/upb/upb/def.c +1863 -1078
  987. data/third_party/upb/upb/def.h +318 -286
  988. data/third_party/upb/upb/def.hpp +129 -172
  989. data/third_party/upb/upb/encode.c +202 -175
  990. data/third_party/upb/upb/encode.h +15 -17
  991. data/third_party/upb/upb/msg.c +144 -124
  992. data/third_party/upb/upb/msg.h +40 -33
  993. data/third_party/upb/upb/msg_internal.h +321 -272
  994. data/third_party/upb/upb/reflection.c +239 -199
  995. data/third_party/upb/upb/reflection.h +87 -67
  996. data/third_party/upb/upb/reflection.hpp +6 -6
  997. data/third_party/upb/upb/table.c +222 -142
  998. data/third_party/upb/upb/table_internal.h +128 -96
  999. data/third_party/upb/upb/text_encode.c +113 -90
  1000. data/third_party/upb/upb/text_encode.h +10 -10
  1001. data/third_party/upb/upb/upb.c +111 -72
  1002. data/third_party/upb/upb/upb.h +120 -144
  1003. data/third_party/upb/upb/upb.hpp +31 -28
  1004. data/third_party/upb/upb/upb_internal.h +21 -11
  1005. metadata +301 -170
  1006. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  1007. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  1008. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
  1009. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
  1010. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
  1011. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
  1012. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
  1013. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  1014. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -36
  1015. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
  1016. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
  1017. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
  1018. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
  1019. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
  1020. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
  1021. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
  1022. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
  1023. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
  1024. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
  1025. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
  1026. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
  1027. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
  1028. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
  1029. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
  1030. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
  1031. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
  1032. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  1033. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
  1034. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  1035. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
  1036. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  1037. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
  1038. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  1039. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
  1040. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  1041. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +0 -58
  1042. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +0 -55
  1043. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +0 -44
  1044. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +0 -40
  1045. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +0 -75
  1046. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +0 -55
  1047. data/src/core/ext/xds/xds_channel_creds.cc +0 -108
  1048. data/src/core/ext/xds/xds_channel_creds.h +0 -50
  1049. data/src/core/lib/iomgr/iomgr_custom.cc +0 -82
  1050. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  1051. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  1052. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  1053. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  1054. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  1055. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -191
  1056. data/src/core/lib/iomgr/resolve_address_custom.h +0 -126
  1057. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
  1058. data/src/core/lib/iomgr/tcp_custom.cc +0 -350
  1059. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  1060. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
  1061. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  1062. data/src/core/lib/iomgr/timer_custom.h +0 -43
  1063. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
  1064. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  1065. data/src/core/lib/slice/slice_intern.cc +0 -269
  1066. data/src/core/lib/slice/slice_utils.h +0 -200
  1067. data/src/core/lib/surface/init_secure.cc +0 -103
  1068. data/third_party/cares/cares/ares_getopt.c +0 -122
  1069. data/third_party/cares/cares/ares_getopt.h +0 -53
  1070. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  1071. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  1072. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
@@ -1,200 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2019 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #ifndef GRPC_CORE_LIB_SLICE_SLICE_UTILS_H
20
- #define GRPC_CORE_LIB_SLICE_SLICE_UTILS_H
21
-
22
- #include <grpc/support/port_platform.h>
23
-
24
- #include <cstring>
25
-
26
- #include "absl/strings/string_view.h"
27
-
28
- #include <grpc/slice.h>
29
-
30
- #include "src/core/lib/gpr/murmur_hash.h"
31
-
32
- namespace grpc_core {
33
- extern uint32_t g_hash_seed;
34
- } // namespace grpc_core
35
-
36
- // When we compare two slices, and we know the latter is not inlined, we can
37
- // short circuit our comparison operator. We specifically use differs()
38
- // semantics instead of equals() semantics due to more favourable code
39
- // generation when using differs(). Specifically, we may use the output of
40
- // grpc_slice_differs_refcounted for control flow. If we use differs()
41
- // semantics, we end with a tailcall to memcmp(). If we use equals() semantics,
42
- // we need to invert the result that memcmp provides us, which costs several
43
- // instructions to do so. If we're using the result for control flow (i.e.
44
- // branching based on the output) then we're just performing the extra
45
- // operations to invert the result pointlessly. Concretely, we save 6 ops on
46
- // x86-64/clang with differs().
47
- int grpc_slice_differs_refcounted(const grpc_slice& a,
48
- const grpc_slice& b_not_inline);
49
-
50
- // When we compare two slices, and we *know* that one of them is static or
51
- // interned, we can short circuit our slice equality function. The second slice
52
- // here must be static or interned; slice a can be any slice, inlined or not.
53
- inline bool grpc_slice_eq_static_interned(const grpc_slice& a,
54
- const grpc_slice& b_static_interned) {
55
- if (a.refcount == b_static_interned.refcount) {
56
- return true;
57
- }
58
- return !grpc_slice_differs_refcounted(a, b_static_interned);
59
- }
60
-
61
- // TODO(arjunroy): These type declarations ought to be in
62
- // src/core/lib/slice/slice_internal.h instead; they are here due to a circular
63
- // header depedency between slice_internal.h and
64
- // src/core/lib/transport/metadata.h. We need to fix this circular reference and
65
- // when we do, move these type declarations.
66
- //
67
- // Internal slice type declarations.
68
- // Externally, a grpc_slice is a grpc_slice is a grpc_slice.
69
- // Internally, we may have heap allocated slices, static slices, interned
70
- // slices, and inlined slices. If we know the specific type of slice
71
- // we're dealing with, we can save cycles (e.g. fast-paths when we know we don't
72
- // need to take a reference on a slice). Rather than introducing new methods
73
- // ad-hoc in these cases, we rely on type-system backed overloads to keep
74
- // internal APIs clean.
75
- //
76
- // For each overload, the definition and layout of the underlying slice does not
77
- // change; this is purely type-system information.
78
- namespace grpc_core {
79
-
80
- // There are two main types of slices: those that have their memory
81
- // managed by the slice library and those that do not.
82
- //
83
- // The following types of slices are not managed:
84
- // - inlined slices (i.e., refcount is null)
85
- // - slices that have a custom refcount type (i.e., not STATIC or INTERNED)
86
- // - slices where the memory is managed by some external agent. The slice is not
87
- // ref-counted by grpc, and the programmer is responsible for ensuring the
88
- // data is valid for the duration of the period that grpc may access it.
89
- //
90
- // The following types of slices are managed:
91
- // - static metadata slices (i.e., refcount type is STATIC)
92
- // - interned slices (i.e., refcount type is INTERNED)
93
- //
94
- // This categorization is reflected in the following hierarchy:
95
- //
96
- // - grpc_slice
97
- // > - UnmanagedMemorySlice
98
- // > - ExternallyManagedSlice
99
- // - ManagedMemorySlice
100
- // > - InternedSlice
101
- // - StaticMetadataSlice
102
- //
103
- struct ManagedMemorySlice : public grpc_slice {
104
- ManagedMemorySlice() {
105
- refcount = nullptr;
106
- data.refcounted.bytes = nullptr;
107
- data.refcounted.length = 0;
108
- }
109
- explicit ManagedMemorySlice(const char* string);
110
- ManagedMemorySlice(const char* buf, size_t len);
111
- explicit ManagedMemorySlice(const grpc_slice* slice);
112
- bool operator==(const grpc_slice& other) const {
113
- if (refcount == other.refcount) {
114
- return true;
115
- }
116
- return !grpc_slice_differs_refcounted(other, *this);
117
- }
118
- bool operator!=(const grpc_slice& other) const { return !(*this == other); }
119
- bool operator==(std::pair<const char*, size_t> buflen) const {
120
- return data.refcounted.length == buflen.second && buflen.first != nullptr &&
121
- memcmp(buflen.first, data.refcounted.bytes, buflen.second) == 0;
122
- }
123
- };
124
- struct UnmanagedMemorySlice : public grpc_slice {
125
- // TODO(arjunroy): Can we use a default=false param instead of this enum?
126
- enum class ForceHeapAllocation {};
127
- UnmanagedMemorySlice() {
128
- refcount = nullptr;
129
- data.inlined.length = 0;
130
- }
131
- explicit UnmanagedMemorySlice(const char* source);
132
- UnmanagedMemorySlice(const char* source, size_t length);
133
- // The first constructor creates a slice that may be heap allocated, or
134
- // inlined in the slice structure if length is small enough
135
- // (< GRPC_SLICE_INLINED_SIZE). The second constructor forces heap alloc.
136
- explicit UnmanagedMemorySlice(size_t length);
137
- explicit UnmanagedMemorySlice(size_t length, const ForceHeapAllocation&) {
138
- HeapInit(length);
139
- }
140
-
141
- private:
142
- void HeapInit(size_t length);
143
- };
144
-
145
- extern grpc_slice_refcount kNoopRefcount;
146
-
147
- struct ExternallyManagedSlice : public UnmanagedMemorySlice {
148
- ExternallyManagedSlice()
149
- : ExternallyManagedSlice(&kNoopRefcount, 0, nullptr) {}
150
- explicit ExternallyManagedSlice(const char* s)
151
- : ExternallyManagedSlice(s, strlen(s)) {}
152
- ExternallyManagedSlice(const void* s, size_t len)
153
- : ExternallyManagedSlice(
154
- &kNoopRefcount, len,
155
- reinterpret_cast<uint8_t*>(const_cast<void*>(s))) {}
156
- ExternallyManagedSlice(grpc_slice_refcount* ref, size_t length,
157
- uint8_t* bytes) {
158
- refcount = ref;
159
- data.refcounted.length = length;
160
- data.refcounted.bytes = bytes;
161
- }
162
- bool operator==(const grpc_slice& other) const {
163
- return data.refcounted.length == GRPC_SLICE_LENGTH(other) &&
164
- memcmp(data.refcounted.bytes, GRPC_SLICE_START_PTR(other),
165
- data.refcounted.length) == 0;
166
- }
167
- bool operator!=(const grpc_slice& other) const { return !(*this == other); }
168
- uint32_t Hash() {
169
- return gpr_murmur_hash3(data.refcounted.bytes, data.refcounted.length,
170
- g_hash_seed);
171
- }
172
- };
173
-
174
- struct StaticMetadataSlice : public ManagedMemorySlice {
175
- StaticMetadataSlice(grpc_slice_refcount* ref, size_t length,
176
- const uint8_t* bytes) {
177
- refcount = ref;
178
- data.refcounted.length = length;
179
- // NB: grpc_slice may or may not point to a static slice, but we are
180
- // definitely pointing to static data here. Since we are not changing
181
- // the underlying C-type, we need a const_cast here.
182
- data.refcounted.bytes = const_cast<uint8_t*>(bytes);
183
- }
184
- };
185
-
186
- struct InternedSliceRefcount;
187
- struct InternedSlice : public ManagedMemorySlice {
188
- explicit InternedSlice(InternedSliceRefcount* s);
189
- };
190
-
191
- // Converts grpc_slice to absl::string_view.
192
- inline absl::string_view StringViewFromSlice(const grpc_slice& slice) {
193
- return absl::string_view(
194
- reinterpret_cast<const char*>(GRPC_SLICE_START_PTR(slice)),
195
- GRPC_SLICE_LENGTH(slice));
196
- }
197
-
198
- } // namespace grpc_core
199
-
200
- #endif /* GRPC_CORE_LIB_SLICE_SLICE_UTILS_H */
@@ -1,103 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #include <grpc/support/port_platform.h>
20
-
21
- #include <limits.h>
22
- #include <string.h>
23
-
24
- #include "src/core/lib/channel/channel_stack_builder.h"
25
- #include "src/core/lib/config/core_configuration.h"
26
- #include "src/core/lib/debug/trace.h"
27
- #include "src/core/lib/security/authorization/sdk_server_authz_filter.h"
28
- #include "src/core/lib/security/context/security_context.h"
29
- #include "src/core/lib/security/credentials/credentials.h"
30
- #include "src/core/lib/security/credentials/plugin/plugin_credentials.h"
31
- #include "src/core/lib/security/security_connector/security_connector.h"
32
- #include "src/core/lib/security/transport/auth_filters.h"
33
- #include "src/core/lib/security/transport/secure_endpoint.h"
34
- #include "src/core/lib/security/transport/security_handshaker.h"
35
- #include "src/core/lib/surface/init.h"
36
- #include "src/core/tsi/transport_security_interface.h"
37
-
38
- void grpc_security_pre_init(void) {}
39
-
40
- static bool maybe_prepend_client_auth_filter(
41
- grpc_channel_stack_builder* builder) {
42
- const grpc_channel_args* args =
43
- grpc_channel_stack_builder_get_channel_arguments(builder);
44
- if (args) {
45
- for (size_t i = 0; i < args->num_args; i++) {
46
- if (0 == strcmp(GRPC_ARG_SECURITY_CONNECTOR, args->args[i].key)) {
47
- return grpc_channel_stack_builder_prepend_filter(
48
- builder, &grpc_client_auth_filter, nullptr, nullptr);
49
- }
50
- }
51
- }
52
- return true;
53
- }
54
-
55
- static bool maybe_prepend_server_auth_filter(
56
- grpc_channel_stack_builder* builder) {
57
- const grpc_channel_args* args =
58
- grpc_channel_stack_builder_get_channel_arguments(builder);
59
- if (args) {
60
- for (size_t i = 0; i < args->num_args; i++) {
61
- if (0 == strcmp(GRPC_SERVER_CREDENTIALS_ARG, args->args[i].key)) {
62
- return grpc_channel_stack_builder_prepend_filter(
63
- builder, &grpc_server_auth_filter, nullptr, nullptr);
64
- }
65
- }
66
- }
67
- return true;
68
- }
69
-
70
- static bool maybe_prepend_sdk_server_authz_filter(
71
- grpc_channel_stack_builder* builder) {
72
- const grpc_channel_args* args =
73
- grpc_channel_stack_builder_get_channel_arguments(builder);
74
- const auto* provider =
75
- grpc_channel_args_find_pointer<grpc_authorization_policy_provider>(
76
- args, GRPC_ARG_AUTHORIZATION_POLICY_PROVIDER);
77
- if (provider != nullptr) {
78
- return grpc_channel_stack_builder_prepend_filter(
79
- builder, &grpc_core::SdkServerAuthzFilter::kFilterVtable, nullptr,
80
- nullptr);
81
- }
82
- return true;
83
- }
84
-
85
- namespace grpc_core {
86
- void RegisterSecurityFilters(CoreConfiguration::Builder* builder) {
87
- // Register the auth client with a priority < INT_MAX to allow the authority
88
- // filter -on which the auth filter depends- to be higher on the channel
89
- // stack.
90
- builder->channel_init()->RegisterStage(GRPC_CLIENT_SUBCHANNEL, INT_MAX - 1,
91
- maybe_prepend_client_auth_filter);
92
- builder->channel_init()->RegisterStage(GRPC_CLIENT_DIRECT_CHANNEL,
93
- INT_MAX - 1,
94
- maybe_prepend_client_auth_filter);
95
- builder->channel_init()->RegisterStage(GRPC_SERVER_CHANNEL, INT_MAX - 1,
96
- maybe_prepend_server_auth_filter);
97
- // Register the SdkServerAuthzFilter with a priority less than
98
- // server_auth_filter to allow server_auth_filter on which the sdk filter
99
- // depends on to be higher on the channel stack.
100
- builder->channel_init()->RegisterStage(GRPC_SERVER_CHANNEL, INT_MAX - 2,
101
- maybe_prepend_sdk_server_authz_filter);
102
- }
103
- } // namespace grpc_core
@@ -1,122 +0,0 @@
1
- /*
2
- * Original file name getopt.c Initial import into the c-ares source tree
3
- * on 2007-04-11. Lifted from version 5.2 of the 'Open Mash' project with
4
- * the modified BSD license, BSD license without the advertising clause.
5
- *
6
- */
7
-
8
- /*
9
- * getopt.c --
10
- *
11
- * Standard UNIX getopt function. Code is from BSD.
12
- *
13
- * Copyright (c) 1987-2001 The Regents of the University of California.
14
- * All rights reserved.
15
- *
16
- * Redistribution and use in source and binary forms, with or without
17
- * modification, are permitted provided that the following conditions are met:
18
- *
19
- * A. Redistributions of source code must retain the above copyright notice,
20
- * this list of conditions and the following disclaimer.
21
- * B. Redistributions in binary form must reproduce the above copyright notice,
22
- * this list of conditions and the following disclaimer in the documentation
23
- * and/or other materials provided with the distribution.
24
- * C. Neither the names of the copyright holders nor the names of its
25
- * contributors may be used to endorse or promote products derived from this
26
- * software without specific prior written permission.
27
- *
28
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
29
- * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
32
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38
- * POSSIBILITY OF SUCH DAMAGE.
39
- */
40
-
41
- /* #if !defined(lint)
42
- * static char sccsid[] = "@(#)getopt.c 8.2 (Berkeley) 4/2/94";
43
- * #endif
44
- */
45
-
46
- #include <stdio.h>
47
- #include <stdlib.h>
48
- #include <string.h>
49
- #include "ares_getopt.h"
50
-
51
- int opterr = 1, /* if error message should be printed */
52
- optind = 1; /* index into parent argv vector */
53
- int optopt = 0; /* character checked for validity */
54
- static int optreset; /* reset getopt */
55
- char *optarg; /* argument associated with option */
56
-
57
- #define BADCH (int)'?'
58
- #define BADARG (int)':'
59
- #define EMSG (char *)""
60
-
61
- /*
62
- * ares_getopt --
63
- * Parse argc/argv argument vector.
64
- */
65
- int
66
- ares_getopt(int nargc, char * const nargv[], const char *ostr)
67
- {
68
- static char *place = EMSG; /* option letter processing */
69
- char *oli; /* option letter list index */
70
-
71
- if (optreset || !*place) { /* update scanning pointer */
72
- optreset = 0;
73
- if (optind >= nargc || *(place = nargv[optind]) != '-') {
74
- place = EMSG;
75
- return (EOF);
76
- }
77
- if (place[1] && *++place == '-') { /* found "--" */
78
- ++optind;
79
- place = EMSG;
80
- return (EOF);
81
- }
82
- } /* option letter okay? */
83
- if ((optopt = (int)*place++) == (int)':' ||
84
- (oli = strchr(ostr, optopt)) == NULL) {
85
- /*
86
- * if the user didn't specify '-' as an option,
87
- * assume it means EOF.
88
- */
89
- if (optopt == (int)'-')
90
- return (EOF);
91
- if (!*place)
92
- ++optind;
93
- if (opterr && *ostr != ':')
94
- (void)fprintf(stderr,
95
- "%s: illegal option -- %c\n", __FILE__, optopt);
96
- return (BADCH);
97
- }
98
- if (*++oli != ':') { /* don't need argument */
99
- optarg = NULL;
100
- if (!*place)
101
- ++optind;
102
- }
103
- else { /* need an argument */
104
- if (*place) /* no white space */
105
- optarg = place;
106
- else if (nargc <= ++optind) { /* no arg */
107
- place = EMSG;
108
- if (*ostr == ':')
109
- return (BADARG);
110
- if (opterr)
111
- (void)fprintf(stderr,
112
- "%s: option requires an argument -- %c\n",
113
- __FILE__, optopt);
114
- return (BADCH);
115
- }
116
- else /* white space */
117
- optarg = nargv[optind];
118
- place = EMSG;
119
- ++optind;
120
- }
121
- return (optopt); /* dump back option letter */
122
- }
@@ -1,53 +0,0 @@
1
- #ifndef ARES_GETOPT_H
2
- #define ARES_GETOPT_H
3
-
4
- /*
5
- * Copyright (c) 1987-2001 The Regents of the University of California.
6
- * All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions are met:
10
- *
11
- * A. Redistributions of source code must retain the above copyright notice,
12
- * this list of conditions and the following disclaimer.
13
- * B. Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- * C. Neither the names of the copyright holders nor the names of its
17
- * contributors may be used to endorse or promote products derived from this
18
- * software without specific prior written permission.
19
- *
20
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
21
- * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
24
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
- * POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
-
34
- int ares_getopt(int nargc, char * const nargv[], const char *ostr);
35
-
36
- #undef optarg
37
- #undef optind
38
- #undef opterr
39
- #undef optopt
40
- #undef optreset
41
-
42
- #define optarg ares_optarg
43
- #define optind ares_optind
44
- #define opterr ares_opterr
45
- #define optopt ares_optopt
46
- #define optreset ares_optreset
47
-
48
- extern char *optarg;
49
- extern int optind;
50
- extern int opterr;
51
- extern int optopt;
52
-
53
- #endif /* ARES_GETOPT_H */