grpc 1.58.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (551) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +48 -33
  3. data/include/grpc/event_engine/event_engine.h +6 -10
  4. data/include/grpc/impl/channel_arg_names.h +4 -0
  5. data/include/grpc/support/port_platform.h +74 -1
  6. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +22 -9
  7. data/src/core/ext/filters/client_channel/client_channel.cc +422 -56
  8. data/src/core/ext/filters/client_channel/client_channel.h +52 -8
  9. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +15 -1
  10. data/src/core/ext/filters/client_channel/dynamic_filters.h +2 -0
  11. data/src/core/ext/filters/client_channel/{http_proxy.cc → http_proxy_mapper.cc} +1 -1
  12. data/src/core/ext/filters/client_channel/{http_proxy.h → http_proxy_mapper.h} +3 -3
  13. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc +188 -0
  14. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.h +214 -0
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +17 -4
  16. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +41 -6
  17. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +5 -3
  18. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +32 -103
  19. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +0 -7
  20. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +416 -139
  21. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +16 -0
  22. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +434 -459
  23. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +410 -26
  24. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +14 -46
  25. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +851 -57
  26. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +16 -10
  27. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +47 -32
  28. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +55 -3
  29. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +105 -175
  30. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +14 -7
  31. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +24 -6
  32. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +36 -2
  33. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +54 -44
  34. data/src/core/ext/filters/client_channel/subchannel.cc +33 -0
  35. data/src/core/ext/filters/client_channel/subchannel.h +9 -0
  36. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +1 -1
  37. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +11 -6
  38. data/src/core/ext/transport/chttp2/transport/flow_control.cc +28 -22
  39. data/src/core/ext/transport/chttp2/transport/flow_control.h +27 -4
  40. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
  41. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -1
  42. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +9 -0
  43. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -1
  44. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -1
  45. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  46. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +1 -1
  47. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -1
  48. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -1
  49. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
  50. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +19 -10
  51. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +3 -1
  52. data/src/core/ext/transport/chttp2/transport/internal.h +66 -47
  53. data/src/core/ext/transport/chttp2/transport/{frame.h → legacy_frame.h} +3 -3
  54. data/src/core/ext/transport/chttp2/transport/parsing.cc +4 -2
  55. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +10 -0
  56. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +4 -0
  57. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +1 -1
  58. data/src/core/ext/transport/chttp2/transport/writing.cc +2 -1
  59. data/src/core/ext/transport/inproc/inproc_transport.cc +9 -0
  60. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +16 -18
  61. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +75 -83
  62. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +27 -29
  63. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +102 -110
  64. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +16 -18
  65. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +73 -81
  66. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +65 -67
  67. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +294 -302
  68. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +4 -6
  69. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +20 -28
  70. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +5 -7
  71. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +24 -32
  72. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +7 -9
  73. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +19 -27
  74. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +4 -6
  75. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +10 -18
  76. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +4 -6
  77. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +10 -18
  78. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +42 -44
  79. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +141 -149
  80. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +3 -5
  81. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +8 -16
  82. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +5 -7
  83. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -9
  84. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +3 -5
  85. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +4 -12
  86. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +36 -38
  87. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +157 -165
  88. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +87 -89
  89. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +372 -380
  90. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +13 -15
  91. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +55 -63
  92. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +111 -113
  93. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +441 -449
  94. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -5
  95. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +8 -16
  96. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +23 -25
  97. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +88 -96
  98. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +40 -42
  99. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +180 -188
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +26 -28
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +108 -116
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +3 -5
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +9 -17
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +65 -67
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +245 -253
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +27 -29
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +119 -127
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +2 -4
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -14
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +3 -5
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +8 -16
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +4 -6
  113. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +20 -28
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +49 -51
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +184 -192
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +49 -51
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +225 -233
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -6
  119. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +13 -21
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +63 -65
  121. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +246 -254
  122. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +5 -7
  123. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +19 -27
  124. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +5 -7
  125. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +19 -27
  126. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +8 -10
  127. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +30 -38
  128. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +7 -9
  129. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +28 -36
  130. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +3 -5
  131. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +9 -17
  132. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +12 -14
  133. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +48 -56
  134. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +23 -25
  135. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +92 -100
  136. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +27 -29
  137. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +108 -116
  138. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -4
  139. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +5 -13
  140. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +38 -40
  141. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +167 -175
  142. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +34 -36
  143. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +162 -170
  144. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +10 -12
  145. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +37 -45
  146. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +4 -6
  147. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +13 -21
  148. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +6 -8
  149. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +18 -26
  150. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +22 -24
  151. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +97 -105
  152. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +24 -26
  153. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +111 -119
  154. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +43 -45
  155. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +183 -191
  156. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +20 -22
  157. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +102 -110
  158. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +253 -255
  159. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +1108 -1116
  160. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +8 -10
  161. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +31 -39
  162. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +35 -37
  163. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +150 -158
  164. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +4 -6
  165. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +10 -18
  166. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +3 -5
  167. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +8 -16
  168. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +4 -6
  169. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +13 -21
  170. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +5 -7
  171. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +19 -27
  172. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +14 -16
  173. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +53 -61
  174. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +3 -5
  175. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +8 -16
  176. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +2 -4
  177. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +5 -13
  178. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +7 -9
  179. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +24 -32
  180. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -3
  181. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -9
  182. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +7 -9
  183. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +23 -31
  184. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +8 -10
  185. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +23 -31
  186. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c +114 -116
  187. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h +372 -380
  188. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +2 -4
  189. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +9 -17
  190. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +8 -10
  191. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -38
  192. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +21 -23
  193. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +81 -89
  194. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +7 -9
  195. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +24 -32
  196. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +12 -14
  197. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +52 -60
  198. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +4 -6
  199. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +14 -22
  200. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +114 -116
  201. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +468 -476
  202. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +2 -4
  203. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +5 -13
  204. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +7 -9
  205. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +25 -33
  206. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +11 -13
  207. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +40 -48
  208. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c +2 -4
  209. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +4 -12
  210. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +8 -10
  211. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +27 -35
  212. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +2 -4
  213. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +5 -13
  214. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +1 -3
  215. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -9
  216. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +35 -37
  217. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +165 -173
  218. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +9 -11
  219. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +32 -40
  220. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +39 -41
  221. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +169 -177
  222. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +4 -6
  223. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +16 -24
  224. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -3
  225. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +1 -9
  226. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +55 -57
  227. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +241 -249
  228. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +7 -9
  229. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +31 -39
  230. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +23 -25
  231. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +98 -106
  232. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +4 -6
  233. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +11 -19
  234. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -6
  235. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +18 -26
  236. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +3 -5
  237. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +9 -17
  238. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +6 -8
  239. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +16 -24
  240. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +6 -8
  241. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +24 -32
  242. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +3 -5
  243. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +13 -21
  244. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +3 -5
  245. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +10 -18
  246. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +2 -4
  247. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -14
  248. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +6 -8
  249. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +20 -28
  250. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +1 -3
  251. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +1 -9
  252. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +8 -10
  253. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +33 -41
  254. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +4 -6
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +18 -26
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +8 -10
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +31 -39
  258. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +8 -10
  259. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +34 -42
  260. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +14 -16
  261. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +47 -55
  262. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +4 -6
  263. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +13 -21
  264. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +1 -3
  265. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -9
  266. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +2 -4
  267. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +4 -12
  268. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +4 -6
  269. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +10 -18
  270. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +7 -9
  271. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +19 -27
  272. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +6 -8
  273. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +20 -28
  274. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +1 -3
  275. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +1 -9
  276. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +4 -6
  277. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +10 -18
  278. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +4 -6
  279. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +12 -20
  280. data/src/core/ext/upb-generated/google/api/annotations.upb.c +2 -4
  281. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -9
  282. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +45 -47
  283. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +190 -198
  284. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +54 -56
  285. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +210 -218
  286. data/src/core/ext/upb-generated/google/api/http.upb.c +15 -17
  287. data/src/core/ext/upb-generated/google/api/http.upb.h +60 -68
  288. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +4 -6
  289. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +15 -23
  290. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +3 -5
  291. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +7 -15
  292. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +359 -204
  293. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1340 -760
  294. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +3 -5
  295. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +7 -15
  296. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -3
  297. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +1 -9
  298. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +11 -13
  299. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +43 -51
  300. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +3 -5
  301. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +7 -15
  302. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +10 -12
  303. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +28 -36
  304. data/src/core/ext/upb-generated/google/rpc/status.upb.c +4 -6
  305. data/src/core/ext/upb-generated/google/rpc/status.upb.h +15 -23
  306. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +11 -13
  307. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +35 -43
  308. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +10 -12
  309. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +28 -36
  310. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +48 -50
  311. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +190 -198
  312. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -7
  313. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +15 -23
  314. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +3 -5
  315. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +7 -15
  316. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +21 -23
  317. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +80 -88
  318. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +9 -11
  319. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +29 -37
  320. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +32 -34
  321. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +147 -155
  322. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +10 -12
  323. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +13 -21
  324. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +4 -6
  325. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -15
  326. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +2 -4
  327. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -9
  328. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +4 -6
  329. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -15
  330. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +3 -5
  331. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +4 -12
  332. data/src/core/ext/upb-generated/validate/validate.upb.c +201 -203
  333. data/src/core/ext/upb-generated/validate/validate.upb.h +924 -932
  334. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +10 -12
  335. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +13 -21
  336. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +4 -6
  337. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -15
  338. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +2 -4
  339. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +1 -9
  340. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +9 -11
  341. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +16 -24
  342. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +3 -5
  343. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +4 -12
  344. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +2 -4
  345. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +4 -12
  346. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +3 -5
  347. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +8 -16
  348. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +6 -8
  349. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +20 -28
  350. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +4 -6
  351. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +9 -17
  352. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +3 -5
  353. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +8 -16
  354. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +4 -6
  355. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +12 -20
  356. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +9 -11
  357. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +35 -43
  358. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +5 -7
  359. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +14 -22
  360. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +16 -18
  361. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +43 -51
  362. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +3 -5
  363. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +13 -21
  364. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +2 -4
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +5 -13
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +4 -6
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +21 -29
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +1 -3
  369. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +1 -9
  370. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +5 -7
  371. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +24 -32
  372. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +24 -26
  373. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +103 -111
  374. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +10 -12
  375. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +61 -69
  376. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +3 -5
  377. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +9 -17
  378. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +8 -10
  379. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +33 -41
  380. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +5 -7
  381. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +18 -26
  382. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +7 -9
  383. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +19 -27
  384. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +3 -5
  385. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +8 -16
  386. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +367 -290
  387. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +10 -0
  388. data/src/core/ext/xds/xds_client.cc +6 -9
  389. data/src/core/ext/xds/xds_client.h +2 -2
  390. data/src/core/ext/xds/xds_cluster.cc +30 -42
  391. data/src/core/ext/xds/xds_cluster.h +0 -4
  392. data/src/core/ext/xds/xds_endpoint.cc +12 -19
  393. data/src/core/ext/xds/xds_endpoint.h +0 -1
  394. data/src/core/ext/xds/xds_http_filters.cc +1 -4
  395. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +1 -4
  396. data/src/core/ext/xds/xds_listener.cc +14 -14
  397. data/src/core/ext/xds/xds_listener.h +13 -3
  398. data/src/core/ext/xds/xds_resource_type.h +1 -7
  399. data/src/core/ext/xds/xds_resource_type_impl.h +9 -11
  400. data/src/core/ext/xds/xds_route_config.cc +10 -11
  401. data/src/core/ext/xds/xds_route_config.h +1 -1
  402. data/src/core/ext/xds/xds_server_config_fetcher.cc +53 -28
  403. data/src/core/ext/xds/xds_transport_grpc.cc +11 -1
  404. data/src/core/lib/backoff/random_early_detection.cc +4 -2
  405. data/src/core/lib/backoff/random_early_detection.h +2 -4
  406. data/src/core/lib/channel/call_tracer.cc +7 -1
  407. data/src/core/lib/channel/call_tracer.h +4 -1
  408. data/src/core/lib/channel/channelz_registry.h +4 -2
  409. data/src/core/lib/channel/connected_channel.cc +1 -1
  410. data/src/core/lib/config/config_vars.h +1 -1
  411. data/src/core/lib/config/core_configuration.cc +2 -1
  412. data/src/core/lib/config/core_configuration.h +5 -4
  413. data/src/core/lib/debug/stats_data.cc +146 -51
  414. data/src/core/lib/debug/stats_data.h +81 -20
  415. data/src/core/lib/event_engine/ares_resolver.cc +9 -0
  416. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +3 -0
  417. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -0
  418. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +3 -0
  419. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +3 -0
  420. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +3 -0
  421. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +15 -3
  422. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +3 -0
  423. data/src/core/lib/event_engine/nameser.h +102 -0
  424. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1 -1
  425. data/src/core/lib/event_engine/thread_pool/thread_count.h +15 -0
  426. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +3 -15
  427. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +10 -4
  428. data/src/core/lib/experiments/config.cc +9 -1
  429. data/src/core/lib/experiments/experiments.cc +409 -144
  430. data/src/core/lib/experiments/experiments.h +153 -39
  431. data/src/core/lib/gprpp/fork.h +1 -1
  432. data/src/core/lib/gprpp/manual_constructor.h +1 -2
  433. data/src/core/lib/gprpp/no_destruct.h +1 -1
  434. data/src/core/lib/gprpp/per_cpu.cc +2 -0
  435. data/src/core/lib/gprpp/per_cpu.h +36 -7
  436. data/src/core/lib/gprpp/ref_counted_ptr.h +63 -0
  437. data/src/core/lib/gprpp/work_serializer.cc +297 -25
  438. data/src/core/lib/gprpp/work_serializer.h +25 -9
  439. data/src/core/lib/iomgr/combiner.cc +54 -15
  440. data/src/core/lib/iomgr/combiner.h +8 -3
  441. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -4
  442. data/src/core/lib/iomgr/exec_ctx.cc +12 -0
  443. data/src/core/lib/iomgr/exec_ctx.h +55 -19
  444. data/src/core/lib/iomgr/polling_entity.cc +10 -0
  445. data/src/core/lib/iomgr/polling_entity.h +2 -0
  446. data/src/core/lib/iomgr/port.h +14 -0
  447. data/src/core/lib/iomgr/tcp_posix.cc +17 -14
  448. data/src/core/lib/load_balancing/lb_policy.h +10 -9
  449. data/src/core/lib/promise/arena_promise.h +5 -1
  450. data/src/core/lib/promise/detail/seq_state.h +418 -0
  451. data/src/core/lib/promise/latch.h +1 -0
  452. data/src/core/lib/promise/loop.h +8 -5
  453. data/src/core/lib/promise/pipe.h +24 -24
  454. data/src/core/lib/promise/poll.h +4 -6
  455. data/src/core/lib/resolver/server_address.h +1 -0
  456. data/src/core/lib/resource_quota/memory_quota.cc +58 -2
  457. data/src/core/lib/resource_quota/memory_quota.h +4 -1
  458. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +115 -9
  459. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -0
  460. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +86 -0
  461. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -59
  462. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +2 -0
  463. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +7 -57
  464. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -1
  465. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +2 -14
  466. data/src/core/lib/slice/slice.h +6 -0
  467. data/src/core/lib/slice/slice_buffer.cc +15 -0
  468. data/src/core/lib/slice/slice_buffer.h +16 -4
  469. data/src/core/lib/slice/slice_refcount.h +1 -1
  470. data/src/core/lib/surface/call.cc +92 -34
  471. data/src/core/lib/surface/call.h +4 -0
  472. data/src/core/lib/surface/channel.cc +7 -4
  473. data/src/core/lib/surface/channel_init.h +3 -2
  474. data/src/core/lib/surface/server.cc +45 -5
  475. data/src/core/lib/surface/server.h +18 -6
  476. data/src/core/lib/surface/version.cc +2 -2
  477. data/src/core/lib/transport/batch_builder.cc +3 -5
  478. data/src/core/lib/transport/metadata_batch.cc +6 -0
  479. data/src/core/lib/transport/metadata_batch.h +20 -1
  480. data/src/core/lib/transport/parsed_metadata.h +2 -4
  481. data/src/core/lib/transport/simple_slice_based_metadata.h +1 -2
  482. data/src/core/lib/transport/transport.h +21 -11
  483. data/src/core/tsi/ssl_transport_security.cc +7 -0
  484. data/src/core/tsi/ssl_transport_security.h +4 -0
  485. data/src/ruby/ext/grpc/extconf.rb +1 -1
  486. data/src/ruby/ext/grpc/rb_channel_args.c +6 -4
  487. data/src/ruby/lib/grpc/version.rb +1 -1
  488. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -1
  489. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +185 -0
  490. data/third_party/upb/upb/collections/array.c +6 -0
  491. data/third_party/upb/upb/collections/array.h +6 -0
  492. data/third_party/upb/upb/collections/map.c +7 -0
  493. data/third_party/upb/upb/collections/map.h +5 -0
  494. data/third_party/upb/upb/collections/map_sorter_internal.h +1 -1
  495. data/third_party/upb/upb/collections/message_value.h +8 -1
  496. data/third_party/upb/upb/generated_code_support.h +54 -0
  497. data/third_party/upb/upb/hash/common.c +5 -0
  498. data/third_party/upb/upb/hash/common.h +1 -0
  499. data/third_party/upb/upb/hash/str_table.h +1 -0
  500. data/third_party/upb/upb/message/accessors.c +25 -1
  501. data/third_party/upb/upb/message/accessors.h +46 -25
  502. data/third_party/upb/upb/message/accessors_internal.h +69 -3
  503. data/third_party/upb/upb/message/extension_internal.h +1 -1
  504. data/third_party/upb/upb/message/internal/map_entry.h +64 -0
  505. data/third_party/upb/upb/message/internal.h +2 -6
  506. data/third_party/upb/upb/message/message.c +0 -6
  507. data/third_party/upb/upb/message/message.h +1 -1
  508. data/third_party/upb/upb/message/tagged_ptr.h +89 -0
  509. data/third_party/upb/upb/mini_descriptor/build_enum.c +150 -0
  510. data/third_party/upb/upb/mini_descriptor/build_enum.h +63 -0
  511. data/third_party/upb/upb/{mini_table → mini_descriptor}/decode.c +122 -374
  512. data/third_party/upb/upb/{mini_table → mini_descriptor}/decode.h +11 -50
  513. data/third_party/upb/upb/mini_descriptor/internal/base92.c +46 -0
  514. data/third_party/upb/upb/mini_descriptor/internal/base92.h +81 -0
  515. data/third_party/upb/upb/mini_descriptor/internal/decoder.h +73 -0
  516. data/third_party/upb/upb/{mini_table → mini_descriptor/internal}/encode.c +58 -32
  517. data/third_party/upb/upb/{mini_table/encode_internal.h → mini_descriptor/internal/encode.h} +3 -4
  518. data/third_party/upb/upb/{mini_table/encode_internal.hpp → mini_descriptor/internal/encode.hpp} +1 -1
  519. data/third_party/upb/upb/mini_descriptor/internal/modifiers.h +50 -0
  520. data/third_party/upb/upb/{mini_table/common_internal.h → mini_descriptor/internal/wire_constants.h} +3 -23
  521. data/third_party/upb/upb/mini_descriptor/link.c +142 -0
  522. data/third_party/upb/upb/mini_descriptor/link.h +104 -0
  523. data/third_party/upb/upb/mini_table/{types.h → enum.h} +19 -9
  524. data/third_party/upb/upb/mini_table/extension.h +40 -0
  525. data/third_party/upb/upb/mini_table/extension_registry.c +1 -1
  526. data/third_party/upb/upb/mini_table/extension_registry.h +2 -1
  527. data/third_party/upb/upb/mini_table/field.h +118 -0
  528. data/third_party/upb/upb/{json_decode.h → mini_table/file.h} +5 -6
  529. data/third_party/upb/upb/mini_table/{enum_internal.h → internal/enum.h} +7 -19
  530. data/third_party/upb/upb/mini_table/{extension_internal.h → internal/extension.h} +8 -8
  531. data/third_party/upb/upb/mini_table/{field_internal.h → internal/field.h} +10 -66
  532. data/third_party/upb/upb/mini_table/{file_internal.h → internal/file.h} +6 -4
  533. data/third_party/upb/upb/mini_table/internal/message.c +39 -0
  534. data/third_party/upb/upb/mini_table/{message_internal.h → internal/message.h} +14 -37
  535. data/third_party/upb/upb/mini_table/{sub_internal.h → internal/sub.h} +7 -6
  536. data/third_party/upb/upb/mini_table/{common.c → message.c} +2 -33
  537. data/third_party/upb/upb/mini_table/{common.h → message.h} +12 -77
  538. data/third_party/upb/upb/{json_encode.h → mini_table/sub.h} +5 -6
  539. data/third_party/upb/upb/reflection/def.hpp +16 -4
  540. data/third_party/upb/upb/reflection/def_pool_internal.h +1 -1
  541. data/third_party/upb/upb/reflection/desc_state_internal.h +1 -1
  542. data/third_party/upb/upb/reflection/enum_def.c +1 -1
  543. data/third_party/upb/upb/reflection/field_def.c +2 -1
  544. data/third_party/upb/upb/reflection/message.c +2 -2
  545. data/third_party/upb/upb/reflection/message_def.c +3 -1
  546. data/third_party/upb/upb/wire/decode.c +68 -29
  547. data/third_party/upb/upb/wire/decode.h +40 -0
  548. data/third_party/upb/upb/wire/encode.c +23 -13
  549. metadata +44 -27
  550. data/src/core/lib/event_engine/thread_pool/original_thread_pool.cc +0 -256
  551. data/src/core/lib/event_engine/thread_pool/original_thread_pool.h +0 -137
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7456c1351be3b1099ed289182ed9a027e155ad61586a21a8fa465d9283829eed
4
- data.tar.gz: e1e3712395ba5f26bc75a4b64b416eb6df3cfdee74436699de8e70f6c68023b2
3
+ metadata.gz: d5697d69958e8e2da81809d8b177b5711134fc1b3273360b4e46016c39772463
4
+ data.tar.gz: c89bc94a56c355a7e2c611740486a7552dfe5ceabff95a013ef6c9ef19351b51
5
5
  SHA512:
