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
@@ -15,6 +15,7 @@
15
15
  #include "upb/mem/arena.h"
16
16
  #include "upb/reflection/def.h"
17
17
  #include "upb/reflection/def_type.h"
18
+ #include "upb/reflection/descriptor_bootstrap.h"
18
19
  #include "upb/reflection/enum_def.h"
19
20
  #include "upb/reflection/enum_value_def.h"
20
21
  #include "upb/reflection/internal/def_builder.h"
@@ -24,8 +25,8 @@
24
25
  #include "upb/port/def.inc"
25
26
 
26
27
  struct upb_EnumValueDef {
27
- UPB_ALIGN_AS(8) const UPB_DESC(EnumValueOptions*) opts;
28
- const UPB_DESC(FeatureSet*) resolved_features;
28
+ UPB_ALIGN_AS(8) const google_protobuf_EnumValueOptions* opts;
29
+ const google_protobuf_FeatureSet* resolved_features;
29
30
  const upb_EnumDef* parent;
30
31
  const char* full_name;
31
32
  int32_t number;
@@ -57,8 +58,8 @@ const upb_EnumValueDef** _upb_EnumValueDefs_Sorted(const upb_EnumValueDef* v,
57
58
  return (const upb_EnumValueDef**)out;
58
59
  }
59
60
 
60
- const UPB_DESC(EnumValueOptions) *
61
- upb_EnumValueDef_Options(const upb_EnumValueDef* v) {
61
+ const google_protobuf_EnumValueOptions* upb_EnumValueDef_Options(
62
+ const upb_EnumValueDef* v) {
62
63
  return v->opts;
63
64
  }
64
65
 
@@ -66,8 +67,8 @@ bool upb_EnumValueDef_HasOptions(const upb_EnumValueDef* v) {
66
67
  return v->opts != (void*)kUpbDefOptDefault;
67
68
  }
68
69
 
69
- const UPB_DESC(FeatureSet) *
70
- upb_EnumValueDef_ResolvedFeatures(const upb_EnumValueDef* e) {
70
+ const google_protobuf_FeatureSet* upb_EnumValueDef_ResolvedFeatures(
71
+ const upb_EnumValueDef* e) {
71
72
  return e->resolved_features;
72
73
  }
73
74
 
@@ -91,20 +92,19 @@ uint32_t upb_EnumValueDef_Index(const upb_EnumValueDef* v) {
91
92
  }
92
93
 
93
94
  static void create_enumvaldef(upb_DefBuilder* ctx, const char* prefix,
94
- const UPB_DESC(EnumValueDescriptorProto*)
95
- val_proto,
96
- const UPB_DESC(FeatureSet*) parent_features,
95
+ const google_protobuf_EnumValueDescriptorProto* val_proto,
96
+ const google_protobuf_FeatureSet* parent_features,
97
97
  upb_EnumDef* e, upb_EnumValueDef* v) {
98
98
  UPB_DEF_SET_OPTIONS(v->opts, EnumValueDescriptorProto, EnumValueOptions,
99
99
  val_proto);
100
100
  v->resolved_features = _upb_DefBuilder_ResolveFeatures(
101
- ctx, parent_features, UPB_DESC(EnumValueOptions_features)(v->opts));
101
+ ctx, parent_features, google_protobuf_EnumValueOptions_features(v->opts));
102
102
 
103
- upb_StringView name = UPB_DESC(EnumValueDescriptorProto_name)(val_proto);
103
+ upb_StringView name = google_protobuf_EnumValueDescriptorProto_name(val_proto);
104
104
 
105
105
  v->parent = e; // Must happen prior to _upb_DefBuilder_Add()
106
106
  v->full_name = _upb_DefBuilder_MakeFullName(ctx, prefix, name);
107
- v->number = UPB_DESC(EnumValueDescriptorProto_number)(val_proto);
107
+ v->number = google_protobuf_EnumValueDescriptorProto_number(val_proto);
108
108
  _upb_DefBuilder_Add(ctx, v->full_name,
109
109
  _upb_DefType_Pack(v, UPB_DEFTYPE_ENUMVAL));
110
110
 
@@ -112,24 +112,11 @@ static void create_enumvaldef(upb_DefBuilder* ctx, const char* prefix,
112
112
  if (!ok) _upb_DefBuilder_OomErr(ctx);
113
113
  }
114
114
 
115
- static void _upb_EnumValueDef_CheckZeroValue(upb_DefBuilder* ctx,
116
- const upb_EnumDef* e,
117
- const upb_EnumValueDef* v, int n) {
118
- // When the special UPB_TREAT_CLOSED_ENUMS_LIKE_OPEN is enabled, we have to
119
- // exempt closed enums from this check, even when we are treating them as
120
- // open.
121
- if (upb_EnumDef_IsSpecifiedAsClosed(e) || n == 0 || v[0].number == 0) return;
122
-
123
- _upb_DefBuilder_Errf(ctx, "for open enums, the first value must be zero (%s)",
124
- upb_EnumDef_FullName(e));
125
- }
126
-
127
115
  // Allocate and initialize an array of |n| enum value defs owned by |e|.
128
116
  upb_EnumValueDef* _upb_EnumValueDefs_New(
129
117
  upb_DefBuilder* ctx, const char* prefix, int n,
130
- const UPB_DESC(EnumValueDescriptorProto*) const* protos,
131
- const UPB_DESC(FeatureSet*) parent_features, upb_EnumDef* e,
132
- bool* is_sorted) {
118
+ const google_protobuf_EnumValueDescriptorProto* const* protos,
119
+ const google_protobuf_FeatureSet* parent_features, upb_EnumDef* e, bool* is_sorted) {
133
120
  _upb_DefType_CheckPadding(sizeof(upb_EnumValueDef));
134
121
 
135
122
  upb_EnumValueDef* v = UPB_DEFBUILDER_ALLOCARRAY(ctx, upb_EnumValueDef, n);
@@ -144,7 +131,5 @@ upb_EnumValueDef* _upb_EnumValueDefs_New(
144
131
  previous = current;
145
132
  }
146
133
 
147
- _upb_EnumValueDef_CheckZeroValue(ctx, e, v, n);
148
-
149
134
  return v;
150
135
  }
@@ -11,6 +11,7 @@
11
11
  #define UPB_REFLECTION_ENUM_VALUE_DEF_H_
12
12
 
13
13
  #include "upb/reflection/common.h"
14
+ #include "upb/reflection/descriptor_bootstrap.h"
14
15
 
15
16
  // Must be last.
16
17
  #include "upb/port/def.inc"
@@ -25,10 +26,10 @@ bool upb_EnumValueDef_HasOptions(const upb_EnumValueDef* v);
25
26
  uint32_t upb_EnumValueDef_Index(const upb_EnumValueDef* v);
26
27
  UPB_API const char* upb_EnumValueDef_Name(const upb_EnumValueDef* v);
27
28
  UPB_API int32_t upb_EnumValueDef_Number(const upb_EnumValueDef* v);
28
- const UPB_DESC(EnumValueOptions) *
29
- upb_EnumValueDef_Options(const upb_EnumValueDef* v);
30
- const UPB_DESC(FeatureSet) *
31
- upb_EnumValueDef_ResolvedFeatures(const upb_EnumValueDef* e);
29
+ const google_protobuf_EnumValueOptions* upb_EnumValueDef_Options(
30
+ const upb_EnumValueDef* v);
31
+ const google_protobuf_FeatureSet* upb_EnumValueDef_ResolvedFeatures(
32
+ const upb_EnumValueDef* e);
32
33
 
33
34
  #ifdef __cplusplus
34
35
  } /* extern "C" */
@@ -9,6 +9,8 @@
9
9
 
10
10
  #include <stdint.h>
11
11
 
12
+ #include "upb/reflection/def.h"
13
+ #include "upb/reflection/descriptor_bootstrap.h"
12
14
  #include "upb/reflection/extension_range.h"
13
15
  #include "upb/reflection/field_def.h"
14
16
  #include "upb/reflection/internal/def_builder.h"
@@ -18,8 +20,8 @@
18
20
  #include "upb/port/def.inc"
19
21
 
20
22
  struct upb_ExtensionRange {
21
- const UPB_DESC(ExtensionRangeOptions*) opts;
22
- const UPB_DESC(FeatureSet*) resolved_features;
23
+ const google_protobuf_ExtensionRangeOptions* opts;
24
+ const google_protobuf_FeatureSet* resolved_features;
23
25
  int32_t start;
24
26
  int32_t end;
25
27
  };
@@ -28,8 +30,8 @@ upb_ExtensionRange* _upb_ExtensionRange_At(const upb_ExtensionRange* r, int i) {
28
30
  return (upb_ExtensionRange*)&r[i];
29
31
  }
30
32
 
31
- const UPB_DESC(ExtensionRangeOptions) *
32
- upb_ExtensionRange_Options(const upb_ExtensionRange* r) {
33
+ const google_protobuf_ExtensionRangeOptions* upb_ExtensionRange_Options(
34
+ const upb_ExtensionRange* r) {
33
35
  return r->opts;
34
36
  }
35
37
 
@@ -45,24 +47,23 @@ int32_t upb_ExtensionRange_End(const upb_ExtensionRange* r) { return r->end; }
45
47
 
46
48
  upb_ExtensionRange* _upb_ExtensionRanges_New(
47
49
  upb_DefBuilder* ctx, int n,
48
- const UPB_DESC(DescriptorProto_ExtensionRange*) const* protos,
49
- const UPB_DESC(FeatureSet*) parent_features, const upb_MessageDef* m) {
50
+ const google_protobuf_DescriptorProto_ExtensionRange* const* protos,
51
+ const google_protobuf_FeatureSet* parent_features, const upb_MessageDef* m) {
50
52
  upb_ExtensionRange* r = UPB_DEFBUILDER_ALLOCARRAY(ctx, upb_ExtensionRange, n);
51
53
 
52
54
  for (int i = 0; i < n; i++) {
53
55
  UPB_DEF_SET_OPTIONS(r[i].opts, DescriptorProto_ExtensionRange,
54
56
  ExtensionRangeOptions, protos[i]);
55
57
  r[i].resolved_features = _upb_DefBuilder_ResolveFeatures(
56
- ctx, parent_features,
57
- UPB_DESC(ExtensionRangeOptions_features)(r[i].opts));
58
+ ctx, parent_features, google_protobuf_ExtensionRangeOptions_features(r[i].opts));
58
59
 
59
60
  const int32_t start =
60
- UPB_DESC(DescriptorProto_ExtensionRange_start)(protos[i]);
61
- const int32_t end = UPB_DESC(DescriptorProto_ExtensionRange_end)(protos[i]);
62
- const int32_t max = UPB_DESC(MessageOptions_message_set_wire_format)(
63
- upb_MessageDef_Options(m))
64
- ? INT32_MAX
65
- : kUpb_MaxFieldNumber + 1;
61
+ google_protobuf_DescriptorProto_ExtensionRange_start(protos[i]);
62
+ const int32_t end = google_protobuf_DescriptorProto_ExtensionRange_end(protos[i]);
63
+ const int32_t max =
64
+ google_protobuf_MessageOptions_message_set_wire_format(upb_MessageDef_Options(m))
65
+ ? INT32_MAX
66
+ : kUpb_MaxFieldNumber + 1;
66
67
 
67
68
  // A full validation would also check that each range is disjoint, and that
68
69
  // none of the fields overlap with the extension ranges, but we are just
@@ -10,7 +10,10 @@
10
10
  #ifndef UPB_REFLECTION_EXTENSION_RANGE_H_
11
11
  #define UPB_REFLECTION_EXTENSION_RANGE_H_
12
12
 
13
+ #include <stdint.h>
14
+
13
15
  #include "upb/reflection/common.h"
16
+ #include "upb/reflection/descriptor_bootstrap.h"
14
17
 
15
18
  // Must be last.
16
19
  #include "upb/port/def.inc"
@@ -23,10 +26,10 @@ int32_t upb_ExtensionRange_Start(const upb_ExtensionRange* r);
23
26
  int32_t upb_ExtensionRange_End(const upb_ExtensionRange* r);
24
27
 
25
28
  bool upb_ExtensionRange_HasOptions(const upb_ExtensionRange* r);
26
- const UPB_DESC(ExtensionRangeOptions) *
27
- upb_ExtensionRange_Options(const upb_ExtensionRange* r);
28
- const UPB_DESC(FeatureSet) *
29
- upb_ExtensionRange_ResolvedFeatures(const upb_ExtensionRange* e);
29
+ const google_protobuf_ExtensionRangeOptions* upb_ExtensionRange_Options(
30
+ const upb_ExtensionRange* r);
31
+ const google_protobuf_FeatureSet* upb_ExtensionRange_ResolvedFeatures(
32
+ const upb_ExtensionRange* e);
30
33
 
31
34
  #ifdef __cplusplus
32
35
  } /* extern "C" */
@@ -29,6 +29,7 @@
29
29
  #include "upb/mini_table/sub.h"
30
30
  #include "upb/reflection/def.h"
31
31
  #include "upb/reflection/def_type.h"
32
+ #include "upb/reflection/descriptor_bootstrap.h"
32
33
  #include "upb/reflection/internal/def_builder.h"
33
34
  #include "upb/reflection/internal/def_pool.h"
34
35
  #include "upb/reflection/internal/desc_state.h"
@@ -49,8 +50,8 @@ typedef struct {
49
50
  } str_t;
50
51
 
51
52
  struct upb_FieldDef {
52
- UPB_ALIGN_AS(8) const UPB_DESC(FieldOptions*) opts;
53
- const UPB_DESC(FeatureSet*) resolved_features;
53
+ UPB_ALIGN_AS(8) const google_protobuf_FieldOptions* opts;
54
+ const google_protobuf_FeatureSet* resolved_features;
54
55
  const upb_FileDef* file;
55
56
  const upb_MessageDef* msgdef;
56
57
  const char* full_name;
@@ -71,7 +72,7 @@ struct upb_FieldDef {
71
72
  union {
72
73
  const upb_MessageDef* msgdef;
73
74
  const upb_EnumDef* enumdef;
74
- const UPB_DESC(FieldDescriptorProto) * unresolved;
75
+ const google_protobuf_FieldDescriptorProto* unresolved;
75
76
  } sub;
76
77
  uint32_t number_;
77
78
  uint16_t index_;
@@ -89,7 +90,7 @@ upb_FieldDef* _upb_FieldDef_At(const upb_FieldDef* f, int i) {
89
90
  return (upb_FieldDef*)&f[i];
90
91
  }
91
92
 
92
- const UPB_DESC(FieldOptions) * upb_FieldDef_Options(const upb_FieldDef* f) {
93
+ const google_protobuf_FieldOptions* upb_FieldDef_Options(const upb_FieldDef* f) {
93
94
  return f->opts;
94
95
  }
95
96
 
@@ -97,8 +98,7 @@ bool upb_FieldDef_HasOptions(const upb_FieldDef* f) {
97
98
  return f->opts != (void*)kUpbDefOptDefault;
98
99
  }
99
100
 
100
- const UPB_DESC(FeatureSet) *
101
- upb_FieldDef_ResolvedFeatures(const upb_FieldDef* f) {
101
+ const google_protobuf_FeatureSet* upb_FieldDef_ResolvedFeatures(const upb_FieldDef* f) {
102
102
  return f->resolved_features;
103
103
  }
104
104
 
@@ -130,8 +130,8 @@ bool _upb_FieldDef_IsPackable(const upb_FieldDef* f) {
130
130
 
131
131
  bool upb_FieldDef_IsPacked(const upb_FieldDef* f) {
132
132
  return _upb_FieldDef_IsPackable(f) &&
133
- UPB_DESC(FeatureSet_repeated_field_encoding(f->resolved_features)) ==
134
- UPB_DESC(FeatureSet_PACKED);
133
+ google_protobuf_FeatureSet_repeated_field_encoding(f->resolved_features) ==
134
+ google_protobuf_FeatureSet_PACKED;
135
135
  }
136
136
 
137
137
  const char* upb_FieldDef_Name(const upb_FieldDef* f) {
@@ -246,8 +246,8 @@ int _upb_FieldDef_LayoutIndex(const upb_FieldDef* f) { return f->layout_index; }
246
246
 
247
247
  bool _upb_FieldDef_ValidateUtf8(const upb_FieldDef* f) {
248
248
  if (upb_FieldDef_Type(f) != kUpb_FieldType_String) return false;
249
- return UPB_DESC(FeatureSet_utf8_validation(f->resolved_features)) ==
250
- UPB_DESC(FeatureSet_VERIFY);
249
+ return google_protobuf_FeatureSet_utf8_validation(f->resolved_features) ==
250
+ google_protobuf_FeatureSet_VERIFY;
251
251
  }
252
252
 
253
253
  bool _upb_FieldDef_IsGroupLike(const upb_FieldDef* f) {
@@ -334,8 +334,8 @@ bool upb_FieldDef_IsRepeated(const upb_FieldDef* f) {
334
334
  }
335
335
 
336
336
  bool upb_FieldDef_IsRequired(const upb_FieldDef* f) {
337
- return UPB_DESC(FeatureSet_field_presence)(f->resolved_features) ==
338
- UPB_DESC(FeatureSet_LEGACY_REQUIRED);
337
+ return google_protobuf_FeatureSet_field_presence(f->resolved_features) ==
338
+ google_protobuf_FeatureSet_LEGACY_REQUIRED;
339
339
  }
340
340
 
341
341
  bool upb_FieldDef_IsString(const upb_FieldDef* f) {
@@ -528,7 +528,8 @@ invalid:
528
528
  (int)upb_FieldDef_Type(f));
529
529
  }
530
530
 
531
- static void set_default_default(upb_DefBuilder* ctx, upb_FieldDef* f) {
531
+ static void set_default_default(upb_DefBuilder* ctx, upb_FieldDef* f,
532
+ bool must_be_empty) {
532
533
  switch (upb_FieldDef_CType(f)) {
533
534
  case kUpb_CType_Int32:
534
535
  case kUpb_CType_Int64:
@@ -550,8 +551,14 @@ static void set_default_default(upb_DefBuilder* ctx, upb_FieldDef* f) {
550
551
  f->defaultval.boolean = false;
551
552
  break;
552
553
  case kUpb_CType_Enum: {
553
- const upb_EnumValueDef* v = upb_EnumDef_Value(f->sub.enumdef, 0);
554
- f->defaultval.sint = upb_EnumValueDef_Number(v);
554
+ f->defaultval.sint = upb_EnumDef_Default(f->sub.enumdef);
555
+ if (must_be_empty && f->defaultval.sint != 0) {
556
+ _upb_DefBuilder_Errf(ctx,
557
+ "Implicit presence field (%s) cannot use an enum "
558
+ "type with a non-zero default (%s)",
559
+ f->full_name,
560
+ upb_EnumDef_FullName(f->sub.enumdef));
561
+ }
555
562
  break;
556
563
  }
557
564
  case kUpb_CType_Message:
@@ -561,32 +568,31 @@ static void set_default_default(upb_DefBuilder* ctx, upb_FieldDef* f) {
561
568
 
562
569
  static bool _upb_FieldDef_InferLegacyFeatures(
563
570
  upb_DefBuilder* ctx, upb_FieldDef* f,
564
- const UPB_DESC(FieldDescriptorProto*) proto,
565
- const UPB_DESC(FieldOptions*) options, upb_Syntax syntax,
566
- UPB_DESC(FeatureSet*) features) {
571
+ const google_protobuf_FieldDescriptorProto* proto,
572
+ const google_protobuf_FieldOptions* options, google_protobuf_Edition edition,
573
+ google_protobuf_FeatureSet* features) {
567
574
  bool ret = false;
568
575
 
569
- if (UPB_DESC(FieldDescriptorProto_label)(proto) == kUpb_Label_Required) {
570
- if (syntax == kUpb_Syntax_Proto3) {
576
+ if (google_protobuf_FieldDescriptorProto_label(proto) == kUpb_Label_Required) {
577
+ if (edition == google_protobuf_EDITION_PROTO3) {
571
578
  _upb_DefBuilder_Errf(ctx, "proto3 fields cannot be required (%s)",
572
579
  f->full_name);
573
580
  }
574
- int val = UPB_DESC(FeatureSet_LEGACY_REQUIRED);
575
- UPB_DESC(FeatureSet_set_field_presence(features, val));
581
+ int val = google_protobuf_FeatureSet_LEGACY_REQUIRED;
582
+ google_protobuf_FeatureSet_set_field_presence(features, val);
576
583
  ret = true;
577
584
  }
578
585
 
579
- if (UPB_DESC(FieldDescriptorProto_type)(proto) == kUpb_FieldType_Group) {
580
- int val = UPB_DESC(FeatureSet_DELIMITED);
581
- UPB_DESC(FeatureSet_set_message_encoding(features, val));
586
+ if (google_protobuf_FieldDescriptorProto_type(proto) == kUpb_FieldType_Group) {
587
+ int val = google_protobuf_FeatureSet_DELIMITED;
588
+ google_protobuf_FeatureSet_set_message_encoding(features, val);
582
589
  ret = true;
583
590
  }
584
591
 
585
- if (UPB_DESC(FieldOptions_has_packed)(options)) {
586
- int val = UPB_DESC(FieldOptions_packed)(options)
587
- ? UPB_DESC(FeatureSet_PACKED)
588
- : UPB_DESC(FeatureSet_EXPANDED);
589
- UPB_DESC(FeatureSet_set_repeated_field_encoding(features, val));
592
+ if (google_protobuf_FieldOptions_has_packed(options)) {
593
+ int val = google_protobuf_FieldOptions_packed(options) ? google_protobuf_FeatureSet_PACKED
594
+ : google_protobuf_FeatureSet_EXPANDED;
595
+ google_protobuf_FeatureSet_set_repeated_field_encoding(features, val);
590
596
  ret = true;
591
597
  }
592
598
 
@@ -594,40 +600,39 @@ static bool _upb_FieldDef_InferLegacyFeatures(
594
600
  }
595
601
 
596
602
  static void _upb_FieldDef_Create(upb_DefBuilder* ctx, const char* prefix,
597
- const UPB_DESC(FeatureSet*) parent_features,
598
- const UPB_DESC(FieldDescriptorProto*)
599
- field_proto,
603
+ const google_protobuf_FeatureSet* parent_features,
604
+ const google_protobuf_FieldDescriptorProto* field_proto,
600
605
  upb_MessageDef* m, upb_FieldDef* f) {
601
606
  // Must happen before _upb_DefBuilder_Add()
602
607
  f->file = _upb_DefBuilder_File(ctx);
603
608
 
604
- const upb_StringView name = UPB_DESC(FieldDescriptorProto_name)(field_proto);
609
+ const upb_StringView name = google_protobuf_FieldDescriptorProto_name(field_proto);
605
610
  f->full_name = _upb_DefBuilder_MakeFullName(ctx, prefix, name);
606
- f->number_ = UPB_DESC(FieldDescriptorProto_number)(field_proto);
611
+ f->number_ = google_protobuf_FieldDescriptorProto_number(field_proto);
607
612
  f->is_proto3_optional =
608
- UPB_DESC(FieldDescriptorProto_proto3_optional)(field_proto);
613
+ google_protobuf_FieldDescriptorProto_proto3_optional(field_proto);
609
614
  f->msgdef = m;
610
615
  f->scope.oneof = NULL;
611
616
 
612
617
  UPB_DEF_SET_OPTIONS(f->opts, FieldDescriptorProto, FieldOptions, field_proto);
613
618
 
614
- upb_Syntax syntax = upb_FileDef_Syntax(f->file);
615
- const UPB_DESC(FeatureSet*) unresolved_features =
616
- UPB_DESC(FieldOptions_features)(f->opts);
619
+ google_protobuf_Edition edition = upb_FileDef_Edition(f->file);
620
+ const google_protobuf_FeatureSet* unresolved_features =
621
+ google_protobuf_FieldOptions_features(f->opts);
617
622
  bool implicit = false;
618
623
 
619
- if (syntax != kUpb_Syntax_Editions) {
624
+ if (_upb_DefBuilder_IsLegacyEdition(edition)) {
620
625
  upb_Message_Clear(UPB_UPCAST(ctx->legacy_features),
621
626
  UPB_DESC_MINITABLE(FeatureSet));
622
- if (_upb_FieldDef_InferLegacyFeatures(ctx, f, field_proto, f->opts, syntax,
627
+ if (_upb_FieldDef_InferLegacyFeatures(ctx, f, field_proto, f->opts, edition,
623
628
  ctx->legacy_features)) {
624
629
  implicit = true;
625
630
  unresolved_features = ctx->legacy_features;
626
631
  }
627
632
  }
628
633
 
629
- if (UPB_DESC(FieldDescriptorProto_has_oneof_index)(field_proto)) {
630
- int oneof_index = UPB_DESC(FieldDescriptorProto_oneof_index)(field_proto);
634
+ if (google_protobuf_FieldDescriptorProto_has_oneof_index(field_proto)) {
635
+ int oneof_index = google_protobuf_FieldDescriptorProto_oneof_index(field_proto);
631
636
 
632
637
  if (!m) {
633
638
  _upb_DefBuilder_Errf(ctx, "oneof field (%s) has no containing msg",
@@ -648,33 +653,33 @@ static void _upb_FieldDef_Create(upb_DefBuilder* ctx, const char* prefix,
648
653
  f->resolved_features = _upb_DefBuilder_DoResolveFeatures(
649
654
  ctx, parent_features, unresolved_features, implicit);
650
655
 
651
- f->label_ = (int)UPB_DESC(FieldDescriptorProto_label)(field_proto);
656
+ f->label_ = (int)google_protobuf_FieldDescriptorProto_label(field_proto);
652
657
  if (f->label_ == kUpb_Label_Optional &&
653
658
  // TODO: remove once we can deprecate kUpb_Label_Required.
654
- UPB_DESC(FeatureSet_field_presence)(f->resolved_features) ==
655
- UPB_DESC(FeatureSet_LEGACY_REQUIRED)) {
659
+ google_protobuf_FeatureSet_field_presence(f->resolved_features) ==
660
+ google_protobuf_FeatureSet_LEGACY_REQUIRED) {
656
661
  f->label_ = kUpb_Label_Required;
657
662
  }
658
663
 
659
- if (!UPB_DESC(FieldDescriptorProto_has_name)(field_proto)) {
664
+ if (!google_protobuf_FieldDescriptorProto_has_name(field_proto)) {
660
665
  _upb_DefBuilder_Errf(ctx, "field has no name");
661
666
  }
662
667
 
663
- f->has_json_name = UPB_DESC(FieldDescriptorProto_has_json_name)(field_proto);
668
+ f->has_json_name = google_protobuf_FieldDescriptorProto_has_json_name(field_proto);
664
669
  if (f->has_json_name) {
665
670
  const upb_StringView sv =
666
- UPB_DESC(FieldDescriptorProto_json_name)(field_proto);
671
+ google_protobuf_FieldDescriptorProto_json_name(field_proto);
667
672
  f->json_name = upb_strdup2(sv.data, sv.size, ctx->arena);
668
673
  } else {
669
674
  f->json_name = make_json_name(name.data, name.size, ctx->arena);
670
675
  }
671
676
  if (!f->json_name) _upb_DefBuilder_OomErr(ctx);
672
677
 
673
- const bool has_type = UPB_DESC(FieldDescriptorProto_has_type)(field_proto);
678
+ const bool has_type = google_protobuf_FieldDescriptorProto_has_type(field_proto);
674
679
  const bool has_type_name =
675
- UPB_DESC(FieldDescriptorProto_has_type_name)(field_proto);
680
+ google_protobuf_FieldDescriptorProto_has_type_name(field_proto);
676
681
 
677
- f->type_ = (int)UPB_DESC(FieldDescriptorProto_type)(field_proto);
682
+ f->type_ = (int)google_protobuf_FieldDescriptorProto_type(field_proto);
678
683
 
679
684
  if (has_type) {
680
685
  switch (f->type_) {
@@ -715,7 +720,7 @@ static void _upb_FieldDef_Create(upb_DefBuilder* ctx, const char* prefix,
715
720
  * to the field_proto until later when we can properly resolve it. */
716
721
  f->sub.unresolved = field_proto;
717
722
 
718
- if (UPB_DESC(FieldDescriptorProto_has_oneof_index)(field_proto)) {
723
+ if (google_protobuf_FieldDescriptorProto_has_oneof_index(field_proto)) {
719
724
  if (upb_FieldDef_Label(f) != kUpb_Label_Optional) {
720
725
  _upb_DefBuilder_Errf(ctx, "fields in oneof must have OPTIONAL label (%s)",
721
726
  f->full_name);
@@ -724,22 +729,22 @@ static void _upb_FieldDef_Create(upb_DefBuilder* ctx, const char* prefix,
724
729
 
725
730
  f->has_presence =
726
731
  (!upb_FieldDef_IsRepeated(f)) &&
727
- (f->is_extension ||
732
+ (f->is_extension || _upb_FileDef_ImplicitFieldPresenceDisabled(f->file) ||
728
733
  (f->type_ == kUpb_FieldType_Message ||
729
734
  f->type_ == kUpb_FieldType_Group || upb_FieldDef_ContainingOneof(f) ||
730
- UPB_DESC(FeatureSet_field_presence)(f->resolved_features) !=
731
- UPB_DESC(FeatureSet_IMPLICIT)));
735
+ google_protobuf_FeatureSet_field_presence(f->resolved_features) !=
736
+ google_protobuf_FeatureSet_IMPLICIT));
732
737
  }
733
738
 
734
- static void _upb_FieldDef_CreateExt(upb_DefBuilder* ctx, const char* prefix,
735
- const UPB_DESC(FeatureSet*) parent_features,
736
- const UPB_DESC(FieldDescriptorProto*)
737
- field_proto,
738
- upb_MessageDef* m, upb_FieldDef* f) {
739
+ static void _upb_FieldDef_CreateExt(
740
+ upb_DefBuilder* ctx, const char* prefix,
741
+ const google_protobuf_FeatureSet* parent_features,
742
+ const google_protobuf_FieldDescriptorProto* field_proto, upb_MessageDef* m,
743
+ upb_FieldDef* f) {
739
744
  f->is_extension = true;
740
745
  _upb_FieldDef_Create(ctx, prefix, parent_features, field_proto, m, f);
741
746
 
742
- if (UPB_DESC(FieldDescriptorProto_has_oneof_index)(field_proto)) {
747
+ if (google_protobuf_FieldDescriptorProto_has_oneof_index(field_proto)) {
743
748
  _upb_DefBuilder_Errf(ctx, "oneof_index provided for extension field (%s)",
744
749
  f->full_name);
745
750
  }
@@ -754,16 +759,15 @@ static void _upb_FieldDef_CreateExt(upb_DefBuilder* ctx, const char* prefix,
754
759
  }
755
760
  }
756
761
 
757
- static void _upb_FieldDef_CreateNotExt(upb_DefBuilder* ctx, const char* prefix,
758
- const UPB_DESC(FeatureSet*)
759
- parent_features,
760
- const UPB_DESC(FieldDescriptorProto*)
761
- field_proto,
762
- upb_MessageDef* m, upb_FieldDef* f) {
762
+ static void _upb_FieldDef_CreateNotExt(
763
+ upb_DefBuilder* ctx, const char* prefix,
764
+ const google_protobuf_FeatureSet* parent_features,
765
+ const google_protobuf_FieldDescriptorProto* field_proto, upb_MessageDef* m,
766
+ upb_FieldDef* f) {
763
767
  f->is_extension = false;
764
768
  _upb_FieldDef_Create(ctx, prefix, parent_features, field_proto, m, f);
765
769
 
766
- if (!UPB_DESC(FieldDescriptorProto_has_oneof_index)(field_proto)) {
770
+ if (!google_protobuf_FieldDescriptorProto_has_oneof_index(field_proto)) {
767
771
  if (f->is_proto3_optional) {
768
772
  _upb_DefBuilder_Errf(
769
773
  ctx,
@@ -775,11 +779,11 @@ static void _upb_FieldDef_CreateNotExt(upb_DefBuilder* ctx, const char* prefix,
775
779
  _upb_MessageDef_InsertField(ctx, m, f);
776
780
  }
777
781
 
778
- upb_FieldDef* _upb_Extensions_New(upb_DefBuilder* ctx, int n,
779
- const UPB_DESC(FieldDescriptorProto*)
780
- const* protos,
781
- const UPB_DESC(FeatureSet*) parent_features,
782
- const char* prefix, upb_MessageDef* m) {
782
+ upb_FieldDef* _upb_Extensions_New(
783
+ upb_DefBuilder* ctx, int n,
784
+ const google_protobuf_FieldDescriptorProto* const* protos,
785
+ const google_protobuf_FeatureSet* parent_features, const char* prefix,
786
+ upb_MessageDef* m) {
783
787
  _upb_DefType_CheckPadding(sizeof(upb_FieldDef));
784
788
  upb_FieldDef* defs = UPB_DEFBUILDER_ALLOCARRAY(ctx, upb_FieldDef, n);
785
789
 
@@ -793,12 +797,11 @@ upb_FieldDef* _upb_Extensions_New(upb_DefBuilder* ctx, int n,
793
797
  return defs;
794
798
  }
795
799
 
796
- upb_FieldDef* _upb_FieldDefs_New(upb_DefBuilder* ctx, int n,
797
- const UPB_DESC(FieldDescriptorProto*)
798
- const* protos,
799
- const UPB_DESC(FeatureSet*) parent_features,
800
- const char* prefix, upb_MessageDef* m,
801
- bool* is_sorted) {
800
+ upb_FieldDef* _upb_FieldDefs_New(
801
+ upb_DefBuilder* ctx, int n,
802
+ const google_protobuf_FieldDescriptorProto* const* protos,
803
+ const google_protobuf_FeatureSet* parent_features, const char* prefix,
804
+ upb_MessageDef* m, bool* is_sorted) {
802
805
  _upb_DefType_CheckPadding(sizeof(upb_FieldDef));
803
806
  upb_FieldDef* defs = UPB_DEFBUILDER_ALLOCARRAY(ctx, upb_FieldDef, n);
804
807
 
@@ -826,9 +829,9 @@ upb_FieldDef* _upb_FieldDefs_New(upb_DefBuilder* ctx, int n,
826
829
 
827
830
  static void resolve_subdef(upb_DefBuilder* ctx, const char* prefix,
828
831
  upb_FieldDef* f) {
829
- const UPB_DESC(FieldDescriptorProto)* field_proto = f->sub.unresolved;
830
- upb_StringView name = UPB_DESC(FieldDescriptorProto_type_name)(field_proto);
831
- bool has_name = UPB_DESC(FieldDescriptorProto_has_type_name)(field_proto);
832
+ const google_protobuf_FieldDescriptorProto* field_proto = f->sub.unresolved;
833
+ upb_StringView name = google_protobuf_FieldDescriptorProto_type_name(field_proto);
834
+ bool has_name = google_protobuf_FieldDescriptorProto_has_type_name(field_proto);
832
835
  switch ((int)f->type_) {
833
836
  case UPB_FIELD_TYPE_UNSPECIFIED: {
834
837
  // Type was not specified and must be inferred.
@@ -846,8 +849,8 @@ static void resolve_subdef(upb_DefBuilder* ctx, const char* prefix,
846
849
  f->type_ = kUpb_FieldType_Message;
847
850
  // TODO: remove once we can deprecate
848
851
  // kUpb_FieldType_Group.
849
- if (UPB_DESC(FeatureSet_message_encoding)(f->resolved_features) ==
850
- UPB_DESC(FeatureSet_DELIMITED) &&
852
+ if (google_protobuf_FeatureSet_message_encoding(f->resolved_features) ==
853
+ google_protobuf_FeatureSet_DELIMITED &&
851
854
  !upb_MessageDef_IsMapEntry(def) &&
852
855
  !(f->msgdef && upb_MessageDef_IsMapEntry(f->msgdef))) {
853
856
  f->type_ = kUpb_FieldType_Group;
@@ -925,14 +928,13 @@ bool upb_FieldDef_MiniDescriptorEncode(const upb_FieldDef* f, upb_Arena* a,
925
928
 
926
929
  static void resolve_extension(upb_DefBuilder* ctx, const char* prefix,
927
930
  upb_FieldDef* f,
928
- const UPB_DESC(FieldDescriptorProto) *
929
- field_proto) {
930
- if (!UPB_DESC(FieldDescriptorProto_has_extendee)(field_proto)) {
931
+ const google_protobuf_FieldDescriptorProto* field_proto) {
932
+ if (!google_protobuf_FieldDescriptorProto_has_extendee(field_proto)) {
931
933
  _upb_DefBuilder_Errf(ctx, "extension for field '%s' had no extendee",
932
934
  f->full_name);
933
935
  }
934
936
 
935
- upb_StringView name = UPB_DESC(FieldDescriptorProto_extendee)(field_proto);
937
+ upb_StringView name = google_protobuf_FieldDescriptorProto_extendee(field_proto);
936
938
  const upb_MessageDef* m =
937
939
  _upb_DefBuilder_Resolve(ctx, f->full_name, prefix, name, UPB_DEFTYPE_MSG);
938
940
  f->msgdef = m;
@@ -977,15 +979,31 @@ void _upb_FieldDef_BuildMiniTableExtension(upb_DefBuilder* ctx,
977
979
  }
978
980
 
979
981
  static void resolve_default(upb_DefBuilder* ctx, upb_FieldDef* f,
980
- const UPB_DESC(FieldDescriptorProto) *
981
- field_proto) {
982
+ const google_protobuf_FieldDescriptorProto* field_proto) {
983
+ // Implicit presence fields should always have an effective default of 0.
984
+ // This should naturally fall out of the validations that protoc performs:
985
+ // - Implicit presence fields cannot specify a default value.
986
+ // - Implicit presence fields for for enums can only use open enums, which
987
+ // are required to have zero as their default.
988
+ // - Even if we are treating all enums as open, the proto compiler will
989
+ // still reject using a nominally closed enum with an implicit presence
990
+ // field.
991
+ bool must_be_empty = !f->has_presence && !upb_FieldDef_IsRepeated(f);
992
+
982
993
  // Have to delay resolving of the default value until now because of the enum
983
994
  // case, since enum defaults are specified with a label.
984
- if (UPB_DESC(FieldDescriptorProto_has_default_value)(field_proto)) {
995
+ if (google_protobuf_FieldDescriptorProto_has_default_value(field_proto)) {
985
996
  upb_StringView defaultval =
986
- UPB_DESC(FieldDescriptorProto_default_value)(field_proto);
997
+ google_protobuf_FieldDescriptorProto_default_value(field_proto);
998
+
999
+ if (must_be_empty) {
1000
+ _upb_DefBuilder_Errf(ctx,
1001
+ "fields with implicit presence cannot have "
1002
+ "explicit defaults (%s)",
1003
+ f->full_name);
1004
+ }
987
1005
 
988
- if (upb_FileDef_Syntax(f->file) == kUpb_Syntax_Proto3) {
1006
+ if (upb_FileDef_Edition(f->file) == google_protobuf_EDITION_PROTO3) {
989
1007
  _upb_DefBuilder_Errf(ctx,
990
1008
  "proto3 fields cannot have explicit defaults (%s)",
991
1009
  f->full_name);
@@ -1000,7 +1018,7 @@ static void resolve_default(upb_DefBuilder* ctx, upb_FieldDef* f,
1000
1018
  parse_default(ctx, defaultval.data, defaultval.size, f);
1001
1019
  f->has_default = true;
1002
1020
  } else {
1003
- set_default_default(ctx, f);
1021
+ set_default_default(ctx, f, must_be_empty);
1004
1022
  f->has_default = false;
1005
1023
  }
1006
1024
  }
@@ -1008,7 +1026,7 @@ static void resolve_default(upb_DefBuilder* ctx, upb_FieldDef* f,
1008
1026
  void _upb_FieldDef_Resolve(upb_DefBuilder* ctx, const char* prefix,
1009
1027
  upb_FieldDef* f) {
1010
1028
  // We have to stash this away since resolve_subdef() may overwrite it.
1011
- const UPB_DESC(FieldDescriptorProto)* field_proto = f->sub.unresolved;
1029
+ const google_protobuf_FieldDescriptorProto* field_proto = f->sub.unresolved;
1012
1030
 
1013
1031
  resolve_subdef(ctx, prefix, f);
1014
1032
  resolve_default(ctx, f, field_proto);