grpc 1.81.1 → 1.82.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (861) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +12 -9
  3. data/include/grpc/grpc.h +6 -7
  4. data/include/grpc/impl/channel_arg_names.h +3 -1
  5. data/src/core/call/call_filters.h +2 -2
  6. data/src/core/call/client_call.cc +1 -1
  7. data/src/core/call/interception_chain.h +6 -9
  8. data/src/core/call/metadata.h +1 -1
  9. data/src/core/call/metadata_batch.cc +1 -1
  10. data/src/core/call/metadata_batch.h +17 -1
  11. data/src/core/call/parsed_metadata.h +7 -2
  12. data/src/core/call/server_call.cc +4 -2
  13. data/src/core/call/server_call.h +9 -2
  14. data/src/core/call/status_util.cc +0 -4
  15. data/src/core/call/status_util.h +0 -3
  16. data/src/core/channelz/channel_trace.cc +3 -1
  17. data/src/core/client_channel/backup_poller.cc +1 -1
  18. data/src/core/client_channel/client_channel.cc +6 -14
  19. data/src/core/client_channel/client_channel.h +2 -2
  20. data/src/core/client_channel/client_channel_filter.cc +8 -17
  21. data/src/core/client_channel/client_channel_filter.h +2 -2
  22. data/src/core/client_channel/client_channel_plugin.cc +1 -1
  23. data/src/core/client_channel/config_selector.h +2 -7
  24. data/src/core/client_channel/dynamic_filters.cc +4 -7
  25. data/src/core/client_channel/dynamic_filters.h +1 -3
  26. data/src/core/client_channel/retry_filter.cc +2 -25
  27. data/src/core/client_channel/retry_filter.h +3 -7
  28. data/src/core/client_channel/retry_filter_legacy_call_data.cc +1 -1
  29. data/src/core/client_channel/retry_filter_legacy_call_data.h +2 -2
  30. data/src/core/client_channel/retry_interceptor.cc +7 -35
  31. data/src/core/client_channel/retry_interceptor.h +11 -14
  32. data/src/core/client_channel/retry_service_config.cc +0 -2
  33. data/src/core/client_channel/retry_service_config.h +0 -2
  34. data/src/core/client_channel/retry_throttle.cc +19 -7
  35. data/src/core/client_channel/retry_throttle.h +24 -7
  36. data/src/core/client_channel/subchannel.cc +1 -1
  37. data/src/core/credentials/call/external/external_account_credentials.cc +125 -12
  38. data/src/core/credentials/call/external/external_account_credentials.h +6 -1
  39. data/src/core/credentials/call/jwt/jwt_credentials.cc +11 -1
  40. data/src/core/credentials/call/jwt/jwt_credentials.h +3 -0
  41. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +64 -11
  42. data/src/core/credentials/call/oauth2/oauth2_credentials.h +0 -1
  43. data/src/core/credentials/call/regional_access_boundary_fetcher.cc +411 -0
  44. data/src/core/credentials/call/regional_access_boundary_fetcher.h +158 -0
  45. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +1 -1
  46. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +7 -1
  47. data/src/core/credentials/transport/insecure/insecure_security_connector.h +1 -1
  48. data/src/core/credentials/transport/local/local_security_connector.cc +1 -1
  49. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -0
  50. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +28 -66
  51. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -8
  52. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +24 -58
  53. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +24 -19
  54. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -81
  55. data/src/core/ext/filters/message_size/message_size_filter.h +1 -50
  56. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -56
  57. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -14
  58. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
  59. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +175 -51
  60. data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
  61. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +73 -6
  62. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
  63. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
  64. data/src/core/ext/transport/chttp2/transport/flow_control.h +11 -0
  65. data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
  66. data/src/core/ext/transport/chttp2/transport/frame.cc +63 -13
  67. data/src/core/ext/transport/chttp2/transport/frame.h +45 -10
  68. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
  69. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +11 -3
  70. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  71. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
  72. data/src/core/ext/transport/chttp2/transport/header_assembler.h +54 -22
  73. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +53 -5
  74. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +22 -0
  75. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +20 -0
  76. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +33 -1
  77. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
  78. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +118 -157
  79. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +6 -13
  80. data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2187 -0
  81. data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +748 -0
  82. data/src/core/ext/transport/chttp2/transport/http2_settings.h +19 -4
  83. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
  84. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +50 -17
  85. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +13 -15
  86. data/src/core/ext/transport/chttp2/transport/http2_transport.h +16 -48
  87. data/src/core/ext/transport/chttp2/transport/internal.h +14 -0
  88. data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
  89. data/src/core/ext/transport/chttp2/transport/parsing.cc +82 -24
  90. data/src/core/ext/transport/chttp2/transport/read_context.h +452 -0
  91. data/src/core/ext/transport/chttp2/transport/security_frame.h +12 -3
  92. data/src/core/ext/transport/chttp2/transport/stream.h +25 -26
  93. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +6 -4
  94. data/src/core/ext/transport/chttp2/transport/write_cycle.h +9 -1
  95. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -2
  96. data/src/core/ext/upb-gen/cel/expr/checked.upb.h +621 -432
  97. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +264 -166
  98. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +0 -13
  99. data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +708 -497
  100. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +294 -176
  101. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +0 -15
  102. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +262 -181
  103. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +84 -58
  104. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +0 -5
  105. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +254 -190
  106. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +107 -53
  107. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +0 -4
  108. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +271 -190
  109. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +88 -64
  110. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +0 -5
  111. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +1035 -730
  112. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +384 -260
  113. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +0 -19
  114. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +87 -56
  115. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +26 -16
  116. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +0 -2
  117. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +105 -71
  118. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +30 -22
  119. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +0 -2
  120. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +31 -29
  121. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +19 -7
  122. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +0 -1
  123. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +25 -23
  124. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +15 -7
  125. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +0 -1
  126. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +25 -23
  127. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +15 -7
  128. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +0 -1
  129. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +201 -165
  130. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +79 -31
  131. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +0 -2
  132. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +29 -26
  133. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +17 -11
  134. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +0 -1
  135. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +46 -29
  136. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +37 -19
  137. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +4 -4
  138. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +34 -27
  139. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +34 -13
  140. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +1 -2
  141. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +617 -452
  142. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +221 -163
  143. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +0 -16
  144. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1339 -970
  145. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +484 -324
  146. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +0 -23
  147. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +181 -135
  148. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +59 -43
  149. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +0 -3
  150. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1353 -1028
  151. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +535 -361
  152. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +0 -25
  153. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +37 -33
  154. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +19 -13
  155. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +0 -1
  156. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +234 -196
  157. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +77 -57
  158. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +0 -1
  159. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +695 -502
  160. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +246 -186
  161. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +0 -15
  162. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +140 -116
  163. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +53 -43
  164. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +0 -3
  165. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +363 -269
  166. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +131 -89
  167. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +0 -8
  168. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +35 -31
  169. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +15 -13
  170. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +0 -1
  171. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +1073 -769
  172. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +515 -293
  173. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +0 -30
  174. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +25 -23
  175. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +15 -7
  176. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +0 -1
  177. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +375 -267
  178. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +142 -86
  179. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +0 -7
  180. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +32 -27
  181. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +13 -11
  182. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +0 -1
  183. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +29 -26
  184. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +17 -11
  185. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +0 -1
  186. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +87 -56
  187. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +26 -16
  188. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +0 -2
  189. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +634 -468
  190. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +255 -161
  191. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +0 -14
  192. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -474
  193. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +228 -130
  194. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +0 -9
  195. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +56 -40
  196. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +15 -13
  197. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +0 -1
  198. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +34 -29
  199. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +19 -11
  200. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +0 -1
  201. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +811 -635
  202. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +347 -221
  203. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +0 -16
  204. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +174 -118
  205. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +62 -38
  206. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +0 -4
  207. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +78 -57
  208. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +28 -18
  209. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +0 -2
  210. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +37 -33
  211. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +22 -14
  212. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +0 -1
  213. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +159 -119
  214. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +47 -35
  215. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +0 -5
  216. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +101 -76
  217. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +41 -23
  218. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +0 -2
  219. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +35 -31
  220. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +15 -13
  221. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +0 -1
  222. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +189 -127
  223. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +79 -49
  224. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +0 -4
  225. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +378 -283
  226. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +156 -98
  227. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +0 -8
  228. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +354 -255
  229. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +125 -69
  230. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +0 -6
  231. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +27 -24
  232. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +13 -11
  233. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +0 -1
  234. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +611 -451
  235. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +159 -119
  236. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +0 -11
  237. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +468 -321
  238. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +157 -99
  239. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -6
  240. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +146 -119
  241. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +55 -35
  242. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +0 -1
  243. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +61 -51
  244. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -16
  245. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +0 -2
  246. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +43 -39
  247. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +25 -13
  248. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +0 -1
  249. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +341 -247
  250. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +130 -84
  251. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +0 -8
  252. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +452 -313
  253. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +144 -100
  254. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +0 -10
  255. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +666 -493
  256. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +251 -181
  257. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +0 -12
  258. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +327 -197
  259. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +92 -48
  260. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +0 -3
  261. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3583 -2532
  262. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1340 -816
  263. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +0 -60
  264. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +111 -82
  265. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +48 -28
  266. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +0 -3
  267. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +548 -410
  268. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +214 -148
  269. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +0 -12
  270. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +59 -50
  271. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +30 -20
  272. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +0 -2
  273. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +29 -26
  274. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +17 -11
  275. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +0 -1
  276. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +60 -49
  277. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +28 -20
  278. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +0 -2
  279. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +50 -36
  280. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +19 -11
  281. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +0 -1
  282. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +82 -63
  283. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +27 -19
  284. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +0 -1
  285. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +27 -24
  286. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +13 -11
  287. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +0 -1
  288. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +70 -58
  289. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +32 -22
  290. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +0 -2
  291. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +2 -5
  292. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +1 -1
  293. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +73 -62
  294. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +39 -25
  295. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +0 -2
  296. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +49 -45
  297. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +33 -13
  298. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +0 -1
  299. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +771 -588
  300. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +383 -185
  301. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +0 -16
  302. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -47
  303. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +31 -17
  304. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +0 -2
  305. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +69 -58
  306. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +27 -23
  307. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +0 -2
  308. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +151 -119
  309. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +45 -39
  310. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +0 -5
  311. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +19 -17
  312. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +1 -3
  313. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +0 -1
  314. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +144 -109
  315. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +46 -38
  316. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +0 -4
  317. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +184 -139
  318. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +65 -35
  319. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +0 -3
  320. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +129 -106
  321. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +69 -41
  322. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +0 -4
  323. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +83 -71
  324. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +40 -26
  325. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +0 -2
  326. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +148 -101
  327. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +45 -27
  328. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +0 -2
  329. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +62 -51
  330. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +35 -21
  331. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +0 -2
  332. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1362 -1024
  333. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +508 -336
  334. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +0 -22
  335. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +21 -19
  336. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +13 -7
  337. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +0 -1
  338. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +35 -31
  339. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +15 -13
  340. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +0 -1
  341. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +27 -24
  342. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +13 -11
  343. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +0 -1
  344. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +27 -24
  345. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +13 -11
  346. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +0 -1
  347. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +94 -74
  348. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +35 -23
  349. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +0 -1
  350. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +231 -179
  351. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +88 -66
  352. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +0 -6
  353. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +21 -19
  354. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +13 -7
  355. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +0 -1
  356. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +63 -56
  357. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +31 -19
  358. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +0 -1
  359. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +27 -24
  360. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +13 -11
  361. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +0 -1
  362. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +27 -24
  363. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +13 -11
  364. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +0 -1
  365. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -5
  366. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +1 -1
  367. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +538 -364
  368. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +157 -95
  369. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +0 -8
  370. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -110
  371. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +69 -49
  372. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +0 -4
  373. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +517 -389
  374. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +182 -116
  375. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +0 -7
  376. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +84 -62
  377. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +30 -22
  378. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +0 -2
  379. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +340 -256
  380. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +92 -82
  381. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +0 -5
  382. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +19 -17
  383. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -3
  384. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +0 -1
  385. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +857 -566
  386. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +288 -182
  387. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +0 -15
  388. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +105 -72
  389. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +36 -22
  390. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +0 -2
  391. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +312 -226
  392. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +132 -78
  393. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +0 -5
  394. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +82 -61
  395. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -19
  396. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +0 -2
  397. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +123 -89
  398. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +25 -25
  399. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +0 -4
  400. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +48 -33
  401. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +13 -11
  402. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +0 -1
  403. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +42 -36
  404. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +19 -13
  405. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +0 -1
  406. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +101 -79
  407. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +61 -31
  408. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +0 -5
  409. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +83 -60
  410. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +37 -19
  411. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +0 -2
  412. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +56 -40
  413. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +15 -13
  414. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +0 -1
  415. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +34 -29
  416. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +13 -11
  417. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +0 -1
  418. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +32 -27
  419. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +13 -11
  420. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +0 -1
  421. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +88 -71
  422. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +48 -30
  423. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +0 -3
  424. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +37 -30
  425. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +1 -5
  426. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +0 -2
  427. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +95 -71
  428. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +36 -22
  429. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +0 -2
  430. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +79 -56
  431. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +26 -18
  432. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +0 -2
  433. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +164 -124
  434. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +54 -40
  435. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +0 -4
  436. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +200 -147
  437. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +47 -41
  438. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +0 -7
  439. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +160 -130
  440. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +89 -47
  441. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +0 -5
  442. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +78 -62
  443. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +26 -20
  444. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +0 -3
  445. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +2 -5
  446. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +1 -1
  447. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +21 -19
  448. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +13 -7
  449. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +0 -1
  450. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +43 -36
  451. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +22 -12
  452. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +0 -2
  453. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +67 -55
  454. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +36 -18
  455. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +0 -3
  456. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +62 -51
  457. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +33 -19
  458. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +0 -2
  459. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +2 -5
  460. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +1 -1
  461. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +25 -23
  462. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +15 -7
  463. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +0 -1
  464. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +37 -33
  465. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +19 -13
  466. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +0 -1
  467. data/src/core/ext/upb-gen/google/api/annotations.upb.h +15 -13
  468. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +22 -7
  469. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +1 -1
  470. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +619 -430
  471. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +260 -168
  472. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +0 -13
  473. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +734 -518
  474. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +312 -182
  475. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +0 -16
  476. data/src/core/ext/upb-gen/google/api/http.upb.h +146 -105
  477. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +65 -29
  478. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +0 -3
  479. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +52 -37
  480. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +19 -11
  481. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +0 -1
  482. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +23 -21
  483. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +15 -7
  484. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +0 -1
  485. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2236 -1514
  486. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +824 -406
  487. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +0 -34
  488. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +23 -21
  489. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +15 -7
  490. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +0 -1
  491. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +19 -17
  492. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -3
  493. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +0 -1
  494. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +149 -100
  495. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +59 -43
  496. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +0 -4
  497. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +23 -21
  498. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +15 -7
  499. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +0 -1
  500. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +181 -139
  501. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +99 -53
  502. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +0 -9
  503. data/src/core/ext/upb-gen/google/rpc/status.upb.h +52 -37
  504. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +19 -11
  505. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +0 -1
  506. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +1553 -1157
  507. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +712 -410
  508. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +0 -39
  509. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +189 -125
  510. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +59 -35
  511. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +0 -3
  512. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +454 -343
  513. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +204 -130
  514. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +0 -11
  515. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +369 -243
  516. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +109 -79
  517. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +0 -7
  518. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +256 -175
  519. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +122 -68
  520. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +0 -8
  521. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +71 -51
  522. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +39 -19
  523. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +0 -2
  524. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +583 -407
  525. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +259 -145
  526. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +0 -12
  527. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +114 -84
  528. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +52 -30
  529. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +0 -4
  530. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +41 -34
  531. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +25 -13
  532. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +0 -2
  533. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +309 -230
  534. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +123 -79
  535. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +0 -9
  536. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +98 -63
  537. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +51 -23
  538. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +0 -3
  539. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +505 -312
  540. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +159 -87
  541. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +0 -9
  542. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +128 -91
  543. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +82 -41
  544. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +5 -8
  545. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +36 -29
  546. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +36 -13
  547. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +1 -2
  548. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +13 -11
  549. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +22 -7
  550. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +1 -1
  551. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +36 -29
  552. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +36 -13
  553. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +1 -2
  554. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +34 -27
  555. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +34 -13
  556. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +1 -2
  557. data/src/core/ext/upb-gen/validate/validate.upb.h +1682 -1130
  558. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +587 -247
  559. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -27
  560. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +128 -91
  561. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +82 -41
  562. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +5 -8
  563. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +36 -29
  564. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +36 -13
  565. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +1 -2
  566. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +13 -11
  567. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +22 -7
  568. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +1 -1
  569. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +122 -90
  570. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +82 -39
  571. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -7
  572. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +34 -27
  573. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +34 -13
  574. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +1 -2
  575. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +21 -19
  576. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +13 -7
  577. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +0 -1
  578. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +29 -26
  579. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +17 -11
  580. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +0 -1
  581. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +70 -58
  582. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +32 -22
  583. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +0 -2
  584. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +53 -34
  585. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +26 -16
  586. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +0 -2
  587. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +29 -26
  588. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +17 -11
  589. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +0 -1
  590. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +37 -33
  591. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +22 -14
  592. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +0 -1
  593. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +102 -76
  594. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +43 -23
  595. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +0 -2
  596. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +33 -30
  597. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +19 -11
  598. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +0 -1
  599. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +136 -83
  600. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +41 -33
  601. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +0 -4
  602. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +46 -32
  603. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +20 -12
  604. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +0 -1
  605. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +29 -26
  606. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +20 -12
  607. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +0 -1
  608. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +93 -61
  609. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +28 -20
  610. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +0 -2
  611. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +19 -17
  612. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -3
  613. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +0 -1
  614. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +105 -71
  615. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +32 -22
  616. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +0 -2
  617. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +430 -314
  618. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +153 -123
  619. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +0 -10
  620. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +307 -199
  621. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +74 -62
  622. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +0 -6
  623. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +52 -42
  624. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +19 -13
  625. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +0 -2
  626. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +95 -71
  627. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +36 -22
  628. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +0 -2
  629. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +92 -77
  630. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +42 -28
  631. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +0 -2
  632. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +67 -55
  633. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +36 -18
  634. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +0 -3
  635. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +29 -26
  636. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +17 -11
  637. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +0 -1
  638. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +885 -855
  639. data/src/core/filter/composite/composite_filter.cc +10 -3
  640. data/src/core/filter/composite/composite_filter.h +11 -1
  641. data/src/core/filter/filter_args.h +4 -22
  642. data/src/core/handshaker/handshaker.cc +10 -2
  643. data/src/core/handshaker/security/secure_endpoint.cc +73 -5
  644. data/src/core/lib/channel/channel_args.h +12 -6
  645. data/src/core/lib/channel/channel_stack.cc +1 -2
  646. data/src/core/lib/channel/channel_stack.h +1 -7
  647. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
  648. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -7
  649. data/src/core/lib/channel/promise_based_filter.cc +13 -1
  650. data/src/core/lib/channel/promise_based_filter.h +4 -5
  651. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
  652. data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +48 -0
  653. data/src/core/lib/event_engine/posix.h +2 -0
  654. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -1
  655. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +11 -8
  656. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -6
  657. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
  658. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -1
  659. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +10 -10
  660. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
  661. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
  662. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -4
  663. data/src/core/lib/experiments/experiments.cc +258 -87
  664. data/src/core/lib/experiments/experiments.h +130 -32
  665. data/src/core/lib/iomgr/buffer_list.h +1 -1
  666. data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -1
  667. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
  668. data/src/core/lib/iomgr/tcp_posix.cc +2 -1
  669. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  670. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
  671. data/src/core/lib/promise/detail/promise_factory.h +8 -8
  672. data/src/core/lib/promise/interceptor_list.h +1 -1
  673. data/src/core/lib/promise/try_seq.h +2 -2
  674. data/src/core/lib/resource_quota/telemetry.cc +54 -0
  675. data/src/core/lib/resource_quota/telemetry.h +5 -23
  676. data/src/core/lib/surface/call.cc +6 -1
  677. data/src/core/lib/surface/call.h +9 -0
  678. data/src/core/lib/surface/version.cc +2 -2
  679. data/src/core/lib/transport/promise_endpoint.h +7 -5
  680. data/src/core/lib/transport/transport.h +31 -4
  681. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +146 -74
  682. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
  683. data/src/core/mitigation_engine/mitigation_engine.h +81 -0
  684. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
  685. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -5
  686. data/src/core/resolver/xds/xds_resolver.cc +23 -133
  687. data/src/core/server/server.cc +40 -18
  688. data/src/core/server/server.h +25 -14
  689. data/src/core/server/server_config_selector_filter.cc +122 -0
  690. data/src/core/server/server_config_selector_filter.h +1 -0
  691. data/src/core/server/xds_server_config_fetcher.cc +6 -0
  692. data/src/core/server/xds_server_config_fetcher_legacy.cc +1333 -0
  693. data/src/core/telemetry/histogram.h +10 -89
  694. data/src/core/telemetry/instrument.h +42 -28
  695. data/src/core/transport/message_size_service_config.cc +123 -0
  696. data/src/core/transport/message_size_service_config.h +85 -0
  697. data/src/core/transport/session_endpoint.cc +29 -4
  698. data/src/core/transport/session_endpoint.h +4 -0
  699. data/src/core/tsi/alts/crypt/gsec.h +4 -2
  700. data/src/core/tsi/ssl_transport_security.cc +6 -4
  701. data/src/core/util/http_client/parser.cc +1 -1
  702. data/src/core/util/lru_cache.h +2 -0
  703. data/src/core/util/ref_counted_string.h +1 -1
  704. data/src/core/util/tchar.cc +13 -7
  705. data/src/core/util/trie_lookup.h +1 -1
  706. data/src/core/xds/grpc/blackboard.cc +58 -0
  707. data/src/core/{filter → xds/grpc}/blackboard.h +30 -11
  708. data/src/core/xds/grpc/xds_common_types.cc +40 -0
  709. data/src/core/xds/grpc/xds_common_types.h +13 -0
  710. data/src/core/xds/grpc/xds_common_types_parser.cc +37 -34
  711. data/src/core/xds/grpc/xds_endpoint_parser.cc +1 -1
  712. data/src/core/xds/grpc/xds_http_composite_filter.cc +34 -18
  713. data/src/core/xds/grpc/xds_http_composite_filter.h +6 -3
  714. data/src/core/xds/grpc/xds_http_fault_filter.cc +0 -149
  715. data/src/core/xds/grpc/xds_http_fault_filter.h +19 -8
  716. data/src/core/xds/grpc/xds_http_filter.cc +2 -1
  717. data/src/core/xds/grpc/xds_http_filter.h +6 -16
  718. data/src/core/xds/grpc/xds_http_filter_registry.cc +0 -2
  719. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +25 -119
  720. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +27 -15
  721. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +0 -149
  722. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -8
  723. data/src/core/xds/grpc/xds_lb_policy_registry.cc +18 -0
  724. data/src/core/xds/grpc/xds_listener_parser.cc +13 -9
  725. data/src/core/xds/grpc/xds_route_config.h +1 -1
  726. data/src/core/xds/grpc/xds_route_config_parser.cc +3 -5
  727. data/src/core/xds/grpc/xds_routing.cc +5 -11
  728. data/src/core/xds/grpc/xds_routing.h +2 -3
  729. data/src/core/xds/xds_client/lrs_client.cc +2 -2
  730. data/src/ruby/ext/grpc/rb_byte_buffer.c +1 -0
  731. data/src/ruby/ext/grpc/rb_call.c +3 -0
  732. data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
  733. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  734. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  735. data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
  736. data/src/ruby/ext/grpc/rb_completion_queue.c +1 -0
  737. data/src/ruby/ext/grpc/rb_compression_options.c +1 -0
  738. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
  739. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -6
  740. data/src/ruby/ext/grpc/rb_server.c +1 -0
  741. data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
  742. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
  743. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
  744. data/src/ruby/lib/grpc/core/call_credentials.rb +86 -0
  745. data/src/ruby/lib/grpc/core/channel_credentials.rb +69 -0
  746. data/src/ruby/lib/grpc/core/credentials_helper.rb +126 -0
  747. data/src/ruby/lib/grpc/generic/client_stub.rb +86 -73
  748. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  749. data/src/ruby/lib/grpc/version.rb +1 -1
  750. data/src/ruby/lib/grpc.rb +25 -0
  751. data/src/ruby/spec/call_credentials_spec.rb +52 -2
  752. data/src/ruby/spec/credentials_helper_spec.rb +80 -0
  753. data/src/ruby/spec/generic/client_stub_spec.rb +27 -4
  754. data/src/ruby/spec/generic/server_interceptors_spec.rb +17 -3
  755. data/third_party/upb/upb/base/error_handler.h +79 -0
  756. data/third_party/upb/upb/base/internal/log2.h +29 -5
  757. data/third_party/upb/upb/generated_code_support.h +1 -0
  758. data/third_party/upb/upb/hash/common.c +129 -14
  759. data/third_party/upb/upb/hash/common.h +1 -1
  760. data/third_party/upb/upb/hash/ext_table.h +65 -0
  761. data/third_party/upb/upb/lex/strtod.c +14 -5
  762. data/third_party/upb/upb/mem/arena.c +113 -95
  763. data/third_party/upb/upb/mem/internal/arena.h +13 -8
  764. data/third_party/upb/upb/message/accessors.c +2 -3
  765. data/third_party/upb/upb/message/accessors.h +32 -12
  766. data/third_party/upb/upb/message/array.c +51 -2
  767. data/third_party/upb/upb/message/array.h +10 -0
  768. data/third_party/upb/upb/message/copy.c +18 -34
  769. data/third_party/upb/upb/message/internal/accessors.h +15 -49
  770. data/third_party/upb/upb/message/internal/array.h +1 -1
  771. data/third_party/upb/upb/message/internal/map.h +1 -1
  772. data/third_party/upb/upb/message/internal/message.c +8 -1
  773. data/third_party/upb/upb/message/internal/message.h +40 -10
  774. data/third_party/upb/upb/message/message.c +3 -2
  775. data/third_party/upb/upb/message/value.h +0 -6
  776. data/third_party/upb/upb/mini_descriptor/decode.c +78 -59
  777. data/third_party/upb/upb/mini_descriptor/link.c +8 -6
  778. data/third_party/upb/upb/mini_table/extension_registry.c +17 -49
  779. data/third_party/upb/upb/mini_table/extension_registry.h +5 -17
  780. data/third_party/upb/upb/mini_table/generated_registry.c +180 -0
  781. data/third_party/upb/upb/mini_table/generated_registry.h +66 -0
  782. data/third_party/upb/upb/mini_table/internal/extension.h +5 -3
  783. data/third_party/upb/upb/mini_table/internal/field.h +7 -5
  784. data/third_party/upb/upb/mini_table/internal/generated_registry.h +37 -0
  785. data/third_party/upb/upb/mini_table/internal/message.c +0 -18
  786. data/third_party/upb/upb/mini_table/internal/message.h +24 -41
  787. data/third_party/upb/upb/mini_table/internal/size_log2.h +2 -1
  788. data/third_party/upb/upb/mini_table/internal/sub.h +2 -5
  789. data/third_party/upb/upb/mini_table/message.h +34 -13
  790. data/third_party/upb/upb/port/atomic.h +180 -74
  791. data/third_party/upb/upb/port/def.inc +194 -29
  792. data/third_party/upb/upb/port/sanitizers.h +15 -0
  793. data/third_party/upb/upb/port/undef.inc +6 -2
  794. data/third_party/upb/upb/reflection/common.h +0 -6
  795. data/third_party/upb/upb/reflection/def.hpp +8 -12
  796. data/third_party/upb/upb/reflection/def_pool.c +85 -33
  797. data/third_party/upb/upb/reflection/def_pool.h +38 -8
  798. data/third_party/upb/upb/reflection/def_type.h +3 -0
  799. data/third_party/upb/upb/reflection/enum_def.c +45 -33
  800. data/third_party/upb/upb/reflection/enum_def.h +8 -4
  801. data/third_party/upb/upb/reflection/enum_reserved_range.c +7 -3
  802. data/third_party/upb/upb/reflection/enum_value_def.c +14 -29
  803. data/third_party/upb/upb/reflection/enum_value_def.h +5 -4
  804. data/third_party/upb/upb/reflection/extension_range.c +15 -14
  805. data/third_party/upb/upb/reflection/extension_range.h +7 -4
  806. data/third_party/upb/upb/reflection/field_def.c +114 -96
  807. data/third_party/upb/upb/reflection/field_def.h +3 -3
  808. data/third_party/upb/upb/reflection/file_def.c +71 -65
  809. data/third_party/upb/upb/reflection/file_def.h +4 -5
  810. data/third_party/upb/upb/reflection/internal/def_builder.c +22 -14
  811. data/third_party/upb/upb/reflection/internal/def_builder.h +44 -38
  812. data/third_party/upb/upb/reflection/internal/def_pool.h +5 -1
  813. data/third_party/upb/upb/reflection/internal/enum_def.h +6 -4
  814. data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +3 -2
  815. data/third_party/upb/upb/reflection/internal/enum_value_def.h +7 -4
  816. data/third_party/upb/upb/reflection/internal/extension_range.h +4 -3
  817. data/third_party/upb/upb/reflection/internal/field_def.h +15 -12
  818. data/third_party/upb/upb/reflection/internal/file_def.h +8 -1
  819. data/third_party/upb/upb/reflection/internal/message_def.h +10 -7
  820. data/third_party/upb/upb/reflection/internal/message_reserved_range.h +3 -1
  821. data/third_party/upb/upb/reflection/internal/method_def.h +6 -6
  822. data/third_party/upb/upb/reflection/internal/oneof_def.h +6 -6
  823. data/third_party/upb/upb/reflection/internal/service_def.h +9 -6
  824. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  825. data/third_party/upb/upb/reflection/message_def.c +46 -53
  826. data/third_party/upb/upb/reflection/message_def.h +6 -7
  827. data/third_party/upb/upb/reflection/message_reserved_range.c +7 -6
  828. data/third_party/upb/upb/reflection/method_def.c +22 -20
  829. data/third_party/upb/upb/reflection/method_def.h +4 -4
  830. data/third_party/upb/upb/reflection/oneof_def.c +17 -15
  831. data/third_party/upb/upb/reflection/oneof_def.h +6 -3
  832. data/third_party/upb/upb/reflection/service_def.c +50 -23
  833. data/third_party/upb/upb/reflection/service_def.h +7 -4
  834. data/third_party/upb/upb/text/internal/encode.c +7 -10
  835. data/third_party/upb/upb/wire/decode.c +269 -430
  836. data/third_party/upb/upb/wire/decode.h +6 -45
  837. data/third_party/upb/upb/wire/decode_fast/combinations.h +7 -3
  838. data/third_party/upb/upb/wire/decode_fast/select.c +7 -2
  839. data/third_party/upb/upb/wire/encode.c +144 -106
  840. data/third_party/upb/upb/wire/encode.h +6 -2
  841. data/third_party/upb/upb/wire/eps_copy_input_stream.c +36 -7
  842. data/third_party/upb/upb/wire/eps_copy_input_stream.h +94 -380
  843. data/third_party/upb/upb/wire/internal/decoder.c +1 -14
  844. data/third_party/upb/upb/wire/internal/decoder.h +84 -24
  845. data/third_party/upb/upb/wire/internal/eps_copy_input_stream.h +339 -0
  846. data/third_party/upb/upb/wire/internal/reader.h +29 -12
  847. data/third_party/upb/upb/wire/reader.c +35 -22
  848. data/third_party/upb/upb/wire/reader.h +11 -18
  849. data/third_party/utf8_range/utf8_range.c +1 -1
  850. data/third_party/utf8_range/utf8_range.h +2 -1
  851. metadata +27 -13
  852. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +0 -117
  853. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +0 -109
  854. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +0 -80
  855. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +0 -86
  856. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +0 -83
  857. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +0 -91
  858. data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +0 -217
  859. data/src/core/filter/blackboard.cc +0 -33
  860. data/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
  861. data/third_party/upb/upb/message/tagged_ptr.h +0 -48