6
- metadata.gz: 431da7a7b6d598cdc27af5cc6f23bd84f3d6bbd25e1203096e00057e9b40a98bfa45960e97484529315568b7ecc46f3c9a920612fde0c8ecc872fb9cff8fe05e
7
- data.tar.gz: 517356282e8408265141cd3d97475679a89a0c7669f2f40aa09322b383a399ee1a93b90a311355682b7a735c4d80bf0c06b1de9bdeb7bcd233bc6dc02b758aad
6
+ metadata.gz: b7db75ce8a7fdd9bd8a00c9561dec1fa1550888987cfe6d56c9d25a4cf59bbbfaf9294624645543226589a2d340c382cd6c1335b67e2f5a00146eff4348d7b9d
7
+ data.tar.gz: 077fe5996f3b52ad73cb5d2fb9ec150b0a45290e1a7d8735eeb1792e6f1d97659a42f877e51e0380ced1080801e56236e7313ca4a565fb9d17cb411f5ca9241a
data/Makefile CHANGED
@@ -410,8 +410,8 @@ E = @echo
410
410
  Q = @
411
411
  endif
412
412
 
413
- CORE_VERSION = 35.0.0
414
- CPP_VERSION = 1.58.0
413
+ CORE_VERSION = 36.0.0
414
+ CPP_VERSION = 1.59.0
415
415
 
416
416
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
417
417
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -447,7 +447,7 @@ SHARED_EXT_CORE = dll
447
447
  SHARED_EXT_CPP = dll
448
448
 
449
449
  SHARED_PREFIX =
450
- SHARED_VERSION_CORE = -35
450
+ SHARED_VERSION_CORE = -36
451
451
  SHARED_VERSION_CPP = -1
452
452
  else ifeq ($(SYSTEM),Darwin)
453
453
  EXECUTABLE_SUFFIX =
@@ -814,8 +814,8 @@ $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
814
814
  ifeq ($(SYSTEM),Darwin)
815
815
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(LDLIBS)
816
816
  else
817
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.35 -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(LDLIBS)
818
- $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.35
817
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.36 -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(LDLIBS)
818
+ $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.36
819
819
  $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so
820
820
  endif
821
821
  endif
@@ -938,8 +938,8 @@ $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OB
938
938
  ifeq ($(SYSTEM),Darwin)
939
939
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
940
940
  else
941
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.35 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
942
- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.35
941
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.36 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
942
+ $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.36
943
943
  $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so
944
944
  endif
945
945
  endif
@@ -969,9 +969,10 @@ LIBGRPC_SRC = \
969
969
  src/core/ext/filters/client_channel/config_selector.cc \
970
970
  src/core/ext/filters/client_channel/dynamic_filters.cc \