@@ -7,25 +7,36 @@
7
7
 
8
8
  #include "upb/reflection/internal/def_pool.h"
9
9
 
10
+ #include <assert.h>
11
+ #include <stddef.h>
12
+ #include <stdint.h>
13
+ #include <stdio.h>
14
+ #include <string.h>
15
+
10
16
  #include "upb/base/status.h"
17
+ #include "upb/base/string_view.h"
18
+ #include "upb/hash/common.h"
11
19
  #include "upb/hash/int_table.h"
12
20
  #include "upb/hash/str_table.h"
13
21
  #include "upb/mem/alloc.h"
14
22
  #include "upb/mem/arena.h"
23
+ #include "upb/mini_descriptor/decode.h"
24
+ #include "upb/mini_table/extension.h"
25
+ #include "upb/mini_table/extension_registry.h"
26
+ #include "upb/mini_table/file.h"
27
+ #include "upb/mini_table/generated_registry.h"
28
+ #include "upb/mini_table/message.h"
15
29
  #include "upb/reflection/def.h"
16
30
  #include "upb/reflection/def_type.h"
17
31
  #include "upb/reflection/file_def.h"
18
32
  #include "upb/reflection/internal/def_builder.h"
19
- #include "upb/reflection/internal/enum_def.h"
20
- #include "upb/reflection/internal/enum_value_def.h"
21
- #include "upb/reflection/internal/field_def.h"
22
33
  #include "upb/reflection/internal/file_def.h"