971
971
  src/core/ext/filters/client_channel/global_subchannel_pool.cc \
972
- src/core/ext/filters/client_channel/http_proxy.cc \
972
+ src/core/ext/filters/client_channel/http_proxy_mapper.cc \
973
973
  src/core/ext/filters/client_channel/lb_policy/address_filtering.cc \
974
974
  src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc \
975
+ src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc \
975
976
  src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \
976
977
  src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \
977
978
  src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc \
@@ -1461,7 +1462,6 @@ LIBGRPC_SRC = \
1461
1462
  src/core/lib/event_engine/slice.cc \
1462
1463
  src/core/lib/event_engine/slice_buffer.cc \
1463
1464
  src/core/lib/event_engine/tcp_socket_utils.cc \
1464
- src/core/lib/event_engine/thread_pool/original_thread_pool.cc \
1465
1465
  src/core/lib/event_engine/thread_pool/thread_count.cc \
1466
1466
  src/core/lib/event_engine/thread_pool/thread_pool_factory.cc \
1467
1467
  src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \
@@ -1629,6 +1629,7 @@ LIBGRPC_SRC = \
1629
1629
  src/core/lib/security/credentials/plugin/plugin_credentials.cc \
1630
1630
  src/core/lib/security/credentials/ssl/ssl_credentials.cc \
1631
1631
  src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc \
1632
+ src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc \
1632
1633
  src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc \
1633
1634
  src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc \
1634
1635
  src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc \
@@ -1837,8 +1838,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
1837
1838
  ifeq ($(SYSTEM),Darwin)
1838
1839
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(GRPC_ABSEIL_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libcares.a $(ZLIB_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libupb_textformat_lib.a $(LIBDIR)/$(CONFIG)/libupb_json_lib.a $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LIBDIR)/$(CONFIG)/libre2.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
1839
1840
  else
1840
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.35 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(GRPC_ABSEIL_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libcares.a $(ZLIB_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libupb_textformat_lib.a $(LIBDIR)/$(CONFIG)/libupb_json_lib.a $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LIBDIR)/$(CONFIG)/libre2.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
1841
- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.35
1841
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.36 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(GRPC_ABSEIL_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libcares.a $(ZLIB_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libupb_textformat_lib.a $(LIBDIR)/$(CONFIG)/libupb_json_lib.a $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LIBDIR)/$(CONFIG)/libre2.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
1842
+ $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.36
1842
1843
  $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
1843
1844
  endif
1844
1845
  endif
@@ -1872,9 +1873,10 @@ LIBGRPC_UNSECURE_SRC = \
1872
1873
  src/core/ext/filters/client_channel/config_selector.cc \
1873
1874
  src/core/ext/filters/client_channel/dynamic_filters.cc \
1874
1875
  src/core/ext/filters/client_channel/global_subchannel_pool.cc \
1875
- src/core/ext/filters/client_channel/http_proxy.cc \
1876
+ src/core/ext/filters/client_channel/http_proxy_mapper.cc \
1876
1877
  src/core/ext/filters/client_channel/lb_policy/address_filtering.cc \
1877
1878
  src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc \
1879
+ src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc \
1878
1880
  src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \
1879
1881
  src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \
1880
1882
  src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc \
@@ -2028,7 +2030,6 @@ LIBGRPC_UNSECURE_SRC = \
2028
2030
  src/core/lib/event_engine/slice.cc \
2029
2031
  src/core/lib/event_engine/slice_buffer.cc \
2030
2032
  src/core/lib/event_engine/tcp_socket_utils.cc \
2031
- src/core/lib/event_engine/thread_pool/original_thread_pool.cc \
2032
2033
  src/core/lib/event_engine/thread_pool/thread_count.cc \
2033
2034
  src/core/lib/event_engine/thread_pool/thread_pool_factory.cc \
2034
2035
  src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \
@@ -2236,6 +2237,11 @@ LIBGRPC_UNSECURE_SRC = \
2236
2237
  src/core/tsi/local_transport_security.cc \
2237
2238
  src/core/tsi/transport_security.cc \
2238
2239
  src/core/tsi/transport_security_grpc.cc \
2240
+ third_party/upb/upb/message/accessors.c \
2241
+ third_party/upb/upb/mini_descriptor/build_enum.c \
2242
+ third_party/upb/upb/mini_descriptor/decode.c \
2243
+ third_party/upb/upb/mini_descriptor/internal/base92.c \
2244
+ third_party/upb/upb/mini_descriptor/link.c \
2239
2245
 
2240
2246
  PUBLIC_HEADERS_C += \
2241
2247
  include/grpc/byte_buffer.h \
@@ -2335,8 +2341,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $
2335
2341
  ifeq ($(SYSTEM),Darwin)
2336
2342
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(GRPC_ABSEIL_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libcares.a $(ZLIB_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2337
2343
  else
2338
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.35 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(GRPC_ABSEIL_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libcares.a $(ZLIB_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2339
- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.35
2344
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.36 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(GRPC_ABSEIL_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libcares.a $(ZLIB_MERGE_LIBS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2345
+ $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.36
2340
2346
  $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so
2341
2347
  endif
2342
2348
  endif
@@ -2402,8 +2408,8 @@ $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBRE2_OB
2402
2408
  ifeq ($(SYSTEM),Darwin)
2403
2409
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)re2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBRE2_OBJS) $(LDLIBS)
2404
2410
  else
2405
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libre2.so.35 -o $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBRE2_OBJS) $(LDLIBS)
2406
- $(Q) ln -sf $(SHARED_PREFIX)re2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).so.35
2411
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libre2.so.36 -o $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBRE2_OBJS) $(LDLIBS)
2412
+ $(Q) ln -sf $(SHARED_PREFIX)re2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).so.36
2407
2413
  $(Q) ln -sf $(SHARED_PREFIX)re2$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libre2$(SHARED_VERSION_CORE).so
2408
2414
  endif
2409
2415
  endif
@@ -2430,10 +2436,9 @@ LIBUPB_SRC = \
2430
2436
  third_party/upb/upb/mem/alloc.c \
2431
2437
  third_party/upb/upb/mem/arena.c \
2432
2438
  third_party/upb/upb/message/message.c \
2433
- third_party/upb/upb/mini_table/common.c \
2434
- third_party/upb/upb/mini_table/decode.c \
2435
- third_party/upb/upb/mini_table/encode.c \
2436
2439
  third_party/upb/upb/mini_table/extension_registry.c \
2440
+ third_party/upb/upb/mini_table/internal/message.c \
2441
+ third_party/upb/upb/mini_table/message.c \
2437
2442
  third_party/upb/upb/wire/decode.c \
2438
2443
  third_party/upb/upb/wire/decode_fast.c \
2439
2444
  third_party/upb/upb/wire/encode.c \
@@ -2468,8 +2473,8 @@ $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBUPB_OB
2468
2473
  ifeq ($(SYSTEM),Darwin)
2469
2474
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_OBJS) $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LDLIBS)
2470
2475
  else
2471
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.35 -o $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_OBJS) $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LDLIBS)
2472
- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.35
2476
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.36 -o $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_OBJS) $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LDLIBS)
2477
+ $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.36
2473
2478
  $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so