23
34
  #include "upb/reflection/internal/message_def.h"
24
- #include "upb/reflection/internal/service_def.h"
25
35
  #include "upb/reflection/internal/upb_edition_defaults.h"
26
36
 
27
37
  // Must be last.
28
38
  #include "upb/port/def.inc"
39
+ #include "upb/wire/decode.h"
29
40
 
30
41
  struct upb_DefPool {
31
42
  upb_Arena* arena;
@@ -33,14 +44,18 @@ struct upb_DefPool {
33
44
  upb_strtable files; // file_name -> (upb_FileDef*)
34
45
  upb_inttable exts; // (upb_MiniTableExtension*) -> (upb_FieldDef*)
35
46
  upb_ExtensionRegistry* extreg;
36
- const UPB_DESC(FeatureSetDefaults) * feature_set_defaults;
47
+ const upb_GeneratedRegistryRef* generated_extreg;
48
+ const google_protobuf_FeatureSetDefaults* feature_set_defaults;
37
49
  upb_MiniTablePlatform platform;
38
50
  void* scratch_data;
39
51
  size_t scratch_size;
40
52
  size_t bytes_loaded;
53
+ bool disable_closed_enum_checking;
54
+ bool disable_implicit_field_presence;
41
55
  };
42
56
 
43
57
  void upb_DefPool_Free(upb_DefPool* s) {
58
+ upb_GeneratedRegistry_Release(s->generated_extreg);
44
59
  upb_Arena_Free(s->arena);
45
60
  upb_gfree(s->scratch_data);
46
61
  upb_gfree(s);
@@ -54,6 +69,8 @@ upb_DefPool* upb_DefPool_New(void) {
54
69
 
55
70
  s->arena = upb_Arena_New();
56
71
  s->bytes_loaded = 0;
72
+ s->disable_closed_enum_checking = false;
73
+ s->disable_implicit_field_presence = false;
57
74
 
58
75
  s->scratch_size = 240;
59
76
  s->scratch_data = upb_gmalloc(s->scratch_size);
@@ -66,6 +83,9 @@ upb_DefPool* upb_DefPool_New(void) {
66
83
  s->extreg = upb_ExtensionRegistry_New(s->arena);
67
84
  if (!s->extreg) goto err;
68
85
 
86
+ s->generated_extreg = upb_GeneratedRegistry_Load();
87
+ if (!s->generated_extreg) goto err;
88
+
69
89
  s->platform = kUpb_MiniTablePlatform_Native;
70
90
 
71
91
  upb_Status status;
@@ -83,8 +103,26 @@ err:
83
103
  return NULL;
84
104
  }
85
105
 
86
- const UPB_DESC(FeatureSetDefaults) *
87
- upb_DefPool_FeatureSetDefaults(const upb_DefPool* s) {
106
+ void upb_DefPool_DisableClosedEnumChecking(upb_DefPool* s) {
107
+ UPB_ASSERT(upb_strtable_count(&s->files) == 0);
108
+ s->disable_closed_enum_checking = true;
109
+ }
110
+
111
+ bool upb_DefPool_ClosedEnumCheckingDisabled(const upb_DefPool* s) {
112
+ return s->disable_closed_enum_checking;
113
+ }
114
+
115
+ void upb_DefPool_DisableImplicitFieldPresence(upb_DefPool* s) {
116
+ UPB_ASSERT(upb_strtable_count(&s->files) == 0);
117
+ s->disable_implicit_field_presence = true;
118
+ }
119
+
120
+ bool upb_DefPool_ImplicitFieldPresenceDisabled(const upb_DefPool* s) {
121
+ return s->disable_implicit_field_presence;
122
+ }
123
+
124
+ const google_protobuf_FeatureSetDefaults* upb_DefPool_FeatureSetDefaults(
125
+ const upb_DefPool* s) {
88
126
  return s->feature_set_defaults;
89
127
  }
90
128
 
@@ -92,8 +130,8 @@ bool upb_DefPool_SetFeatureSetDefaults(upb_DefPool* s,
92
130
  const char* serialized_defaults,
93
131
  size_t serialized_len,
94
132
  upb_Status* status) {
95
- const UPB_DESC(FeatureSetDefaults)* defaults = UPB_DESC(
96
- FeatureSetDefaults_parse)(serialized_defaults, serialized_len, s->arena);
133
+ const google_protobuf_FeatureSetDefaults* defaults = google_protobuf_FeatureSetDefaults_parse(
134
+ serialized_defaults, serialized_len, s->arena);
97
135
  if (!defaults) {
98
136
  upb_Status_SetErrorFormat(status, "Failed to parse defaults");
99
137
  return false;
@@ -104,8 +142,8 @@ bool upb_DefPool_SetFeatureSetDefaults(upb_DefPool* s,
104
142
  "pool has started building");
105
143
  return false;
106
144
  }
107
- int min_edition = UPB_DESC(FeatureSetDefaults_minimum_edition(defaults));
108
- int max_edition = UPB_DESC(FeatureSetDefaults_maximum_edition(defaults));
145
+ int min_edition = google_protobuf_FeatureSetDefaults_minimum_edition(defaults);
146
+ int max_edition = google_protobuf_FeatureSetDefaults_maximum_edition(defaults);
109
147
  if (min_edition > max_edition) {
110
148
  upb_Status_SetErrorFormat(status, "Invalid edition range %s to %s",
111
149
  upb_FileDef_EditionName(min_edition),
@@ -113,14 +151,13 @@ bool upb_DefPool_SetFeatureSetDefaults(upb_DefPool* s,
113
151
  return false;
114
152
  }
115
153
  size_t size;
116
- const UPB_DESC(
117
- FeatureSetDefaults_FeatureSetEditionDefault)* const* default_list =
118
- UPB_DESC(FeatureSetDefaults_defaults(defaults, &size));
119
- int prev_edition = UPB_DESC(EDITION_UNKNOWN);
154
+ const google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* const*
155
+ default_list = google_protobuf_FeatureSetDefaults_defaults(defaults, &size);
156
+ int prev_edition = google_protobuf_EDITION_UNKNOWN;
120
157
  for (size_t i = 0; i < size; ++i) {
121
- int edition = UPB_DESC(
122
- FeatureSetDefaults_FeatureSetEditionDefault_edition(default_list[i]));
123
- if (edition == UPB_DESC(EDITION_UNKNOWN)) {
158
+ int edition = google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_edition(
159
+ default_list[i]);
160
+ if (edition == google_protobuf_EDITION_UNKNOWN) {
124
161
  upb_Status_SetErrorFormat(status, "Invalid edition UNKNOWN specified");
125
162
  return false;
126
163
  }
@@ -193,7 +230,7 @@ void _upb_DefPool_SetPlatform(upb_DefPool* s, upb_MiniTablePlatform platform) {
193
230
 
194
231
  const upb_MessageDef* upb_DefPool_FindMessageByName(const upb_DefPool* s,
195
232
  const char* sym) {
196
- return _upb_DefPool_Unpack(s, sym, strlen(sym), UPB_DEFTYPE_MSG);
233
+ return upb_DefPool_FindMessageByNameWithSize(s, sym, strlen(sym));
197
234
  }
198
235
 
199
236
  const upb_MessageDef* upb_DefPool_FindMessageByNameWithSize(
@@ -203,12 +240,23 @@ const upb_MessageDef* upb_DefPool_FindMessageByNameWithSize(
203
240
 
204
241
  const upb_EnumDef* upb_DefPool_FindEnumByName(const upb_DefPool* s,
205
242
  const char* sym) {
206
- return _upb_DefPool_Unpack(s, sym, strlen(sym), UPB_DEFTYPE_ENUM);
243
+ return upb_DefPool_FindEnumByNameWithSize(s, sym, strlen(sym));
207
244
  }
208
245
 
209
- const upb_EnumValueDef* upb_DefPool_FindEnumByNameval(const upb_DefPool* s,
210
- const char* sym) {
211
- return _upb_DefPool_Unpack(s, sym, strlen(sym), UPB_DEFTYPE_ENUMVAL);
246
+ const upb_EnumDef* upb_DefPool_FindEnumByNameWithSize(const upb_DefPool* s,
247
+ const char* sym,
248
+ size_t len) {
249
+ return _upb_DefPool_Unpack(s, sym, len, UPB_DEFTYPE_ENUM);
250
+ }
251
+
252
+ const upb_EnumValueDef* upb_DefPool_FindEnumValueByName(const upb_DefPool* s,
253
+ const char* sym) {
254
+ return upb_DefPool_FindEnumValueByNameWithSize(s, sym, strlen(sym));
255
+ }
256
+
257
+ const upb_EnumValueDef* upb_DefPool_FindEnumValueByNameWithSize(
258
+ const upb_DefPool* s, const char* sym, size_t len) {
259
+ return _upb_DefPool_Unpack(s, sym, len, UPB_DEFTYPE_ENUMVAL);
212
260
  }
213
261
 
214
262
  const upb_FileDef* upb_DefPool_FindFileByName(const upb_DefPool* s,
@@ -351,7 +399,7 @@ static void remove_filedef(upb_DefPool* s, upb_FileDef* file) {
351
399
 
352
400
  static const upb_FileDef* upb_DefBuilder_AddFileToPool(
353
401
  upb_DefBuilder* const builder, upb_DefPool* const s,
354
- const UPB_DESC(FileDescriptorProto) * const file_proto,
402
+ const google_protobuf_FileDescriptorProto* const file_proto,
355
403
  const upb_StringView name, upb_Status* const status) {
356
404
  if (UPB_SETJMP(builder->err) != 0) {
357
405
  UPB_ASSERT(!upb_Status_IsOk(status));
@@ -363,7 +411,7 @@ static const upb_FileDef* upb_DefBuilder_AddFileToPool(
363
411
  !upb_strtable_init(&builder->feature_cache, 16,
364
412
  builder->tmp_arena) ||
365
413
  !(builder->legacy_features =
366
- UPB_DESC(FeatureSet_new)(builder->tmp_arena))) {
414
+ google_protobuf_FeatureSet_new(builder->tmp_arena))) {
367
415
  _upb_DefBuilder_OomErr(builder);
368
416
  } else {
369
417
  _upb_FileDef_Create(builder, file_proto);
@@ -379,9 +427,9 @@ static const upb_FileDef* upb_DefBuilder_AddFileToPool(
379
427
  }
380
428
 
381
429
  static const upb_FileDef* _upb_DefPool_AddFile(
382
- upb_DefPool* s, const UPB_DESC(FileDescriptorProto) * file_proto,
430
+ upb_DefPool* s, const google_protobuf_FileDescriptorProto* file_proto,
383
431
  const upb_MiniTableFile* layout, upb_Status* status) {
384
- const upb_StringView name = UPB_DESC(FileDescriptorProto_name)(file_proto);
432
+ const upb_StringView name = google_protobuf_FileDescriptorProto_name(file_proto);
385
433
 
386
434
  // Determine whether we already know about this file.
387
435
  {
@@ -412,10 +460,9 @@ static const upb_FileDef* _upb_DefPool_AddFile(
412
460
  return upb_DefBuilder_AddFileToPool(&ctx, s, file_proto, name, status);
413
461
  }
414
462
 
415
- const upb_FileDef* upb_DefPool_AddFile(upb_DefPool* s,
416
- const UPB_DESC(FileDescriptorProto) *
417
- file_proto,
418
- upb_Status* status) {
463
+ const upb_FileDef* upb_DefPool_AddFile(
464
+ upb_DefPool* s, const google_protobuf_FileDescriptorProto* file_proto,
465
+ upb_Status* status) {
419
466
  return _upb_DefPool_AddFile(s, file_proto, NULL, status);
420
467
  }
421
468
 
@@ -424,7 +471,7 @@ bool _upb_DefPool_LoadDefInitEx(upb_DefPool* s, const _upb_DefPool_Init* init,
424
471
  /* Since this function should never fail (it would indicate a bug in upb) we
425
472
  * print errors to stderr instead of returning error status to the user. */
426
473
  _upb_DefPool_Init** deps = init->deps;
427
- UPB_DESC(FileDescriptorProto) * file;
474
+ google_protobuf_FileDescriptorProto* file;
428
475
  upb_Arena* arena;
429
476
  upb_Status status;
430
477
 
@@ -440,7 +487,7 @@ bool _upb_DefPool_LoadDefInitEx(upb_DefPool* s, const _upb_DefPool_Init* init,
440
487
  if (!_upb_DefPool_LoadDefInitEx(s, *deps, rebuild_minitable)) goto err;
441
488
  }
442
489
 
443
- file = UPB_DESC(FileDescriptorProto_parse_ex)(
490
+ file = google_protobuf_FileDescriptorProto_parse_ex(
444
491
  init->descriptor.data, init->descriptor.size, NULL,
445
492
  kUpb_DecodeOption_AliasString, arena);
446
493
  s->bytes_loaded += init->descriptor.size;
@@ -527,3 +574,8 @@ const upb_FieldDef** upb_DefPool_GetAllExtensions(const upb_DefPool* s,
527
574
  bool _upb_DefPool_LoadDefInit(upb_DefPool* s, const _upb_DefPool_Init* init) {
528
575
  return _upb_DefPool_LoadDefInitEx(s, init, false);
529
576
  }
577
+
578
+ const upb_ExtensionRegistry* _upb_DefPool_GeneratedExtensionRegistry(
579
+ const upb_DefPool* s) {
580
+ return upb_GeneratedRegistry_Get(s->generated_extreg);
581
+ }
@@ -26,8 +26,8 @@ UPB_API void upb_DefPool_Free(upb_DefPool* s);
26
26
 
27
27
  UPB_API upb_DefPool* upb_DefPool_New(void);
28
28
 
29
- UPB_API const UPB_DESC(FeatureSetDefaults) *
30
- upb_DefPool_FeatureSetDefaults(const upb_DefPool* s);
29
+ UPB_API const google_protobuf_FeatureSetDefaults* upb_DefPool_FeatureSetDefaults(
30
+ const upb_DefPool* s);
31
31
 
32
32
  UPB_API bool upb_DefPool_SetFeatureSetDefaults(upb_DefPool* s,
33
33
  const char* serialized_defaults,
@@ -43,8 +43,14 @@ const upb_MessageDef* upb_DefPool_FindMessageByNameWithSize(
43
43
  UPB_API const upb_EnumDef* upb_DefPool_FindEnumByName(const upb_DefPool* s,
44
44
  const char* sym);
45
45
 
46
- const upb_EnumValueDef* upb_DefPool_FindEnumByNameval(const upb_DefPool* s,
47
- const char* sym);
46
+ UPB_API const upb_EnumDef* upb_DefPool_FindEnumByNameWithSize(
47
+ const upb_DefPool* s, const char* sym, size_t len);
48
+
49
+ UPB_API const upb_EnumValueDef* upb_DefPool_FindEnumValueByName(
50
+ const upb_DefPool* s, const char* sym);
51
+
52
+ UPB_API const upb_EnumValueDef* upb_DefPool_FindEnumValueByNameWithSize(
53
+ const upb_DefPool* s, const char* sym, size_t len);
48
54
 
49
55
  UPB_API const upb_FileDef* upb_DefPool_FindFileByName(const upb_DefPool* s,
50
56
  const char* name);
@@ -56,8 +62,8 @@ const upb_FileDef* upb_DefPool_FindFileByNameWithSize(const upb_DefPool* s,
56
62
  const upb_FieldDef* upb_DefPool_FindExtensionByMiniTable(
57
63
  const upb_DefPool* s, const upb_MiniTableExtension* ext);
58
64
 
59
- UPB_API const upb_FieldDef* upb_DefPool_FindExtensionByName(const upb_DefPool* s,
60
- const char* sym);
65
+ UPB_API const upb_FieldDef* upb_DefPool_FindExtensionByName(
66
+ const upb_DefPool* s, const char* sym);
61
67
 
62
68
  const upb_FieldDef* upb_DefPool_FindExtensionByNameWithSize(
63
69
  const upb_DefPool* s, const char* name, size_t size);
@@ -67,7 +73,7 @@ const upb_FieldDef* upb_DefPool_FindExtensionByNumber(const upb_DefPool* s,
67
73
  int32_t fieldnum);
68
74
 
69
75
  UPB_API const upb_ServiceDef* upb_DefPool_FindServiceByName(
70
- const upb_DefPool* s, const char* name);
76
+ const upb_DefPool* s, const char* name);
71
77
 
72
78
  const upb_ServiceDef* upb_DefPool_FindServiceByNameWithSize(
73
79
  const upb_DefPool* s, const char* name, size_t size);
@@ -76,7 +82,7 @@ const upb_FileDef* upb_DefPool_FindFileContainingSymbol(const upb_DefPool* s,
76
82
  const char* name);
77
83
 
78
84
  UPB_API const upb_FileDef* upb_DefPool_AddFile(
79
- upb_DefPool* s, const UPB_DESC(FileDescriptorProto) * file_proto,
85
+ upb_DefPool* s, const google_protobuf_FileDescriptorProto* file_proto,
80
86
  upb_Status* status);
81
87
 
82
88
  UPB_API const upb_ExtensionRegistry* upb_DefPool_ExtensionRegistry(
@@ -86,6 +92,30 @@ const upb_FieldDef** upb_DefPool_GetAllExtensions(const upb_DefPool* s,
86
92
  const upb_MessageDef* m,
87
93
  size_t* count);
88
94
 
95
+ // If called, closed enums will be treated as open enums. This is non-standard
96
+ // behavior and will cause conformance tests to fail, but it is more useful
97
+ // behavior overall and can be used in situations where where the
98
+ // non-conformance is acceptable.
99
+ //
100
+ // This function may only be called immediately after upb_DefPool_New().
101
+ // It is an error to call it on an existing def pool or after defs have
102
+ // already been added to the pool.
103
+ //
104
+ // Note: we still require that implicit presence fields have zero as their
105
+ // default value.
106
+ UPB_API void upb_DefPool_DisableClosedEnumChecking(upb_DefPool* s);
107
+ bool upb_DefPool_ClosedEnumCheckingDisabled(const upb_DefPool* s);
108
+
109
+ // If called, implicit field presence will be disabled.
110
+ // This is non-standard behavior and will cause conformance tests to fail, but
111
+ // it can be used in situations where where the non-conformance is acceptable.
112
+ //
113
+ // This function may only be called immediately after upb_DefPool_New().
114
+ // It is an error to call it on an existing def pool or after defs have
115
+ // already been added to the pool.
116
+ UPB_API void upb_DefPool_DisableImplicitFieldPresence(upb_DefPool* s);
117
+ bool upb_DefPool_ImplicitFieldPresenceDisabled(const upb_DefPool* s);
118
+
89
119
  #ifdef __cplusplus
90
120
  } /* extern "C" */
91
121
  #endif
@@ -27,6 +27,9 @@ typedef enum {
27
27
  // Only inside message table.
28
28
  UPB_DEFTYPE_FIELD = 0,
29
29
  UPB_DEFTYPE_ONEOF = 1,
30
+
31
+ // Only inside service table.
32
+ UPB_DEFTYPE_METHOD = 0,
30
33
  } upb_deftype_t;
31
34
 
32
35
  #ifdef __cplusplus
@@ -23,6 +23,7 @@
23
23
  #include "upb/mini_table/file.h"
24
24
  #include "upb/reflection/def.h"
25
25
  #include "upb/reflection/def_type.h"
26
+ #include "upb/reflection/descriptor_bootstrap.h"
26
27
  #include "upb/reflection/internal/def_builder.h"
27
28
  #include "upb/reflection/internal/desc_state.h"
28
29
  #include "upb/reflection/internal/enum_reserved_range.h"
@@ -34,8 +35,8 @@
34
35
  #include "upb/port/def.inc"
35
36
 
36
37
  struct upb_EnumDef {
37
- UPB_ALIGN_AS(8) const UPB_DESC(EnumOptions*) opts;
38
- const UPB_DESC(FeatureSet*) resolved_features;
38
+ UPB_ALIGN_AS(8) const google_protobuf_EnumOptions* opts;
39
+ const google_protobuf_FeatureSet* resolved_features;
39
40
  const upb_MiniTableEnum* layout; // Only for proto2.
40
41
  const upb_FileDef* file;
41
42
  const upb_MessageDef* containing_type; // Could be merged with "file".
@@ -49,7 +50,7 @@ struct upb_EnumDef {
49
50
  int res_range_count;
50
51
  int res_name_count;
51
52
  int32_t defaultval;
52
- UPB_DESC(SymbolVisibility) visibility;
53
+ google_protobuf_SymbolVisibility visibility;
53
54
  bool is_sorted; // Whether all of the values are defined in ascending order.
54
55
  };
55
56
 
@@ -75,7 +76,7 @@ bool _upb_EnumDef_Insert(upb_EnumDef* e, upb_EnumValueDef* v, upb_Arena* a) {
75
76
  return true;
76
77
  }
77
78
 
78
- const UPB_DESC(EnumOptions) * upb_EnumDef_Options(const upb_EnumDef* e) {
79
+ const google_protobuf_EnumOptions* upb_EnumDef_Options(const upb_EnumDef* e) {
79
80
  return e->opts;
80
81
  }
81
82
 
@@ -83,12 +84,11 @@ bool upb_EnumDef_HasOptions(const upb_EnumDef* e) {
83
84
  return e->opts != (void*)kUpbDefOptDefault;
84
85
  }
85
86
 
86
- const UPB_DESC(FeatureSet) *
87
- upb_EnumDef_ResolvedFeatures(const upb_EnumDef* e) {
87
+ const google_protobuf_FeatureSet* upb_EnumDef_ResolvedFeatures(const upb_EnumDef* e) {
88
88
  return e->resolved_features;
89
89
  }
90
90
 
91
- UPB_DESC(SymbolVisibility) upb_EnumDef_Visibility(const upb_EnumDef* e) {
91
+ google_protobuf_SymbolVisibility upb_EnumDef_Visibility(const upb_EnumDef* e) {
92
92
  return e->visibility;
93
93
  }
94
94
 
@@ -161,14 +161,14 @@ const upb_EnumValueDef* upb_EnumDef_Value(const upb_EnumDef* e, int i) {
161
161
  return _upb_EnumValueDef_At(e->values, i);
162
162
  }
163
163
 
164
- bool upb_EnumDef_IsClosed(const upb_EnumDef* e) {
165
- if (UPB_TREAT_CLOSED_ENUMS_LIKE_OPEN) return false;
166
- return upb_EnumDef_IsSpecifiedAsClosed(e);
164
+ static bool upb_EnumDef_IsSpecifiedAsClosed(const upb_EnumDef* e) {
165
+ return google_protobuf_FeatureSet_enum_type(e->resolved_features) ==
166
+ google_protobuf_FeatureSet_CLOSED;
167
167
  }
168
168
 
169
- bool upb_EnumDef_IsSpecifiedAsClosed(const upb_EnumDef* e) {
170
- return UPB_DESC(FeatureSet_enum_type)(e->resolved_features) ==
171
- UPB_DESC(FeatureSet_CLOSED);
169
+ bool upb_EnumDef_IsClosed(const upb_EnumDef* e) {
170
+ if (_upb_FileDef_ClosedEnumCheckingDisabled(e->file)) return false;
171
+ return upb_EnumDef_IsSpecifiedAsClosed(e);
172
172
  }
173
173
 
174
174
  bool upb_EnumDef_MiniDescriptorEncode(const upb_EnumDef* e, upb_Arena* a,
@@ -237,29 +237,49 @@ static upb_StringView* _upb_EnumReservedNames_New(
237
237
  }
238
238
 
239
239
  static void create_enumdef(upb_DefBuilder* ctx, const char* prefix,
240
- const UPB_DESC(EnumDescriptorProto) * enum_proto,
241
- const UPB_DESC(FeatureSet*) parent_features,
240
+ const google_protobuf_EnumDescriptorProto* enum_proto,
241
+ const google_protobuf_FeatureSet* parent_features,
242
242
  upb_EnumDef* e) {
243
- const UPB_DESC(EnumValueDescriptorProto)* const* values;
244
- const UPB_DESC(EnumDescriptorProto_EnumReservedRange)* const* res_ranges;
243
+ const google_protobuf_EnumValueDescriptorProto* const* values;
244
+ const google_protobuf_EnumDescriptorProto_EnumReservedRange* const* res_ranges;
245
245
  const upb_StringView* res_names;
246
246
  upb_StringView name;
247
247
  size_t n_value, n_res_range, n_res_name;
248
248
 
249
249
  UPB_DEF_SET_OPTIONS(e->opts, EnumDescriptorProto, EnumOptions, enum_proto);
250
250
  e->resolved_features = _upb_DefBuilder_ResolveFeatures(
251
- ctx, parent_features, UPB_DESC(EnumOptions_features)(e->opts));
251
+ ctx, parent_features, google_protobuf_EnumOptions_features(e->opts));
252
252
 
253
253
  // Must happen before _upb_DefBuilder_Add()
254
254
  e->file = _upb_DefBuilder_File(ctx);
255
255
 
256
- name = UPB_DESC(EnumDescriptorProto_name)(enum_proto);
256
+ name = google_protobuf_EnumDescriptorProto_name(enum_proto);
257
257
 
258
258
  e->full_name = _upb_DefBuilder_MakeFullName(ctx, prefix, name);
259
259
  _upb_DefBuilder_Add(ctx, e->full_name,
260
260
  _upb_DefType_Pack(e, UPB_DEFTYPE_ENUM));
261
261
 
262
- values = UPB_DESC(EnumDescriptorProto_value)(enum_proto, &n_value);
262
+ values = google_protobuf_EnumDescriptorProto_value(enum_proto, &n_value);
263
+
264
+ if (n_value == 0) {
265
+ _upb_DefBuilder_Errf(ctx, "enums must contain at least one value (%s)",
266
+ e->full_name);
267
+ }
268
+
269
+ e->defaultval = google_protobuf_EnumValueDescriptorProto_number(values[0]);
270
+
271
+ // When the special UPB_TREAT_CLOSED_ENUMS_LIKE_OPEN is enabled, we have to
272
+ // exempt closed enums from this check, even when we are treating them as
273
+ // open.
274
+ //
275
+ // We rely on the fact that the proto compiler will have already ensured that
276
+ // implicit presence fields do not use closed enums, even if we are treating
277
+ // them as open.
278
+ if (!upb_EnumDef_IsSpecifiedAsClosed(e) && e->defaultval != 0) {
279
+ _upb_DefBuilder_Errf(ctx,
280
+ "for open enums, the first value must be zero (%s)",
281
+ upb_EnumDef_FullName(e));
282
+ }
263
283
 
264
284
  bool ok = upb_strtable_init(&e->ntoi, n_value, ctx->arena);
265
285
  if (!ok) _upb_DefBuilder_OomErr(ctx);
@@ -267,27 +287,20 @@ static void create_enumdef(upb_DefBuilder* ctx, const char* prefix,
267
287
  ok = upb_inttable_init(&e->iton, ctx->arena);
268
288
  if (!ok) _upb_DefBuilder_OomErr(ctx);
269
289
 
270
- e->defaultval = 0;
271
290
  e->value_count = n_value;
272
291
  e->values = _upb_EnumValueDefs_New(ctx, prefix, n_value, values,
273
292
  e->resolved_features, e, &e->is_sorted);
274
293
 
275
- if (n_value == 0) {
276
- _upb_DefBuilder_Errf(ctx, "enums must contain at least one value (%s)",
277
- e->full_name);
278
- }
279
-
280
294
  res_ranges =
281
- UPB_DESC(EnumDescriptorProto_reserved_range)(enum_proto, &n_res_range);
295
+ google_protobuf_EnumDescriptorProto_reserved_range(enum_proto, &n_res_range);
282
296
  e->res_range_count = n_res_range;
283
297
  e->res_ranges = _upb_EnumReservedRanges_New(ctx, n_res_range, res_ranges, e);
284
298
 
285
- res_names =
286
- UPB_DESC(EnumDescriptorProto_reserved_name)(enum_proto, &n_res_name);
299
+ res_names = google_protobuf_EnumDescriptorProto_reserved_name(enum_proto, &n_res_name);
287
300
  e->res_name_count = n_res_name;
288
301
  e->res_names = _upb_EnumReservedNames_New(ctx, n_res_name, res_names);
289
302
 
290
- e->visibility = UPB_DESC(EnumDescriptorProto_visibility)(enum_proto);
303
+ e->visibility = google_protobuf_EnumDescriptorProto_visibility(enum_proto);
291
304
 
292
305
  if (!upb_inttable_compact(&e->iton, ctx->arena)) _upb_DefBuilder_OomErr(ctx);
293
306
 
@@ -303,9 +316,8 @@ static void create_enumdef(upb_DefBuilder* ctx, const char* prefix,
303
316
  }
304
317
 
305
318
  upb_EnumDef* _upb_EnumDefs_New(upb_DefBuilder* ctx, int n,
306
- const UPB_DESC(EnumDescriptorProto*)
307
- const* protos,
308
- const UPB_DESC(FeatureSet*) parent_features,
319
+ const google_protobuf_EnumDescriptorProto* const* protos,
320
+ const google_protobuf_FeatureSet* parent_features,
309
321
  const upb_MessageDef* containing_type) {
310
322
  _upb_DefType_CheckPadding(sizeof(upb_EnumDef));
311
323
 
@@ -10,8 +10,13 @@
10
10
  #ifndef UPB_REFLECTION_ENUM_DEF_H_
11
11
  #define UPB_REFLECTION_ENUM_DEF_H_
12
12
 
13
+ #include <stddef.h>
14
+ #include <stdint.h>
15
+
13
16
  #include "upb/base/string_view.h"
17
+ #include "upb/mem/arena.h"
14
18
  #include "upb/reflection/common.h"
19
+ #include "upb/reflection/descriptor_bootstrap.h"
15
20
 
16
21
  // Must be last.
17
22
  #include "upb/port/def.inc"
@@ -33,16 +38,15 @@ UPB_API const upb_EnumValueDef* upb_EnumDef_FindValueByNumber(
33
38
  UPB_API const char* upb_EnumDef_FullName(const upb_EnumDef* e);
34
39
  bool upb_EnumDef_HasOptions(const upb_EnumDef* e);
35
40
  bool upb_EnumDef_IsClosed(const upb_EnumDef* e);
36
- bool upb_EnumDef_IsSpecifiedAsClosed(const upb_EnumDef* e);
37
41
 
38
42
  // Creates a mini descriptor string for an enum, returns true on success.
39
43
  bool upb_EnumDef_MiniDescriptorEncode(const upb_EnumDef* e, upb_Arena* a,
40
44
  upb_StringView* out);
41
45
 
42
46
  const char* upb_EnumDef_Name(const upb_EnumDef* e);
43
- const UPB_DESC(EnumOptions) * upb_EnumDef_Options(const upb_EnumDef* e);
44
- const UPB_DESC(FeatureSet) * upb_EnumDef_ResolvedFeatures(const upb_EnumDef* e);
45
- UPB_DESC(SymbolVisibility) upb_EnumDef_Visibility(const upb_EnumDef* e);
47
+ const google_protobuf_EnumOptions* upb_EnumDef_Options(const upb_EnumDef* e);
48
+ const google_protobuf_FeatureSet* upb_EnumDef_ResolvedFeatures(const upb_EnumDef* e);
49
+ google_protobuf_SymbolVisibility upb_EnumDef_Visibility(const upb_EnumDef* e);
46
50
 
47
51
  upb_StringView upb_EnumDef_ReservedName(const upb_EnumDef* e, int i);
48
52
  int upb_EnumDef_ReservedNameCount(const upb_EnumDef* e);
@@ -7,6 +7,10 @@
7
7
 
8
8
  #include "upb/reflection/internal/enum_reserved_range.h"
9
9
 
10
+ #include <stdint.h>
11
+
12
+ #include "upb/reflection/def.h"
13
+ #include "upb/reflection/descriptor_bootstrap.h"
10
14
  #include "upb/reflection/enum_def.h"
11
15
  #include "upb/reflection/field_def.h"
12
16
  #include "upb/reflection/internal/def_builder.h"
@@ -33,16 +37,16 @@ int32_t upb_EnumReservedRange_End(const upb_EnumReservedRange* r) {
33
37
 
34
38
  upb_EnumReservedRange* _upb_EnumReservedRanges_New(
35
39
  upb_DefBuilder* ctx, int n,
36
- const UPB_DESC(EnumDescriptorProto_EnumReservedRange) * const* protos,
40
+ const google_protobuf_EnumDescriptorProto_EnumReservedRange* const* protos,
37
41
  const upb_EnumDef* e) {
38
42
  upb_EnumReservedRange* r =
39
43
  UPB_DEFBUILDER_ALLOCARRAY(ctx, upb_EnumReservedRange, n);
40
44
 
41
45
  for (int i = 0; i < n; i++) {
42
46
  const int32_t start =
43
- UPB_DESC(EnumDescriptorProto_EnumReservedRange_start)(protos[i]);
47
+ google_protobuf_EnumDescriptorProto_EnumReservedRange_start(protos[i]);
44
48
  const int32_t end =
45
- UPB_DESC(EnumDescriptorProto_EnumReservedRange_end)(protos[i]);
49
+ google_protobuf_EnumDescriptorProto_EnumReservedRange_end(protos[i]);
46
50
 
47
51
  // A full validation would also check that each range is disjoint, and that
48
52
  // none of the fields overlap with the extension ranges, but we are just