2474
2479
  endif
2475
2480
  endif
@@ -2492,10 +2497,9 @@ LIBUPB_COLLECTIONS_LIB_SRC = \
2492
2497
  third_party/upb/upb/mem/alloc.c \
2493
2498
  third_party/upb/upb/mem/arena.c \
2494
2499
  third_party/upb/upb/message/message.c \
2495
- third_party/upb/upb/mini_table/common.c \
2496
- third_party/upb/upb/mini_table/decode.c \
2497
- third_party/upb/upb/mini_table/encode.c \
2498
2500
  third_party/upb/upb/mini_table/extension_registry.c \
2501
+ third_party/upb/upb/mini_table/internal/message.c \
2502
+ third_party/upb/upb/mini_table/message.c \
2499
2503
 
2500
2504
  PUBLIC_HEADERS_C += \
2501
2505
 
@@ -2525,8 +2529,8 @@ $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CO
2525
2529
  ifeq ($(SYSTEM),Darwin)
2526
2530
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)upb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_COLLECTIONS_LIB_OBJS) $(LDLIBS)
2527
2531
  else
2528
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb_collections_lib.so.35 -o $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_COLLECTIONS_LIB_OBJS) $(LDLIBS)
2529
- $(Q) ln -sf $(SHARED_PREFIX)upb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).so.35
2532
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb_collections_lib.so.36 -o $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_COLLECTIONS_LIB_OBJS) $(LDLIBS)
2533
+ $(Q) ln -sf $(SHARED_PREFIX)upb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).so.36
2530
2534
  $(Q) ln -sf $(SHARED_PREFIX)upb_collections_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_collections_lib$(SHARED_VERSION_CORE).so
2531
2535
  endif
2532
2536
  endif
@@ -2545,6 +2549,11 @@ LIBUPB_JSON_LIB_SRC = \
2545
2549
  third_party/upb/upb/json/decode.c \
2546
2550
  third_party/upb/upb/json/encode.c \
2547
2551
  third_party/upb/upb/message/accessors.c \
2552
+ third_party/upb/upb/mini_descriptor/build_enum.c \
2553
+ third_party/upb/upb/mini_descriptor/decode.c \
2554
+ third_party/upb/upb/mini_descriptor/internal/base92.c \
2555
+ third_party/upb/upb/mini_descriptor/internal/encode.c \
2556
+ third_party/upb/upb/mini_descriptor/link.c \
2548
2557
  third_party/upb/upb/reflection/def_builder.c \
2549
2558
  third_party/upb/upb/reflection/def_pool.c \
2550
2559
  third_party/upb/upb/reflection/def_type.c \
@@ -2590,8 +2599,8 @@ $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(
2590
2599
  ifeq ($(SYSTEM),Darwin)
2591
2600
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)upb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_JSON_LIB_OBJS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2592
2601
  else
2593
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb_json_lib.so.35 -o $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_JSON_LIB_OBJS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2594
- $(Q) ln -sf $(SHARED_PREFIX)upb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).so.35
2602
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb_json_lib.so.36 -o $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_JSON_LIB_OBJS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2603
+ $(Q) ln -sf $(SHARED_PREFIX)upb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).so.36
2595
2604
  $(Q) ln -sf $(SHARED_PREFIX)upb_json_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_json_lib$(SHARED_VERSION_CORE).so
2596
2605
  endif
2597
2606
  endif
@@ -2608,6 +2617,11 @@ endif
2608
2617
  LIBUPB_TEXTFORMAT_LIB_SRC = \
2609
2618
  src/core/ext/upb-generated/google/protobuf/descriptor.upb.c \
2610
2619
  third_party/upb/upb/message/accessors.c \
2620
+ third_party/upb/upb/mini_descriptor/build_enum.c \
2621
+ third_party/upb/upb/mini_descriptor/decode.c \
2622
+ third_party/upb/upb/mini_descriptor/internal/base92.c \
2623
+ third_party/upb/upb/mini_descriptor/internal/encode.c \
2624
+ third_party/upb/upb/mini_descriptor/link.c \
2611
2625
  third_party/upb/upb/reflection/def_builder.c \
2612
2626
  third_party/upb/upb/reflection/def_pool.c \
2613
2627
  third_party/upb/upb/reflection/def_type.c \
@@ -2654,8 +2668,8 @@ $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_COR
2654
2668
  ifeq ($(SYSTEM),Darwin)
2655
2669
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)upb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_TEXTFORMAT_LIB_OBJS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2656
2670
  else
2657
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb_textformat_lib.so.35 -o $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_TEXTFORMAT_LIB_OBJS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2658
- $(Q) ln -sf $(SHARED_PREFIX)upb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).so.35
2671
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb_textformat_lib.so.36 -o $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_TEXTFORMAT_LIB_OBJS) $(LIBDIR)/$(CONFIG)/libupb.a $(LIBDIR)/$(CONFIG)/libutf8_range_lib.a $(LIBDIR)/$(CONFIG)/libupb_collections_lib.a $(LDLIBS)
2672
+ $(Q) ln -sf $(SHARED_PREFIX)upb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).so.36
2659
2673
  $(Q) ln -sf $(SHARED_PREFIX)upb_textformat_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb_textformat_lib$(SHARED_VERSION_CORE).so
2660
2674
  endif
2661
2675
  endif
@@ -2702,8 +2716,8 @@ $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
2702
2716
  ifeq ($(SYSTEM),Darwin)
2703
2717
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)utf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUTF8_RANGE_LIB_OBJS) $(LDLIBS)
2704
2718
  else
2705
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libutf8_range_lib.so.35 -o $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUTF8_RANGE_LIB_OBJS) $(LDLIBS)
2706
- $(Q) ln -sf $(SHARED_PREFIX)utf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).so.35
2719
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libutf8_range_lib.so.36 -o $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUTF8_RANGE_LIB_OBJS) $(LDLIBS)
2720
+ $(Q) ln -sf $(SHARED_PREFIX)utf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).so.36
2707
2721
  $(Q) ln -sf $(SHARED_PREFIX)utf8_range_lib$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libutf8_range_lib$(SHARED_VERSION_CORE).so
2708
2722
  endif
2709
2723
  endif
@@ -3661,6 +3675,7 @@ src/core/lib/security/credentials/local/local_credentials.cc: $(OPENSSL_DEP)
3661
3675
  src/core/lib/security/credentials/oauth2/oauth2_credentials.cc: $(OPENSSL_DEP)
3662
3676
  src/core/lib/security/credentials/ssl/ssl_credentials.cc: $(OPENSSL_DEP)
3663
3677
  src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc: $(OPENSSL_DEP)
3678
+ src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc: $(OPENSSL_DEP)
3664
3679
  src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc: $(OPENSSL_DEP)
3665
3680
  src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc: $(OPENSSL_DEP)
3666
3681
  src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc: $(OPENSSL_DEP)
@@ -122,7 +122,7 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
122
122
  /// \a Cancel method.
123
123
  struct TaskHandle {
124
124
  intptr_t keys[2];
125
- static const TaskHandle kInvalid;
125
+ static const GRPC_DLL TaskHandle kInvalid;
126
126
  friend bool operator==(const TaskHandle& lhs, const TaskHandle& rhs);
127
127
  friend bool operator!=(const TaskHandle& lhs, const TaskHandle& rhs);
128
128
  };
@@ -131,7 +131,7 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
131
131
  /// Returned by \a Connect, and can be passed to \a CancelConnect.
132
132
  struct ConnectionHandle {
133
133
  intptr_t keys[2];
134
- static const ConnectionHandle kInvalid;
134
+ static const GRPC_DLL ConnectionHandle kInvalid;
135
135
  friend bool operator==(const ConnectionHandle& lhs,
136
136
  const ConnectionHandle& rhs);
137
137
  friend bool operator!=(const ConnectionHandle& lhs,
@@ -318,7 +318,7 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
318
318
  ///
319
319
  /// If the associated connection has not been completed, it will be cancelled,
320
320
  /// and this method will return true. The \a OnConnectCallback will not be
321
- /// called.
321
+ /// called, and \a on_connect will be destroyed before this method returns.
322
322
  virtual bool CancelConnect(ConnectionHandle handle) = 0;
323
323
  /// Provides asynchronous resolution.
324
324
  ///
@@ -457,13 +457,9 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
457
457
  /// be cancelled, and this function will return false.
458
458
  ///
459
459
  /// If the associated closure has not been scheduled to run, it will be
460
- /// cancelled, and the associated absl::AnyInvocable or \a Closure* will not
461
- /// be executed. In this case, Cancel will return true.
462
- ///
463
- /// Implementation note: closures should be destroyed in a timely manner after
464
- /// execution or cancellation (milliseconds), since any state bound to the
465
- /// closure may need to be destroyed for things to progress (e.g., if a
466
- /// closure holds a ref to some ref-counted object).
460
+ /// cancelled, and this method will return true. The associated
461
+ /// absl::AnyInvocable or \a Closure* will not be called. If the closure type
462
+ /// was an absl::AnyInvocable, it will be destroyed before the method returns.
467
463
  virtual bool Cancel(TaskHandle handle) = 0;
468
464
  };
469
465
 
@@ -15,6 +15,10 @@
15
15
  #ifndef GRPC_IMPL_CHANNEL_ARG_NAMES_H
16
16
  #define GRPC_IMPL_CHANNEL_ARG_NAMES_H
17
17
 
18
+ // IWYU pragma: private, include "third_party/grpc/include/grpc/grpc.h"
19
+ // IWYU pragma: friend "src/.*"
20
+ // IWYU pragma: friend "test/.*"
21
+
18
22
  /** \defgroup grpc_arg_keys
19
23
  * Channel argument keys.
20
24
  * \{
@@ -53,6 +53,57 @@
53
53
  #define WIN32_LEAN_AND_MEAN
54
54
  #endif /* WIN32_LEAN_AND_MEAN */
55
55
 
56
+ // GPRC_DLL
57
+ // inspired by
58
+ // https://github.com/abseil/abseil-cpp/blob/20220623.1/absl/base/config.h#L730-L747
59
+ //
60
+ // When building gRPC as a DLL, this macro expands to `__declspec(dllexport)`
61
+ // so we can annotate symbols appropriately as being exported. When used in
62
+ // headers consuming a DLL, this macro expands to `__declspec(dllimport)` so
63
+ // that consumers know the symbol is defined inside the DLL. In all other cases,
64
+ // the macro expands to nothing.
65
+ //
66
+ // Warning: shared library support for Windows (i.e. producing DLL plus import
67
+ // library instead of a static library) is experimental. Some symbols that can
68
+ // be linked using the static library may not be available when using the
69
+ // dynamically linked library.
70
+ //
71
+ // Note: GRPC_DLL_EXPORTS is set in CMakeLists.txt when building shared
72
+ // grpc{,_unsecure}
73
+ // GRPC_DLL_IMPORTS is set by us as part of the interface for consumers of
74
+ // the DLL
75
+ #if !defined(GRPC_DLL)
76
+ #if defined(GRPC_DLL_EXPORTS)
77
+ #define GRPC_DLL __declspec(dllexport)
78
+ #elif defined(GRPC_DLL_IMPORTS)
79
+ #define GRPC_DLL __declspec(dllimport)
80
+ #else
81
+ #define GRPC_DLL
82
+ #endif // defined(GRPC_DLL_EXPORTS)
83
+ #endif
84
+
85
+ // same for gRPC++
86
+ #if !defined(GRPCXX_DLL)
87
+ #if defined(GRPCXX_DLL_EXPORTS)
88
+ #define GRPCXX_DLL __declspec(dllexport)
89
+ #elif defined(GRPCXX_DLL_IMPORTS)
90
+ #define GRPCXX_DLL __declspec(dllimport)
91
+ #else
92
+ #define GRPCXX_DLL
93
+ #endif // defined(GRPCXX_DLL_EXPORTS)
94
+ #endif
95
+
96
+ // same for GPR
97
+ #if !defined(GPR_DLL)
98
+ #if defined(GPR_DLL_EXPORTS)
99
+ #define GPR_DLL __declspec(dllexport)
100
+ #elif defined(GPR_DLL_IMPORTS)
101
+ #define GPR_DLL __declspec(dllimport)
102
+ #else
103
+ #define GPR_DLL
104
+ #endif // defined(GPR_DLL_EXPORTS)
105
+ #endif
106
+
56
107
  #ifndef NOMINMAX
57
108
  #define GRPC_NOMINMX_WAS_NOT_DEFINED
58
109
  #define NOMINMAX
@@ -68,7 +119,6 @@
68
119
  #error \
69
120
  "Please compile grpc with _WIN32_WINNT of at least 0x600 (aka Windows Vista)"
70
121
  #endif /* _WIN32_WINNT < 0x0600 */
71
- #endif /* defined(_WIN32_WINNT) */
72
122
 
73
123
  #ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
74
124
  #undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
@@ -81,6 +131,11 @@
81
131
  #endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
82
132
  #endif /* defined(_WIN64) || defined(WIN64) || defined(_WIN32) || \
83
133
  defined(WIN32) */
134
+ #else
135
+ #define GRPC_DLL
136
+ #define GRPCXX_DLL
137
+ #define GPR_DLL
138
+ #endif /* defined(_WIN32_WINNT) */
84
139
 
85
140
  /* Override this file with one for your platform if you need to redefine
86
141
  things. */
@@ -447,6 +502,24 @@
447
502
  #else /* _LP64 */
448
503
  #define GPR_ARCH_32 1
449
504
  #endif /* _LP64 */
505
+ #elif defined(__QNX__) || defined(__QNXNTO__)
506
+ #define GPR_PLATFORM_STRING "qnx"
507
+ #define GPR_CPU_POSIX 1
508
+ #define GPR_GCC_ATOMIC 1
509
+ #define GPR_POSIX_LOG 1
510
+ #define GPR_POSIX_ENV 1
511
+ #define GPR_POSIX_TMPFILE 1
512
+ #define GPR_POSIX_STAT 1
513
+ #define GPR_POSIX_STRING 1
514
+ #define GPR_POSIX_SYNC 1
515
+ #define GPR_POSIX_TIME 1
516
+ #define GPR_HAS_PTHREAD_H 1
517
+ #define GPR_GETPID_IN_UNISTD_H 1
518
+ #ifdef _LP64
519
+ #define GPR_ARCH_64 1
520
+ #else /* _LP64 */
521
+ #define GPR_ARCH_32 1
522
+ #endif /* _LP64 */
450
523
  #else
451
524
  #error "Could not auto-detect platform"
452
525
  #endif
@@ -20,11 +20,12 @@
20
20
  #include "src/core/ext/filters/channel_idle/channel_idle_filter.h"
21
21
 
22
22
  #include <stdint.h>
23
- #include <stdlib.h>
24
23
 
25
24
  #include <functional>
26
25
  #include <utility>
27
26
 
27
+ #include "absl/base/thread_annotations.h"
28
+ #include "absl/random/random.h"
28
29
  #include "absl/types/optional.h"
29
30
 
30
31
  #include <grpc/impl/channel_arg_names.h>
@@ -35,9 +36,13 @@
35
36
  #include "src/core/lib/channel/promise_based_filter.h"
36
37
  #include "src/core/lib/config/core_configuration.h"
37
38
  #include "src/core/lib/debug/trace.h"
39
+ #include "src/core/lib/experiments/experiments.h"
38
40
  #include "src/core/lib/gprpp/debug_location.h"
41
+ #include "src/core/lib/gprpp/no_destruct.h"
39
42
  #include "src/core/lib/gprpp/orphanable.h"
43
+ #include "src/core/lib/gprpp/per_cpu.h"
40
44
  #include "src/core/lib/gprpp/status_helper.h"
45
+ #include "src/core/lib/gprpp/sync.h"
41
46
  #include "src/core/lib/iomgr/closure.h"
42
47
  #include "src/core/lib/iomgr/error.h"
43
48
  #include "src/core/lib/iomgr/exec_ctx.h"
@@ -95,10 +100,8 @@ struct MaxAgeFilter::Config {
95
100
  max_connection_idle != Duration::Infinity();
96
101
  }
97
102
 
98
- // A random jitter of +/-10% will be added to MAX_CONNECTION_AGE to spread out
99
- // connection storms. Note that the MAX_CONNECTION_AGE option without jitter
100
- // would not create connection storms by itself, but if there happened to be a
101
- // connection storm it could cause it to repeat at a fixed period.
103
+ // A random jitter of +/-10% will be added to MAX_CONNECTION_AGE and
104
+ // MAX_CONNECTION_IDLE to spread out reconnection storms.
102
105
  static Config FromChannelArgs(const ChannelArgs& args) {
103
106
  const Duration args_max_age =
104
107
  args.GetDurationFromIntMillis(GRPC_ARG_MAX_CONNECTION_AGE_MS)
@@ -111,12 +114,22 @@ struct MaxAgeFilter::Config {
111
114
  .value_or(kDefaultMaxConnectionAgeGrace);
112
115
  // generate a random number between 1 - kMaxConnectionAgeJitter and
113
116
  // 1 + kMaxConnectionAgeJitter
114
- const double multiplier =
115
- rand() * kMaxConnectionAgeJitter * 2.0 / RAND_MAX + 1.0 -
116
- kMaxConnectionAgeJitter;
117
+ struct BitGen {
118
+ Mutex mu;
119
+ absl::BitGen bit_gen ABSL_GUARDED_BY(mu);
120
+ double MakeUniformDouble(double min, double max) {
121
+ MutexLock lock(&mu);
122
+ return absl::Uniform(bit_gen, min, max);
123
+ }
124
+ };
125
+ static NoDestruct<PerCpu<BitGen>> bit_gen(PerCpuOptions().SetMaxShards(8));
126
+ const double multiplier = bit_gen->this_cpu().MakeUniformDouble(
127
+ 1.0 - kMaxConnectionAgeJitter, 1.0 + kMaxConnectionAgeJitter);
117
128
  // GRPC_MILLIS_INF_FUTURE - 0.5 converts the value to float, so that result
118
129
  // will not be cast to int implicitly before the comparison.
119
- return Config{args_max_age * multiplier, args_max_idle, args_max_age_grace};
130
+ return Config{args_max_age * multiplier,
131
+ args_max_idle * (IsJitterMaxIdleEnabled() ? multiplier : 1.0),
132
+ args_max_age_grace};
120
133
  }
121
134
  };
122
135