grpc 1.45.0 → 1.53.0

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

Potentially problematic release.


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

Files changed (1842) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +437 -254
  3. data/include/grpc/byte_buffer.h +76 -1
  4. data/include/grpc/byte_buffer_reader.h +19 -1
  5. data/include/grpc/compression.h +2 -2
  6. data/include/grpc/event_engine/endpoint_config.h +11 -5
  7. data/include/grpc/event_engine/event_engine.h +129 -39
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -1
  9. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  10. data/include/grpc/event_engine/memory_allocator.h +1 -16
  11. data/include/grpc/event_engine/port.h +1 -1
  12. data/include/grpc/event_engine/slice.h +306 -0
  13. data/include/grpc/event_engine/slice_buffer.h +159 -0
  14. data/include/grpc/fork.h +25 -1
  15. data/include/grpc/grpc.h +4 -14
  16. data/include/grpc/grpc_posix.h +1 -1
  17. data/include/grpc/grpc_security.h +11 -0
  18. data/include/grpc/impl/codegen/atm.h +3 -71
  19. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -67
  20. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -61
  21. data/include/grpc/impl/codegen/atm_windows.h +3 -108
  22. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  23. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  24. data/include/grpc/impl/codegen/compression_types.h +5 -83
  25. data/include/grpc/impl/codegen/connectivity_state.h +5 -21
  26. data/include/grpc/impl/codegen/fork.h +4 -25
  27. data/include/grpc/impl/codegen/gpr_types.h +4 -35
  28. data/include/grpc/impl/codegen/grpc_types.h +5 -797
  29. data/include/grpc/impl/codegen/log.h +3 -86
  30. data/include/grpc/impl/codegen/port_platform.h +3 -699
  31. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  32. data/include/grpc/impl/codegen/slice.h +4 -107
  33. data/include/grpc/impl/codegen/status.h +4 -131
  34. data/include/grpc/impl/codegen/sync.h +3 -42
  35. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  36. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  37. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  38. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  39. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  40. data/include/grpc/impl/compression_types.h +109 -0
  41. data/include/grpc/impl/connectivity_state.h +47 -0
  42. data/include/grpc/impl/grpc_types.h +827 -0
  43. data/include/grpc/impl/propagation_bits.h +54 -0
  44. data/include/grpc/impl/slice_type.h +112 -0
  45. data/include/grpc/load_reporting.h +1 -1
  46. data/include/grpc/module.modulemap +5 -1
  47. data/include/grpc/slice.h +1 -1
  48. data/include/grpc/status.h +131 -1
  49. data/include/grpc/support/atm.h +70 -1
  50. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  51. data/include/grpc/support/atm_gcc_sync.h +58 -1
  52. data/include/grpc/support/atm_windows.h +105 -1
  53. data/include/grpc/support/log.h +87 -1
  54. data/include/grpc/support/log_windows.h +1 -1
  55. data/include/grpc/support/port_platform.h +767 -1
  56. data/include/grpc/support/string_util.h +1 -1
  57. data/include/grpc/support/sync.h +35 -2
  58. data/include/grpc/support/sync_abseil.h +11 -1
  59. data/include/grpc/support/sync_custom.h +13 -1
  60. data/include/grpc/support/sync_generic.h +24 -1
  61. data/include/grpc/support/sync_posix.h +27 -1
  62. data/include/grpc/support/sync_windows.h +15 -1
  63. data/include/grpc/support/time.h +31 -6
  64. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +148 -0
  65. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +52 -0
  66. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +29 -0
  67. data/src/core/ext/filters/census/grpc_context.cc +19 -17
  68. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +315 -0
  69. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +142 -0
  70. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
  71. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +6 -4
  72. data/src/core/ext/filters/client_channel/backend_metric.cc +19 -12
  73. data/src/core/ext/filters/client_channel/backend_metric.h +21 -11
  74. data/src/core/ext/filters/client_channel/backup_poller.cc +34 -34
  75. data/src/core/ext/filters/client_channel/backup_poller.h +26 -28
  76. data/src/core/ext/filters/client_channel/channel_connectivity.cc +89 -44
  77. data/src/core/ext/filters/client_channel/client_channel.cc +557 -540
  78. data/src/core/ext/filters/client_channel/client_channel.h +70 -26
  79. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -23
  80. data/src/core/ext/filters/client_channel/client_channel_channelz.h +33 -23
  81. data/src/core/ext/filters/client_channel/client_channel_factory.cc +19 -43
  82. data/src/core/ext/filters/client_channel/client_channel_factory.h +11 -11
  83. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +22 -47
  84. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  85. data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +33 -27
  86. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  87. data/src/core/ext/filters/client_channel/config_selector.h +29 -23
  88. data/src/core/ext/filters/client_channel/connector.h +19 -10
  89. data/src/core/ext/filters/client_channel/dynamic_filters.cc +40 -54
  90. data/src/core/ext/filters/client_channel/dynamic_filters.h +20 -11
  91. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -0
  92. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +24 -21
  93. data/src/core/ext/filters/client_channel/health/health_check_client.cc +137 -582
  94. data/src/core/ext/filters/client_channel/health/health_check_client.h +29 -163
  95. data/src/core/ext/filters/client_channel/http_proxy.cc +130 -164
  96. data/src/core/ext/filters/client_channel/http_proxy.h +46 -22
  97. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  98. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +8 -5
  99. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +4 -3
  100. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  101. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +37 -16
  102. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +18 -13
  103. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +71 -131
  104. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +41 -24
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +410 -375
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +26 -27
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +15 -3
  108. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +9 -7
  109. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +18 -20
  110. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +27 -22
  111. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +28 -19
  112. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +26 -25
  113. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +338 -0
  114. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  115. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +117 -0
  116. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1129 -0
  117. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +94 -0
  118. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +174 -180
  119. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +478 -479
  120. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +491 -409
  121. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +19 -9
  122. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +618 -642
  123. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +261 -234
  124. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +165 -143
  125. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +128 -0
  126. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h +71 -0
  127. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +972 -0
  128. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +280 -248
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +251 -187
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +19 -15
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +3 -3
  133. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +178 -256
  134. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +212 -216
  135. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +543 -584
  136. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +819 -0
  137. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +67 -0
  138. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +369 -0
  139. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +4 -0
  140. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +22 -21
  141. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +34 -19
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +579 -376
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +50 -44
  144. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +31 -30
  145. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +89 -84
  146. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +300 -209
  147. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +82 -61
  148. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  149. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +20 -19
  150. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  151. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +22 -22
  152. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +86 -224
  153. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +21 -34
  154. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +19 -5
  155. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +135 -63
  156. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +269 -0
  157. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +121 -0
  158. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +21 -27
  159. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +413 -303
  160. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +6 -4
  161. data/src/core/ext/filters/client_channel/retry_filter.cc +184 -166
  162. data/src/core/ext/filters/client_channel/retry_filter.h +4 -3
  163. data/src/core/ext/filters/client_channel/retry_service_config.cc +197 -229
  164. data/src/core/ext/filters/client_channel/retry_service_config.h +29 -26
  165. data/src/core/ext/filters/client_channel/retry_throttle.cc +28 -37
  166. data/src/core/ext/filters/client_channel/retry_throttle.h +36 -29
  167. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +34 -17
  168. data/src/core/ext/filters/client_channel/subchannel.cc +336 -388
  169. data/src/core/ext/filters/client_channel/subchannel.h +112 -82
  170. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  171. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +17 -77
  172. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +41 -47
  173. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +470 -0
  174. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +222 -0
  175. data/src/core/ext/filters/deadline/deadline_filter.cc +94 -76
  176. data/src/core/ext/filters/deadline/deadline_filter.h +14 -12
  177. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +154 -372
  178. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +41 -9
  179. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  180. data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +34 -13
  181. data/src/core/ext/filters/http/client/http_client_filter.cc +119 -477
  182. data/src/core/ext/filters/http/client/http_client_filter.h +55 -25
  183. data/src/core/ext/filters/http/client_authority_filter.cc +48 -58
  184. data/src/core/ext/filters/http/client_authority_filter.h +32 -28
  185. data/src/core/ext/filters/http/http_filters_plugin.cc +46 -52
  186. data/src/core/ext/filters/http/message_compress/compression_filter.cc +307 -0
  187. data/src/core/ext/filters/http/message_compress/compression_filter.h +139 -0
  188. data/src/core/ext/filters/http/server/http_server_filter.cc +111 -385
  189. data/src/core/ext/filters/http/server/http_server_filter.h +58 -24
  190. data/src/core/ext/filters/message_size/message_size_filter.cc +117 -137
  191. data/src/core/ext/filters/message_size/message_size_filter.h +34 -17
  192. data/src/core/ext/filters/rbac/rbac_filter.cc +29 -16
  193. data/src/core/ext/filters/rbac/rbac_filter.h +11 -3
  194. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +736 -523
  195. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +18 -7
  196. data/src/core/ext/filters/server_config_selector/server_config_selector.h +20 -8
  197. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +90 -202
  198. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +4 -3
  199. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +219 -0
  200. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  201. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  202. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  203. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  204. data/src/core/ext/transport/chttp2/alpn/alpn.h +24 -24
  205. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +186 -241
  206. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +38 -30
  207. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +209 -215
  208. data/src/core/ext/transport/chttp2/server/chttp2_server.h +26 -26
  209. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +24 -24
  210. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +35 -34
  211. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +31 -30
  212. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +29 -29
  213. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +893 -1079
  214. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +28 -23
  215. data/src/core/ext/transport/chttp2/transport/context_list.cc +23 -19
  216. data/src/core/ext/transport/chttp2/transport/context_list.h +32 -29
  217. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +251 -0
  218. data/src/core/ext/transport/chttp2/transport/decode_huff.h +971 -0
  219. data/src/core/ext/transport/chttp2/transport/flow_control.cc +350 -300
  220. data/src/core/ext/transport/chttp2/transport/flow_control.h +248 -325
  221. data/src/core/ext/transport/chttp2/transport/frame.h +22 -26
  222. data/src/core/ext/transport/chttp2/transport/frame_data.cc +85 -234
  223. data/src/core/ext/transport/chttp2/transport/frame_data.h +38 -61
  224. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +41 -36
  225. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +24 -22
  226. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +31 -25
  227. data/src/core/ext/transport/chttp2/transport/frame_ping.h +25 -22
  228. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +35 -26
  229. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +24 -21
  230. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +46 -77
  231. data/src/core/ext/transport/chttp2/transport/frame_settings.h +27 -23
  232. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +34 -33
  233. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +24 -21
  234. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +10 -4
  235. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +169 -220
  236. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +59 -61
  237. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +4 -1
  238. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +14 -5
  239. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +114 -542
  240. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +31 -24
  241. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +75 -67
  242. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +70 -48
  243. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  244. data/src/core/ext/transport/chttp2/transport/http2_settings.h +39 -38
  245. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  246. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  247. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  248. data/src/core/ext/transport/chttp2/transport/huffsyms.h +21 -21
  249. data/src/core/ext/transport/chttp2/transport/internal.h +250 -298
  250. data/src/core/ext/transport/chttp2/transport/parsing.cc +365 -132
  251. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +30 -30
  252. data/src/core/ext/transport/chttp2/transport/stream_map.cc +24 -24
  253. data/src/core/ext/transport/chttp2/transport/stream_map.h +34 -33
  254. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  255. data/src/core/ext/transport/chttp2/transport/varint.h +39 -34
  256. data/src/core/ext/transport/chttp2/transport/writing.cc +144 -106
  257. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -18
  258. data/src/core/ext/transport/inproc/inproc_transport.cc +227 -274
  259. data/src/core/ext/transport/inproc/inproc_transport.h +23 -21
  260. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +27 -24
  261. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +173 -73
  262. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +39 -36
  263. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +210 -85
  264. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +29 -344
  265. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +189 -1489
  266. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +388 -0
  267. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1953 -0
  268. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +5 -5
  269. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +38 -17
  270. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +9 -7
  271. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +56 -13
  272. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +7 -7
  273. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +24 -2
  274. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +4 -4
  275. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +19 -6
  276. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +4 -4
  277. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +15 -2
  278. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +49 -46
  279. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +229 -82
  280. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +3 -3
  281. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +16 -4
  282. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +12 -12
  283. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +40 -8
  284. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +5 -5
  285. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +26 -4
  286. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +55 -55
  287. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +379 -140
  288. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +140 -126
  289. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +824 -301
  290. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +24 -18
  291. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +114 -29
  292. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +195 -191
  293. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1042 -412
  294. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  295. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +16 -4
  296. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +44 -24
  297. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +171 -42
  298. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +72 -63
  299. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +517 -202
  300. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +61 -36
  301. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +333 -66
  302. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +5 -4
  303. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +20 -6
  304. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +93 -91
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +615 -213
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +76 -33
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +417 -79
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +2 -2
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +20 -8
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +5 -25
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +16 -93
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +5 -5
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +38 -17
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +70 -68
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +447 -157
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +98 -66
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +545 -191
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +33 -13
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +108 -87
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +502 -149
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +2 -2
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +9 -2
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +6 -6
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +42 -17
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +24 -9
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +110 -18
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +64 -26
  330. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
  331. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +20 -6
  332. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +18 -18
  333. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +118 -49
  334. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +39 -32
  335. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +242 -87
  336. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
  337. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +226 -105
  338. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  339. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +13 -4
  340. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +86 -53
  341. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +475 -141
  342. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +56 -50
  343. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +379 -160
  344. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +16 -12
  345. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +77 -16
  346. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +9 -6
  347. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +50 -8
  348. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +5 -5
  349. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +26 -6
  350. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +33 -32
  351. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +253 -102
  352. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +34 -34
  353. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +229 -92
  354. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +74 -55
  355. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +494 -160
  356. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +38 -30
  357. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +232 -124
  358. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +458 -351
  359. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2879 -947
  360. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +11 -11
  361. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +67 -22
  362. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +79 -54
  363. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +454 -133
  364. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +5 -4
  365. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +21 -2
  366. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +3 -3
  367. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +16 -4
  368. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +5 -5
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +38 -14
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +5 -5
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +33 -14
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +17 -16
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +89 -38
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +47 -0
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +107 -0
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +2 -2
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +13 -4
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +8 -8
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +58 -21
  380. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
  381. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
  382. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +9 -9
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +50 -16
  384. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +9 -8
  385. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +43 -10
  386. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +2 -2
  387. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +16 -8
  388. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +15 -15
  389. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +101 -38
  390. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +25 -25
  391. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +167 -71
  392. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +16 -8
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +88 -16
  394. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +14 -11
  395. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +71 -17
  396. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  397. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  398. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +184 -144
  399. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1091 -361
  400. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  401. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  402. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +54 -0
  403. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +188 -0
  404. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +111 -0
  405. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +444 -0
  406. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +56 -0
  407. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +192 -0
  408. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
  409. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +98 -0
  410. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +56 -48
  411. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +327 -130
  412. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +13 -13
  413. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +88 -31
  414. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +83 -56
  415. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +472 -136
  416. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +5 -5
  417. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +35 -13
  418. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  419. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
  420. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +171 -54
  421. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +917 -134
  422. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +8 -8
  423. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +59 -25
  424. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +33 -33
  425. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +205 -76
  426. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +4 -4
  427. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +23 -8
  428. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
  429. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +62 -25
  430. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +47 -0
  431. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +113 -0
  432. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +8 -8
  433. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +36 -8
  434. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +7 -7
  435. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +55 -22
  436. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +3 -3
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +26 -11
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +3 -3
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +30 -11
  440. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +2 -2
  441. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +20 -8
  442. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +8 -8
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +58 -22
  444. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +43 -0
  445. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +114 -0
  446. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +9 -9
  447. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +82 -29
  448. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +5 -5
  449. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +49 -22
  450. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +12 -12
  451. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +99 -36
  452. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +16 -16
  453. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +118 -44
  454. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +20 -20
  455. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +120 -40
  456. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +7 -7
  457. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +46 -16
  458. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +2 -2
  459. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +9 -2
  460. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +5 -5
  461. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +25 -8
  462. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +9 -9
  463. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +36 -6
  464. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  465. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  466. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +3 -1
  467. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +4 -4
  468. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +15 -2
  469. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +5 -5
  470. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +23 -6
  471. data/src/core/ext/upb-generated/google/api/annotations.upb.c +3 -3
  472. data/src/core/ext/upb-generated/google/api/annotations.upb.h +17 -2
  473. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +70 -66
  474. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +477 -185
  475. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +80 -74
  476. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +512 -182
  477. data/src/core/ext/upb-generated/google/api/http.upb.c +17 -17
  478. data/src/core/ext/upb-generated/google/api/http.upb.h +134 -49
  479. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +4 -4
  480. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +25 -9
  481. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +3 -3
  482. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +12 -2
  483. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +183 -181
  484. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1332 -488
  485. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +3 -3
  486. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +16 -6
  487. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  488. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
  489. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  490. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +126 -46
  491. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +3 -3
  492. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +16 -6
  493. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +18 -18
  494. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +81 -18
  495. data/src/core/ext/upb-generated/google/rpc/status.upb.c +4 -4
  496. data/src/core/ext/upb-generated/google/rpc/status.upb.h +25 -9
  497. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +15 -15
  498. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +89 -30
  499. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  500. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +55 -14
  501. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +69 -65
  502. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +424 -169
  503. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -7
  504. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +32 -8
  505. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +4 -4
  506. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +18 -4
  507. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  508. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +204 -76
  509. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +11 -11
  510. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +63 -22
  511. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  512. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +792 -0
  513. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +22 -22
  514. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +115 -16
  515. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +6 -6
  516. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +29 -4
  517. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +3 -3
  518. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +10 -2
  519. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +6 -6
  520. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +33 -8
  521. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +5 -5
  522. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +26 -4
  523. data/src/core/ext/upb-generated/validate/validate.upb.c +264 -253
  524. data/src/core/ext/upb-generated/validate/validate.upb.h +1974 -709
  525. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +22 -22
  526. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +115 -16
  527. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +6 -6
  528. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +29 -4
  529. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +3 -3
  530. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +10 -2
  531. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +18 -18
  532. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +94 -18
  533. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +5 -5
  534. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +26 -4
  535. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +2 -2
  536. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +9 -2
  537. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  538. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  539. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
  540. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +50 -16
  541. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +5 -5
  542. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +33 -12
  543. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +3 -3
  544. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +16 -4
  545. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
  546. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +27 -10
  547. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +10 -10
  548. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +83 -34
  549. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +5 -5
  550. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +22 -4
  551. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +14 -13
  552. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +84 -28
  553. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +46 -0
  554. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +113 -0
  555. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  556. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  557. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  558. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  559. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  560. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  561. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  562. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  563. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +43 -39
  564. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +309 -121
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  566. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  567. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +4 -4
  568. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +31 -12
  569. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +9 -9
  570. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +82 -29
  571. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  572. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  573. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  574. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  575. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +3 -4
  576. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +16 -4
  577. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +54 -53
  578. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
  579. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
  580. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +277 -0
  581. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +125 -0
  582. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
  583. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
  584. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +199 -187
  585. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +50 -46
  586. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +149 -129
  587. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +0 -5
  588. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -12
  589. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +95 -75
  590. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +5 -0
  591. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +187 -183
  592. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +129 -94
  593. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +10 -0
  594. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +18 -33
  595. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -5
  596. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +168 -154
  597. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +5 -0
  598. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +190 -186
  599. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +7 -3
  600. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +5 -0
  601. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
  602. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +71 -66
  603. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +164 -137
  604. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  605. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +141 -138
  606. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +16 -12
  607. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
  608. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +140 -129
  609. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
  610. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +82 -68
  611. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +2 -2
  612. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +828 -747
  613. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +20 -0
  614. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
  615. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
  616. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +16 -14
  617. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +48 -0
  618. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  619. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
  620. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +20 -18
  621. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
  622. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +53 -42
  623. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  624. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  625. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +483 -445
  626. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
  627. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  628. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  629. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
  630. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +211 -193
  631. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -0
  632. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +156 -84
  633. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
  634. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
  635. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +48 -0
  636. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +35 -0
  637. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
  638. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +40 -0
  639. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +40 -0
  640. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  641. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  642. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +10 -9
  643. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
  644. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  645. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  648. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  649. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  650. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  651. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  652. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  653. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  654. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  655. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  656. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +9 -9
  657. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  658. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  659. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  660. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  661. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  662. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  663. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +4 -7
  664. data/src/core/ext/xds/certificate_provider_store.cc +75 -3
  665. data/src/core/ext/xds/certificate_provider_store.h +30 -4
  666. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +17 -10
  667. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +12 -4
  668. data/src/core/ext/xds/upb_utils.h +3 -25
  669. data/src/core/ext/xds/xds_api.cc +106 -192
  670. data/src/core/ext/xds/xds_api.h +41 -39
  671. data/src/core/ext/xds/xds_bootstrap.cc +5 -537
  672. data/src/core/ext/xds/xds_bootstrap.h +42 -95
  673. data/src/core/ext/xds/xds_bootstrap_grpc.cc +362 -0
  674. data/src/core/ext/xds/xds_bootstrap_grpc.h +184 -0
  675. data/src/core/ext/xds/xds_certificate_provider.cc +36 -25
  676. data/src/core/ext/xds/xds_certificate_provider.h +36 -4
  677. data/src/core/ext/xds/xds_channel_args.h +3 -3
  678. data/src/core/ext/xds/xds_channel_stack_modifier.cc +17 -7
  679. data/src/core/ext/xds/xds_channel_stack_modifier.h +16 -4
  680. data/src/core/ext/xds/xds_client.cc +885 -1360
  681. data/src/core/ext/xds/xds_client.h +69 -65
  682. data/src/core/ext/xds/xds_client_grpc.cc +235 -0
  683. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  684. data/src/core/ext/xds/xds_client_stats.cc +24 -25
  685. data/src/core/ext/xds/xds_client_stats.h +26 -24
  686. data/src/core/ext/xds/xds_cluster.cc +505 -247
  687. data/src/core/ext/xds/xds_cluster.h +69 -40
  688. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +132 -0
  689. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +97 -0
  690. data/src/core/ext/xds/xds_common_types.cc +238 -123
  691. data/src/core/ext/xds/xds_common_types.h +29 -16
  692. data/src/core/ext/xds/xds_endpoint.cc +266 -156
  693. data/src/core/ext/xds/xds_endpoint.h +19 -15
  694. data/src/core/ext/xds/xds_health_status.cc +80 -0
  695. data/src/core/ext/xds/xds_health_status.h +109 -0
  696. data/src/core/ext/xds/xds_http_fault_filter.cc +68 -59
  697. data/src/core/ext/xds/xds_http_fault_filter.h +19 -25
  698. data/src/core/ext/xds/xds_http_filters.cc +70 -71
  699. data/src/core/ext/xds/xds_http_filters.h +73 -25
  700. data/src/core/ext/xds/xds_http_rbac_filter.cc +168 -225
  701. data/src/core/ext/xds/xds_http_rbac_filter.h +22 -18
  702. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  703. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  704. data/src/core/ext/xds/xds_lb_policy_registry.cc +334 -0
  705. data/src/core/ext/xds/xds_lb_policy_registry.h +71 -0
  706. data/src/core/ext/xds/xds_listener.cc +573 -481
  707. data/src/core/ext/xds/xds_listener.h +57 -51
  708. data/src/core/ext/xds/xds_resource_type.h +28 -22
  709. data/src/core/ext/xds/xds_resource_type_impl.h +18 -17
  710. data/src/core/ext/xds/xds_route_config.cc +638 -479
  711. data/src/core/ext/xds/xds_route_config.h +79 -42
  712. data/src/core/ext/xds/xds_routing.cc +21 -7
  713. data/src/core/ext/xds/xds_routing.h +17 -12
  714. data/src/core/ext/xds/xds_server_config_fetcher.cc +244 -200
  715. data/src/core/ext/xds/xds_transport.h +86 -0
  716. data/src/core/ext/xds/xds_transport_grpc.cc +356 -0
  717. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  718. data/src/core/lib/address_utils/parse_address.cc +52 -52
  719. data/src/core/lib/address_utils/parse_address.h +46 -42
  720. data/src/core/lib/address_utils/sockaddr_utils.cc +90 -54
  721. data/src/core/lib/address_utils/sockaddr_utils.h +45 -40
  722. data/src/core/lib/avl/avl.h +100 -13
  723. data/src/core/lib/backoff/backoff.cc +19 -21
  724. data/src/core/lib/backoff/backoff.h +21 -21
  725. data/src/core/lib/channel/call_finalization.h +6 -4
  726. data/src/core/lib/channel/call_tracer.h +27 -9
  727. data/src/core/lib/channel/channel_args.cc +268 -101
  728. data/src/core/lib/channel/channel_args.h +461 -56
  729. data/src/core/lib/channel/channel_args_preconditioning.cc +6 -11
  730. data/src/core/lib/channel/channel_args_preconditioning.h +7 -7
  731. data/src/core/lib/channel/channel_fwd.h +26 -0
  732. data/src/core/lib/channel/channel_stack.cc +92 -52
  733. data/src/core/lib/channel/channel_stack.h +186 -140
  734. data/src/core/lib/channel/channel_stack_builder.cc +26 -104
  735. data/src/core/lib/channel/channel_stack_builder.h +45 -31
  736. data/src/core/lib/channel/channel_stack_builder_impl.cc +126 -0
  737. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  738. data/src/core/lib/channel/channel_trace.cc +29 -36
  739. data/src/core/lib/channel/channel_trace.h +27 -24
  740. data/src/core/lib/channel/channelz.cc +50 -65
  741. data/src/core/lib/channel/channelz.h +50 -33
  742. data/src/core/lib/channel/channelz_registry.cc +28 -36
  743. data/src/core/lib/channel/channelz_registry.h +31 -30
  744. data/src/core/lib/channel/connected_channel.cc +1267 -78
  745. data/src/core/lib/channel/connected_channel.h +22 -23
  746. data/src/core/lib/channel/context.h +25 -21
  747. data/src/core/lib/channel/promise_based_filter.cc +2155 -303
  748. data/src/core/lib/channel/promise_based_filter.h +636 -122
  749. data/src/core/lib/channel/status_util.cc +64 -17
  750. data/src/core/lib/channel/status_util.h +38 -24
  751. data/src/core/lib/compression/compression.cc +24 -19
  752. data/src/core/lib/compression/compression_internal.cc +89 -70
  753. data/src/core/lib/compression/compression_internal.h +28 -27
  754. data/src/core/lib/compression/message_compress.cc +28 -26
  755. data/src/core/lib/compression/message_compress.h +28 -29
  756. data/src/core/lib/config/core_configuration.cc +8 -1
  757. data/src/core/lib/config/core_configuration.h +86 -39
  758. data/src/core/lib/debug/event_log.cc +88 -0
  759. data/src/core/lib/debug/event_log.h +81 -0
  760. data/src/core/lib/debug/histogram_view.cc +69 -0
  761. data/src/core/lib/debug/histogram_view.h +37 -0
  762. data/src/core/lib/debug/stats.cc +48 -152
  763. data/src/core/lib/debug/stats.h +50 -57
  764. data/src/core/lib/debug/stats_data.cc +302 -649
  765. data/src/core/lib/debug/stats_data.h +293 -548
  766. data/src/core/lib/debug/trace.cc +18 -20
  767. data/src/core/lib/debug/trace.h +27 -48
  768. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +16 -17
  769. data/src/core/lib/event_engine/channel_args_endpoint_config.h +16 -9
  770. data/src/core/lib/event_engine/common_closures.h +71 -0
  771. data/src/core/lib/event_engine/default_event_engine.cc +99 -0
  772. data/src/core/lib/event_engine/default_event_engine.h +73 -0
  773. data/src/core/lib/event_engine/default_event_engine_factory.cc +24 -3
  774. data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine_factory.h} +6 -9
  775. data/src/core/lib/event_engine/event_engine.cc +3 -30
  776. data/src/core/lib/event_engine/executor/executor.h +38 -0
  777. data/src/core/lib/event_engine/forkable.cc +106 -0
  778. data/src/core/lib/event_engine/forkable.h +61 -0
  779. data/src/core/lib/event_engine/handle_containers.h +74 -0
  780. data/src/core/lib/event_engine/memory_allocator.cc +11 -3
  781. data/src/core/lib/event_engine/poller.h +62 -0
  782. data/src/core/lib/event_engine/posix.h +158 -0
  783. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +642 -0
  784. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +139 -0
  785. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +899 -0
  786. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  787. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  788. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  789. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  790. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  791. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  792. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +265 -0
  793. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  794. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1305 -0
  795. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +717 -0
  796. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +640 -0
  797. data/src/core/lib/event_engine/posix_engine/posix_engine.h +259 -0
  798. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  799. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +289 -0
  800. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +279 -0
  801. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +379 -0
  802. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  803. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +853 -0
  804. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  805. data/src/core/lib/event_engine/posix_engine/timer.cc +311 -0
  806. data/src/core/lib/event_engine/posix_engine/timer.h +194 -0
  807. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +107 -0
  808. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  809. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +173 -0
  810. data/src/core/lib/event_engine/posix_engine/timer_manager.h +114 -0
  811. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  812. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  813. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  814. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  815. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  816. data/src/core/lib/{iomgr/event_engine/promise.h → event_engine/posix_engine/wakeup_fd_pipe.h} +19 -25
  817. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  818. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  819. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  820. data/src/core/lib/event_engine/resolved_address.cc +23 -2
  821. data/src/core/lib/{iomgr/event_engine → event_engine}/resolved_address_internal.h +5 -8
  822. data/src/core/lib/event_engine/shim.cc +56 -0
  823. data/src/core/lib/event_engine/shim.h +33 -0
  824. data/src/core/lib/event_engine/slice.cc +103 -0
  825. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  826. data/src/core/lib/event_engine/tcp_socket_utils.cc +389 -0
  827. data/src/core/lib/event_engine/tcp_socket_utils.h +90 -0
  828. data/src/core/lib/event_engine/thread_local.cc +29 -0
  829. data/src/core/lib/event_engine/thread_local.h +32 -0
  830. data/src/core/lib/event_engine/thread_pool.cc +253 -0
  831. data/src/core/lib/event_engine/thread_pool.h +141 -0
  832. data/src/core/lib/event_engine/time_util.cc +30 -0
  833. data/src/core/lib/event_engine/time_util.h +32 -0
  834. data/src/core/{ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc → lib/event_engine/trace.cc} +9 -13
  835. data/src/core/lib/event_engine/trace.h +43 -0
  836. data/src/core/lib/event_engine/utils.cc +44 -0
  837. data/src/core/lib/event_engine/utils.h +44 -0
  838. data/src/core/lib/event_engine/windows/iocp.cc +140 -0
  839. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  840. data/src/core/lib/event_engine/windows/win_socket.cc +219 -0
  841. data/src/core/lib/event_engine/windows/win_socket.h +129 -0
  842. data/src/core/lib/event_engine/windows/windows_endpoint.cc +331 -0
  843. data/src/core/lib/event_engine/windows/windows_endpoint.h +103 -0
  844. data/src/core/lib/event_engine/windows/windows_engine.cc +388 -0
  845. data/src/core/lib/event_engine/windows/windows_engine.h +163 -0
  846. data/src/core/lib/experiments/config.cc +161 -0
  847. data/src/core/lib/experiments/config.h +53 -0
  848. data/src/core/lib/experiments/experiments.cc +81 -0
  849. data/src/core/lib/experiments/experiments.h +117 -0
  850. data/src/core/lib/gpr/alloc.cc +19 -25
  851. data/src/core/lib/gpr/alloc.h +20 -20
  852. data/src/core/lib/gpr/atm.cc +17 -17
  853. data/src/core/lib/gpr/cpu_iphone.cc +24 -24
  854. data/src/core/lib/gpr/cpu_linux.cc +28 -23
  855. data/src/core/lib/gpr/cpu_posix.cc +23 -22
  856. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  857. data/src/core/lib/gpr/log.cc +30 -17
  858. data/src/core/lib/gpr/log_android.cc +22 -20
  859. data/src/core/lib/gpr/log_linux.cc +24 -24
  860. data/src/core/lib/gpr/log_posix.cc +20 -19
  861. data/src/core/lib/gpr/log_windows.cc +25 -25
  862. data/src/core/lib/gpr/spinlock.h +20 -20
  863. data/src/core/lib/gpr/string.cc +25 -24
  864. data/src/core/lib/gpr/string.h +61 -61
  865. data/src/core/lib/gpr/string_posix.cc +24 -24
  866. data/src/core/lib/gpr/string_util_windows.cc +25 -52
  867. data/src/core/lib/gpr/string_windows.cc +24 -24
  868. data/src/core/lib/gpr/sync.cc +25 -25
  869. data/src/core/lib/gpr/sync_abseil.cc +36 -40
  870. data/src/core/lib/gpr/sync_posix.cc +22 -34
  871. data/src/core/lib/gpr/sync_windows.cc +29 -27
  872. data/src/core/lib/gpr/time.cc +34 -30
  873. data/src/core/lib/gpr/time_posix.cc +41 -45
  874. data/src/core/lib/gpr/time_precise.cc +22 -22
  875. data/src/core/lib/gpr/time_precise.h +21 -22
  876. data/src/core/lib/gpr/time_windows.cc +35 -29
  877. data/src/core/lib/gpr/tmpfile.h +24 -24
  878. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  879. data/src/core/lib/gpr/tmpfile_posix.cc +22 -20
  880. data/src/core/lib/gpr/tmpfile_windows.cc +28 -29
  881. data/src/core/lib/gpr/useful.h +83 -30
  882. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  883. data/src/core/lib/gprpp/atomic_utils.h +20 -20
  884. data/src/core/lib/gprpp/bitset.h +47 -17
  885. data/src/core/lib/gprpp/chunked_vector.h +7 -3
  886. data/src/core/lib/gprpp/construct_destruct.h +4 -3
  887. data/src/core/lib/gprpp/cpp_impl_of.h +7 -3
  888. data/src/core/{ext/xds/xds_resource_type.cc → lib/gprpp/crash.cc} +12 -12
  889. data/src/core/lib/gprpp/crash.h +34 -0
  890. data/src/core/lib/gprpp/debug_location.h +60 -31
  891. data/src/core/lib/gprpp/dual_ref_counted.h +4 -7
  892. data/src/core/lib/gprpp/env.h +53 -0
  893. data/src/core/lib/gprpp/env_linux.cc +80 -0
  894. data/src/core/{ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc → lib/gprpp/env_posix.cc} +25 -9
  895. data/src/core/lib/gprpp/env_windows.cc +56 -0
  896. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  897. data/src/core/lib/gprpp/examine_stack.h +21 -22
  898. data/src/core/lib/gprpp/fork.cc +58 -53
  899. data/src/core/lib/gprpp/fork.h +29 -35
  900. data/src/core/lib/gprpp/global_config.h +22 -24
  901. data/src/core/lib/gprpp/global_config_custom.h +20 -20
  902. data/src/core/lib/gprpp/global_config_env.cc +28 -25
  903. data/src/core/lib/gprpp/global_config_env.h +29 -27
  904. data/src/core/lib/gprpp/global_config_generic.h +21 -25
  905. data/src/core/lib/gprpp/host_port.cc +30 -26
  906. data/src/core/lib/gprpp/host_port.h +32 -31
  907. data/src/core/lib/gprpp/load_file.cc +75 -0
  908. data/src/core/lib/gprpp/load_file.h +33 -0
  909. data/src/core/lib/gprpp/manual_constructor.h +21 -89
  910. data/src/core/lib/gprpp/match.h +75 -0
  911. data/src/core/lib/gprpp/memory.h +22 -26
  912. data/src/core/lib/gprpp/mpscq.cc +17 -17
  913. data/src/core/lib/gprpp/mpscq.h +21 -21
  914. data/src/core/lib/gprpp/no_destruct.h +95 -0
  915. data/src/core/lib/gprpp/notification.h +67 -0
  916. data/src/core/lib/gprpp/orphanable.h +22 -25
  917. data/src/core/lib/gprpp/overload.h +59 -0
  918. data/src/core/lib/gprpp/packed_table.h +40 -0
  919. data/src/core/lib/gprpp/per_cpu.h +46 -0
  920. data/src/core/lib/gprpp/ref_counted.h +24 -24
  921. data/src/core/lib/gprpp/ref_counted_ptr.h +42 -55
  922. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  923. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  924. data/src/core/lib/gprpp/stat.h +3 -5
  925. data/src/core/lib/gprpp/stat_posix.cc +10 -4
  926. data/src/core/lib/gprpp/stat_windows.cc +4 -2
  927. data/src/core/lib/gprpp/status_helper.cc +56 -20
  928. data/src/core/lib/gprpp/status_helper.h +13 -5
  929. data/src/core/lib/gprpp/strerror.cc +43 -0
  930. data/src/core/lib/gprpp/strerror.h +29 -0
  931. data/src/core/lib/gprpp/sync.h +26 -24
  932. data/src/core/lib/gprpp/table.h +22 -4
  933. data/src/core/lib/gprpp/tchar.cc +49 -0
  934. data/src/core/lib/gprpp/tchar.h +33 -0
  935. data/src/core/lib/gprpp/thd.h +25 -28
  936. data/src/core/lib/gprpp/thd_posix.cc +33 -32
  937. data/src/core/lib/gprpp/thd_windows.cc +28 -26
  938. data/src/core/lib/gprpp/time.cc +64 -9
  939. data/src/core/lib/gprpp/time.h +79 -5
  940. data/src/core/lib/gprpp/time_averaged_stats.cc +60 -0
  941. data/src/core/lib/gprpp/time_averaged_stats.h +79 -0
  942. data/src/core/lib/gprpp/time_util.cc +4 -0
  943. data/src/core/lib/gprpp/time_util.h +3 -3
  944. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  945. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  946. data/src/core/lib/gprpp/validation_errors.h +127 -0
  947. data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
  948. data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -28
  949. data/src/core/lib/handshaker/proxy_mapper.h +53 -0
  950. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  951. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  952. data/src/core/lib/http/format_request.cc +54 -24
  953. data/src/core/lib/http/format_request.h +23 -21
  954. data/src/core/lib/http/httpcli.cc +139 -141
  955. data/src/core/lib/http/httpcli.h +86 -38
  956. data/src/core/lib/http/httpcli_security_connector.cc +53 -45
  957. data/src/core/lib/http/httpcli_ssl_credentials.h +6 -4
  958. data/src/core/lib/http/parser.cc +144 -85
  959. data/src/core/lib/http/parser.h +51 -35
  960. data/src/core/lib/iomgr/block_annotate.h +23 -23
  961. data/src/core/lib/iomgr/buffer_list.cc +156 -136
  962. data/src/core/lib/iomgr/buffer_list.h +123 -101
  963. data/src/core/lib/iomgr/call_combiner.cc +32 -64
  964. data/src/core/lib/iomgr/call_combiner.h +24 -25
  965. data/src/core/lib/iomgr/cfstream_handle.cc +33 -36
  966. data/src/core/lib/iomgr/cfstream_handle.h +25 -25
  967. data/src/core/lib/iomgr/{event_engine/pollset.h → closure.cc} +9 -7
  968. data/src/core/lib/iomgr/closure.h +95 -58
  969. data/src/core/lib/iomgr/combiner.cc +20 -39
  970. data/src/core/lib/iomgr/combiner.h +20 -20
  971. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  972. data/src/core/lib/iomgr/dynamic_annotations.h +22 -22
  973. data/src/core/lib/iomgr/endpoint.cc +21 -21
  974. data/src/core/lib/iomgr/endpoint.h +53 -51
  975. data/src/core/lib/iomgr/endpoint_cfstream.cc +51 -47
  976. data/src/core/lib/iomgr/endpoint_cfstream.h +32 -32
  977. data/src/core/lib/iomgr/endpoint_pair.h +20 -20
  978. data/src/core/lib/iomgr/endpoint_pair_posix.cc +34 -27
  979. data/src/core/lib/iomgr/endpoint_pair_windows.cc +30 -21
  980. data/src/core/lib/iomgr/error.cc +51 -834
  981. data/src/core/lib/iomgr/error.h +45 -317
  982. data/src/core/lib/iomgr/error_cfstream.cc +18 -23
  983. data/src/core/lib/iomgr/error_cfstream.h +21 -21
  984. data/src/core/lib/iomgr/ev_apple.cc +21 -21
  985. data/src/core/lib/iomgr/ev_apple.h +21 -21
  986. data/src/core/lib/iomgr/ev_epoll1_linux.cc +263 -248
  987. data/src/core/lib/iomgr/ev_epoll1_linux.h +21 -21
  988. data/src/core/lib/iomgr/ev_poll_posix.cc +296 -271
  989. data/src/core/lib/iomgr/ev_poll_posix.h +22 -22
  990. data/src/core/lib/iomgr/ev_posix.cc +88 -122
  991. data/src/core/lib/iomgr/ev_posix.h +93 -87
  992. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  993. data/src/core/lib/iomgr/{event_engine → event_engine_shims}/closure.cc +15 -30
  994. data/src/core/lib/iomgr/{event_engine → event_engine_shims}/closure.h +10 -13
  995. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +430 -0
  996. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +43 -0
  997. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +91 -0
  998. data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +44 -0
  999. data/src/core/lib/iomgr/exec_ctx.cc +34 -56
  1000. data/src/core/lib/iomgr/exec_ctx.h +152 -177
  1001. data/src/core/lib/iomgr/executor.cc +21 -31
  1002. data/src/core/lib/iomgr/executor.h +27 -30
  1003. data/src/core/lib/iomgr/fork_posix.cc +31 -28
  1004. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1005. data/src/core/lib/iomgr/gethostname.h +20 -20
  1006. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1007. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1008. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1009. data/src/core/lib/iomgr/grpc_if_nametoindex.h +22 -22
  1010. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  1011. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  1012. data/src/core/lib/iomgr/internal_errqueue.cc +41 -48
  1013. data/src/core/lib/iomgr/internal_errqueue.h +84 -89
  1014. data/src/core/lib/iomgr/iocp_windows.cc +23 -23
  1015. data/src/core/lib/iomgr/iocp_windows.h +21 -21
  1016. data/src/core/lib/iomgr/iomgr.cc +25 -20
  1017. data/src/core/lib/iomgr/iomgr.h +35 -35
  1018. data/src/core/lib/iomgr/iomgr_fwd.h +26 -0
  1019. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  1020. data/src/core/lib/iomgr/iomgr_internal.h +28 -28
  1021. data/src/core/lib/iomgr/iomgr_posix.cc +21 -20
  1022. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +21 -19
  1023. data/src/core/lib/iomgr/iomgr_windows.cc +24 -22
  1024. data/src/core/lib/iomgr/load_file.cc +24 -27
  1025. data/src/core/lib/iomgr/load_file.h +22 -22
  1026. data/src/core/lib/iomgr/lockfree_event.cc +114 -131
  1027. data/src/core/lib/iomgr/lockfree_event.h +23 -23
  1028. data/src/core/lib/iomgr/nameser.h +86 -86
  1029. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  1030. data/src/core/lib/iomgr/polling_entity.h +29 -29
  1031. data/src/core/lib/iomgr/pollset.cc +17 -17
  1032. data/src/core/lib/iomgr/pollset.h +55 -55
  1033. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1034. data/src/core/lib/iomgr/pollset_set.h +26 -28
  1035. data/src/core/lib/iomgr/pollset_set_windows.cc +18 -18
  1036. data/src/core/lib/iomgr/pollset_set_windows.h +20 -20
  1037. data/src/core/lib/iomgr/pollset_windows.cc +32 -31
  1038. data/src/core/lib/iomgr/pollset_windows.h +24 -24
  1039. data/src/core/lib/iomgr/port.h +59 -39
  1040. data/src/core/lib/iomgr/python_util.h +24 -24
  1041. data/src/core/lib/iomgr/resolve_address.cc +34 -20
  1042. data/src/core/lib/iomgr/resolve_address.h +73 -43
  1043. data/src/core/lib/iomgr/resolve_address_impl.h +7 -7
  1044. data/src/core/lib/iomgr/resolve_address_posix.cc +81 -62
  1045. data/src/core/lib/iomgr/resolve_address_posix.h +26 -10
  1046. data/src/core/lib/iomgr/resolve_address_windows.cc +64 -38
  1047. data/src/core/lib/iomgr/resolve_address_windows.h +26 -10
  1048. data/src/core/lib/iomgr/resolved_address.h +3 -3
  1049. data/src/core/lib/iomgr/sockaddr.h +25 -26
  1050. data/src/core/lib/iomgr/sockaddr_posix.h +23 -21
  1051. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +20 -18
  1052. data/src/core/lib/iomgr/sockaddr_windows.h +23 -21
  1053. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  1054. data/src/core/lib/iomgr/socket_factory_posix.h +32 -32
  1055. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  1056. data/src/core/lib/iomgr/socket_mutator.h +39 -39
  1057. data/src/core/lib/iomgr/socket_utils.h +27 -27
  1058. data/src/core/lib/iomgr/socket_utils_common_posix.cc +82 -101
  1059. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  1060. data/src/core/lib/iomgr/socket_utils_posix.cc +103 -19
  1061. data/src/core/lib/iomgr/socket_utils_posix.h +176 -84
  1062. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  1063. data/src/core/lib/iomgr/socket_windows.cc +37 -36
  1064. data/src/core/lib/iomgr/socket_windows.h +59 -61
  1065. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1066. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1067. data/src/core/lib/iomgr/tcp_client.cc +28 -24
  1068. data/src/core/lib/iomgr/tcp_client.h +49 -38
  1069. data/src/core/lib/iomgr/tcp_client_cfstream.cc +46 -35
  1070. data/src/core/lib/iomgr/tcp_client_posix.cc +244 -106
  1071. data/src/core/lib/iomgr/tcp_client_posix.h +55 -52
  1072. data/src/core/lib/iomgr/tcp_client_windows.cc +73 -53
  1073. data/src/core/lib/iomgr/tcp_posix.cc +562 -361
  1074. data/src/core/lib/iomgr/tcp_posix.h +32 -30
  1075. data/src/core/lib/iomgr/tcp_server.cc +33 -24
  1076. data/src/core/lib/iomgr/tcp_server.h +78 -69
  1077. data/src/core/lib/iomgr/tcp_server_posix.cc +402 -145
  1078. data/src/core/lib/iomgr/tcp_server_utils_posix.h +68 -55
  1079. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +120 -82
  1080. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +46 -43
  1081. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  1082. data/src/core/lib/iomgr/tcp_server_windows.cc +116 -118
  1083. data/src/core/lib/iomgr/tcp_windows.cc +116 -98
  1084. data/src/core/lib/iomgr/tcp_windows.h +34 -35
  1085. data/src/core/lib/iomgr/timer.cc +17 -17
  1086. data/src/core/lib/iomgr/timer.h +68 -68
  1087. data/src/core/lib/iomgr/timer_generic.cc +125 -134
  1088. data/src/core/lib/iomgr/timer_generic.h +21 -21
  1089. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  1090. data/src/core/lib/iomgr/timer_heap.h +22 -22
  1091. data/src/core/lib/iomgr/timer_manager.cc +31 -31
  1092. data/src/core/lib/iomgr/timer_manager.h +27 -27
  1093. data/src/core/lib/iomgr/unix_sockets_posix.cc +20 -21
  1094. data/src/core/lib/iomgr/unix_sockets_posix.h +21 -21
  1095. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +19 -17
  1096. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -23
  1097. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  1098. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  1099. data/src/core/lib/iomgr/wakeup_fd_pipe.h +20 -20
  1100. data/src/core/lib/iomgr/wakeup_fd_posix.cc +33 -30
  1101. data/src/core/lib/iomgr/wakeup_fd_posix.h +52 -54
  1102. data/src/core/lib/json/json.h +23 -27
  1103. data/src/core/{ext/filters/http/message_compress/message_decompress_filter.h → lib/json/json_args.h} +13 -10
  1104. data/src/core/lib/json/json_channel_args.h +42 -0
  1105. data/src/core/lib/json/json_object_loader.cc +217 -0
  1106. data/src/core/lib/json/json_object_loader.h +634 -0
  1107. data/src/core/lib/json/json_reader.cc +123 -90
  1108. data/src/core/lib/json/json_util.cc +14 -34
  1109. data/src/core/lib/json/json_util.h +19 -10
  1110. data/src/core/lib/json/json_writer.cc +62 -57
  1111. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +30 -60
  1112. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +47 -62
  1113. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  1114. data/src/core/lib/load_balancing/lb_policy_registry.cc +142 -0
  1115. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  1116. data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +57 -52
  1117. data/src/core/lib/matchers/matchers.cc +12 -7
  1118. data/src/core/lib/matchers/matchers.h +5 -3
  1119. data/src/core/lib/promise/activity.cc +23 -8
  1120. data/src/core/lib/promise/activity.h +116 -58
  1121. data/src/core/lib/promise/arena_promise.h +115 -72
  1122. data/src/core/lib/promise/context.h +18 -11
  1123. data/src/core/lib/promise/detail/basic_join.h +197 -0
  1124. data/src/core/lib/promise/detail/basic_seq.h +28 -33
  1125. data/src/core/lib/promise/detail/promise_factory.h +61 -14
  1126. data/src/core/lib/promise/detail/promise_like.h +3 -3
  1127. data/src/core/lib/promise/detail/status.h +33 -4
  1128. data/src/core/lib/promise/detail/switch.h +21 -21
  1129. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +23 -15
  1130. data/src/core/lib/promise/if.h +195 -0
  1131. data/src/core/lib/promise/interceptor_list.h +308 -0
  1132. data/src/core/lib/promise/intra_activity_waiter.h +55 -0
  1133. data/src/core/lib/promise/latch.h +191 -0
  1134. data/src/core/lib/promise/loop.h +13 -9
  1135. data/src/core/lib/promise/map.h +4 -6
  1136. data/src/core/lib/promise/pipe.h +608 -0
  1137. data/src/core/lib/promise/poll.h +129 -11
  1138. data/src/core/lib/promise/promise.h +5 -5
  1139. data/src/core/lib/promise/race.h +6 -10
  1140. data/src/core/lib/promise/seq.h +32 -14
  1141. data/src/core/lib/promise/sleep.cc +58 -42
  1142. data/src/core/lib/promise/sleep.h +44 -26
  1143. data/src/core/lib/promise/trace.cc +20 -0
  1144. data/src/core/{ext/filters/max_age/max_age_filter.h → lib/promise/trace.h} +6 -8
  1145. data/src/core/lib/promise/try_join.h +82 -0
  1146. data/src/core/lib/promise/try_seq.h +41 -23
  1147. data/src/core/lib/resolver/resolver.cc +17 -59
  1148. data/src/core/lib/resolver/resolver.h +21 -18
  1149. data/src/core/lib/resolver/resolver_factory.h +11 -10
  1150. data/src/core/lib/resolver/resolver_registry.cc +17 -9
  1151. data/src/core/lib/resolver/resolver_registry.h +15 -5
  1152. data/src/core/lib/resolver/server_address.cc +46 -34
  1153. data/src/core/lib/resolver/server_address.h +36 -35
  1154. data/src/core/lib/resource_quota/api.cc +25 -29
  1155. data/src/core/lib/resource_quota/api.h +14 -5
  1156. data/src/core/lib/resource_quota/arena.cc +85 -27
  1157. data/src/core/lib/resource_quota/arena.h +197 -25
  1158. data/src/core/lib/resource_quota/memory_quota.cc +322 -101
  1159. data/src/core/lib/resource_quota/memory_quota.h +191 -56
  1160. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  1161. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  1162. data/src/core/lib/resource_quota/resource_quota.h +20 -4
  1163. data/src/core/lib/resource_quota/thread_quota.cc +2 -0
  1164. data/src/core/lib/resource_quota/thread_quota.h +7 -3
  1165. data/src/core/lib/resource_quota/trace.h +3 -3
  1166. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1167. data/src/core/lib/security/authorization/authorization_policy_provider.h +17 -3
  1168. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +3 -0
  1169. data/src/core/lib/security/authorization/evaluate_args.cc +17 -8
  1170. data/src/core/lib/security/authorization/evaluate_args.h +9 -6
  1171. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +5 -1
  1172. data/src/core/lib/security/authorization/grpc_authorization_engine.h +10 -3
  1173. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +26 -13
  1174. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +20 -10
  1175. data/src/core/lib/security/authorization/matchers.cc +44 -30
  1176. data/src/core/lib/security/authorization/matchers.h +10 -3
  1177. data/src/core/lib/security/authorization/rbac_policy.cc +6 -2
  1178. data/src/core/lib/security/authorization/rbac_policy.h +10 -3
  1179. data/src/core/{ext/xds → lib/security/certificate_provider}/certificate_provider_factory.h +9 -4
  1180. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  1181. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  1182. data/src/core/lib/security/context/security_context.cc +27 -25
  1183. data/src/core/lib/security/context/security_context.h +64 -35
  1184. data/src/core/lib/security/credentials/alts/alts_credentials.cc +35 -27
  1185. data/src/core/lib/security/credentials/alts/alts_credentials.h +65 -57
  1186. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  1187. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +43 -43
  1188. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  1189. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  1190. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  1191. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +20 -22
  1192. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1193. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +38 -39
  1194. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +19 -22
  1195. data/src/core/lib/security/credentials/call_creds_util.cc +13 -3
  1196. data/src/core/lib/security/credentials/call_creds_util.h +6 -5
  1197. data/src/core/lib/security/credentials/channel_creds_registry.h +10 -4
  1198. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +13 -3
  1199. data/src/core/lib/security/credentials/composite/composite_credentials.cc +46 -41
  1200. data/src/core/lib/security/credentials/composite/composite_credentials.h +51 -38
  1201. data/src/core/lib/security/credentials/credentials.cc +23 -26
  1202. data/src/core/lib/security/credentials/credentials.h +91 -94
  1203. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +202 -74
  1204. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +21 -3
  1205. data/src/core/lib/security/credentials/external/aws_request_signer.cc +14 -3
  1206. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1207. data/src/core/lib/security/credentials/external/external_account_credentials.cc +86 -68
  1208. data/src/core/lib/security/credentials/external/external_account_credentials.h +14 -3
  1209. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +29 -26
  1210. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +9 -3
  1211. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +44 -31
  1212. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +13 -3
  1213. data/src/core/lib/security/credentials/fake/fake_credentials.cc +48 -48
  1214. data/src/core/lib/security/credentials/fake/fake_credentials.h +57 -47
  1215. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +23 -25
  1216. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +148 -112
  1217. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +35 -29
  1218. data/src/core/lib/security/credentials/iam/iam_credentials.cc +35 -24
  1219. data/src/core/lib/security/credentials/iam/iam_credentials.h +37 -23
  1220. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +32 -29
  1221. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +61 -0
  1222. data/src/core/lib/security/credentials/jwt/json_token.cc +40 -29
  1223. data/src/core/lib/security/credentials/jwt/json_token.h +36 -36
  1224. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +37 -30
  1225. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +41 -23
  1226. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +113 -89
  1227. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +49 -47
  1228. data/src/core/lib/security/credentials/local/local_credentials.cc +36 -30
  1229. data/src/core/lib/security/credentials/local/local_credentials.h +36 -26
  1230. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +107 -91
  1231. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +56 -27
  1232. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +42 -36
  1233. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +55 -29
  1234. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +48 -44
  1235. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +43 -23
  1236. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +22 -30
  1237. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +16 -17
  1238. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +65 -48
  1239. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +69 -9
  1240. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +44 -4
  1241. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +75 -13
  1242. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +22 -23
  1243. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +69 -98
  1244. data/src/core/lib/security/credentials/tls/tls_credentials.cc +55 -50
  1245. data/src/core/lib/security/credentials/tls/tls_credentials.h +33 -30
  1246. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -1
  1247. data/src/core/lib/security/credentials/tls/tls_utils.h +4 -4
  1248. data/src/core/lib/security/credentials/xds/xds_credentials.cc +77 -81
  1249. data/src/core/lib/security/credentials/xds/xds_credentials.h +50 -10
  1250. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +60 -54
  1251. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +49 -47
  1252. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +75 -79
  1253. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +25 -26
  1254. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +15 -6
  1255. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +26 -15
  1256. data/src/core/lib/security/security_connector/load_system_roots.h +20 -20
  1257. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +22 -20
  1258. data/src/core/lib/security/security_connector/{load_system_roots_linux.cc → load_system_roots_supported.cc} +43 -38
  1259. data/src/core/lib/security/security_connector/load_system_roots_supported.h +45 -0
  1260. data/src/core/lib/security/security_connector/local/local_security_connector.cc +66 -49
  1261. data/src/core/lib/security/security_connector/local/local_security_connector.h +49 -46
  1262. data/src/core/lib/security/security_connector/security_connector.cc +37 -35
  1263. data/src/core/lib/security/security_connector/security_connector.h +67 -45
  1264. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +59 -48
  1265. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +44 -43
  1266. data/src/core/lib/security/security_connector/ssl_utils.cc +47 -39
  1267. data/src/core/lib/security/security_connector/ssl_utils.h +45 -42
  1268. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  1269. data/src/core/lib/security/security_connector/ssl_utils_config.h +21 -22
  1270. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +62 -58
  1271. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +48 -28
  1272. data/src/core/lib/security/transport/auth_filters.h +59 -30
  1273. data/src/core/lib/security/transport/client_auth_filter.cc +73 -48
  1274. data/src/core/lib/security/transport/secure_endpoint.cc +305 -181
  1275. data/src/core/lib/security/transport/secure_endpoint.h +29 -28
  1276. data/src/core/lib/security/transport/security_handshaker.cc +142 -110
  1277. data/src/core/lib/security/transport/security_handshaker.h +28 -23
  1278. data/src/core/lib/security/transport/server_auth_filter.cc +157 -266
  1279. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  1280. data/src/core/lib/security/transport/tsi_error.h +20 -20
  1281. data/src/core/lib/security/util/json_util.cc +24 -24
  1282. data/src/core/lib/security/util/json_util.h +21 -23
  1283. data/src/core/lib/service_config/service_config.h +19 -12
  1284. data/src/core/lib/service_config/service_config_call_data.h +15 -5
  1285. data/src/core/lib/service_config/service_config_impl.cc +111 -150
  1286. data/src/core/lib/service_config/service_config_impl.h +27 -27
  1287. data/src/core/lib/service_config/service_config_parser.cc +16 -28
  1288. data/src/core/lib/service_config/service_config_parser.h +18 -19
  1289. data/src/core/lib/slice/b64.cc +26 -26
  1290. data/src/core/lib/slice/b64.h +34 -32
  1291. data/src/core/lib/slice/percent_encoding.cc +24 -30
  1292. data/src/core/lib/slice/percent_encoding.h +28 -34
  1293. data/src/core/lib/slice/slice.cc +59 -46
  1294. data/src/core/lib/slice/slice.h +64 -20
  1295. data/src/core/lib/slice/slice_buffer.cc +136 -76
  1296. data/src/core/lib/slice/slice_buffer.h +168 -0
  1297. data/src/core/lib/slice/slice_internal.h +38 -45
  1298. data/src/core/lib/slice/slice_refcount.cc +3 -18
  1299. data/src/core/lib/slice/slice_refcount.h +53 -19
  1300. data/src/core/lib/slice/slice_string_helpers.cc +17 -33
  1301. data/src/core/lib/slice/slice_string_helpers.h +23 -30
  1302. data/src/core/lib/surface/api_trace.cc +17 -17
  1303. data/src/core/lib/surface/api_trace.h +25 -25
  1304. data/src/core/lib/surface/builtins.cc +7 -2
  1305. data/src/core/lib/surface/builtins.h +3 -3
  1306. data/src/core/lib/surface/byte_buffer.cc +26 -21
  1307. data/src/core/lib/surface/byte_buffer_reader.cc +24 -24
  1308. data/src/core/lib/surface/call.cc +3000 -1131
  1309. data/src/core/lib/surface/call.h +135 -56
  1310. data/src/core/lib/surface/call_details.cc +22 -23
  1311. data/src/core/lib/surface/call_log_batch.cc +25 -18
  1312. data/src/core/lib/surface/call_test_only.h +34 -31
  1313. data/src/core/lib/surface/call_trace.cc +123 -0
  1314. data/src/core/lib/surface/call_trace.h +30 -0
  1315. data/src/core/lib/surface/channel.cc +218 -284
  1316. data/src/core/lib/surface/channel.h +137 -90
  1317. data/src/core/lib/surface/channel_init.cc +19 -20
  1318. data/src/core/lib/surface/channel_init.h +24 -26
  1319. data/src/core/lib/surface/channel_ping.cc +26 -20
  1320. data/src/core/lib/surface/channel_stack_type.cc +21 -19
  1321. data/src/core/lib/surface/channel_stack_type.h +22 -22
  1322. data/src/core/lib/surface/completion_queue.cc +200 -222
  1323. data/src/core/lib/surface/completion_queue.h +42 -40
  1324. data/src/core/lib/surface/completion_queue_factory.cc +34 -28
  1325. data/src/core/lib/surface/completion_queue_factory.h +21 -23
  1326. data/src/core/lib/surface/event_string.cc +19 -24
  1327. data/src/core/lib/surface/event_string.h +21 -21
  1328. data/src/core/lib/surface/init.cc +57 -114
  1329. data/src/core/lib/surface/init.h +20 -28
  1330. data/src/core/lib/surface/init_internally.cc +25 -0
  1331. data/src/core/lib/surface/init_internally.h +37 -0
  1332. data/src/core/lib/surface/lame_client.cc +87 -130
  1333. data/src/core/lib/surface/lame_client.h +62 -24
  1334. data/src/core/lib/surface/metadata_array.cc +18 -17
  1335. data/src/core/lib/surface/server.cc +409 -188
  1336. data/src/core/lib/surface/server.h +57 -26
  1337. data/src/core/lib/surface/validate_metadata.cc +34 -48
  1338. data/src/core/lib/surface/validate_metadata.h +24 -21
  1339. data/src/core/lib/surface/version.cc +21 -21
  1340. data/src/core/lib/transport/bdp_estimator.cc +19 -19
  1341. data/src/core/lib/transport/bdp_estimator.h +22 -24
  1342. data/src/core/lib/transport/connectivity_state.cc +24 -23
  1343. data/src/core/lib/transport/connectivity_state.h +24 -25
  1344. data/src/core/lib/transport/error_utils.cc +57 -79
  1345. data/src/core/lib/transport/error_utils.h +29 -25
  1346. data/src/core/lib/{channel → transport}/handshaker.cc +75 -58
  1347. data/src/core/lib/{channel → transport}/handshaker.h +59 -48
  1348. data/src/core/lib/transport/handshaker_factory.h +74 -0
  1349. data/src/core/lib/transport/handshaker_registry.cc +61 -0
  1350. data/src/core/lib/transport/handshaker_registry.h +69 -0
  1351. data/src/core/lib/transport/http2_errors.h +22 -22
  1352. data/src/core/{ext/filters/client_channel → lib/transport}/http_connect_handshaker.cc +78 -65
  1353. data/src/core/lib/transport/http_connect_handshaker.h +42 -0
  1354. data/src/core/lib/transport/metadata_batch.cc +305 -0
  1355. data/src/core/lib/transport/metadata_batch.h +269 -302
  1356. data/src/core/lib/transport/parsed_metadata.cc +2 -4
  1357. data/src/core/lib/transport/parsed_metadata.h +17 -8
  1358. data/src/core/lib/transport/pid_controller.cc +20 -20
  1359. data/src/core/lib/transport/pid_controller.h +27 -27
  1360. data/src/core/lib/transport/status_conversion.cc +23 -23
  1361. data/src/core/lib/transport/status_conversion.h +24 -24
  1362. data/src/core/lib/transport/tcp_connect_handshaker.cc +245 -0
  1363. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  1364. data/src/core/lib/transport/timeout_encoding.cc +24 -28
  1365. data/src/core/lib/transport/timeout_encoding.h +25 -21
  1366. data/src/core/lib/transport/transport.cc +97 -57
  1367. data/src/core/lib/transport/transport.h +252 -207
  1368. data/src/core/lib/transport/transport_fwd.h +20 -0
  1369. data/src/core/lib/transport/transport_impl.h +59 -48
  1370. data/src/core/lib/transport/transport_op_string.cc +40 -39
  1371. data/src/core/lib/uri/uri_parser.cc +12 -4
  1372. data/src/core/lib/uri/uri_parser.h +3 -5
  1373. data/src/core/plugin_registry/grpc_plugin_registry.cc +62 -73
  1374. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +20 -39
  1375. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  1376. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  1377. data/src/core/tsi/alts/crypt/gsec.h +336 -336
  1378. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1379. data/src/core/tsi/alts/frame_protector/alts_counter.h +68 -68
  1380. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1381. data/src/core/tsi/alts/frame_protector/alts_crypter.h +209 -209
  1382. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +72 -71
  1383. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +40 -40
  1384. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1385. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +82 -83
  1386. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1387. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1388. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  1389. data/src/core/tsi/alts/frame_protector/frame_handler.h +169 -169
  1390. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +117 -97
  1391. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +104 -104
  1392. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +18 -17
  1393. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +43 -44
  1394. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +53 -45
  1395. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +60 -60
  1396. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +24 -24
  1397. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +21 -20
  1398. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +38 -38
  1399. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +19 -19
  1400. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +105 -104
  1401. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  1402. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +40 -41
  1403. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1404. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +35 -36
  1405. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +67 -68
  1406. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  1407. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +55 -56
  1408. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  1409. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +141 -142
  1410. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +67 -58
  1411. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +43 -44
  1412. data/src/core/tsi/fake_transport_security.cc +146 -110
  1413. data/src/core/tsi/fake_transport_security.h +36 -30
  1414. data/src/core/tsi/local_transport_security.cc +43 -38
  1415. data/src/core/tsi/local_transport_security.h +33 -33
  1416. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +9 -4
  1417. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +3 -3
  1418. data/src/core/tsi/ssl/session_cache/ssl_session.h +23 -21
  1419. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +21 -19
  1420. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  1421. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +31 -22
  1422. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +27 -20
  1423. data/src/core/tsi/ssl_transport_security.cc +356 -390
  1424. data/src/core/tsi/ssl_transport_security.h +210 -201
  1425. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1426. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1427. data/src/core/tsi/ssl_types.h +27 -27
  1428. data/src/core/tsi/transport_security.cc +44 -32
  1429. data/src/core/tsi/transport_security.h +49 -48
  1430. data/src/core/tsi/transport_security_grpc.cc +23 -22
  1431. data/src/core/tsi/transport_security_grpc.h +44 -41
  1432. data/src/core/tsi/transport_security_interface.h +346 -332
  1433. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang +2 -0
  1434. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc +7 -0
  1435. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1436. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1437. data/src/ruby/ext/grpc/ext-export.gcc +1 -1
  1438. data/src/ruby/ext/grpc/extconf.rb +98 -20
  1439. data/src/ruby/ext/grpc/rb_call.c +1 -0
  1440. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  1441. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  1442. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  1443. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  1444. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  1445. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +60 -60
  1446. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  1447. data/src/ruby/lib/grpc/errors.rb +1 -1
  1448. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  1449. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1450. data/src/ruby/lib/grpc/grpc.rb +1 -1
  1451. data/src/ruby/lib/grpc/version.rb +1 -1
  1452. data/src/ruby/pb/generate_proto_ruby.sh +1 -6
  1453. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  1454. data/src/ruby/pb/test/client.rb +769 -0
  1455. data/src/ruby/pb/test/server.rb +252 -0
  1456. data/src/ruby/pb/test/xds_client.rb +415 -0
  1457. data/src/ruby/spec/channel_spec.rb +5 -43
  1458. data/src/ruby/spec/client_server_spec.rb +20 -8
  1459. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  1460. data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
  1461. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  1462. data/src/ruby/spec/user_agent_spec.rb +1 -1
  1463. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -58
  1464. data/third_party/abseil-cpp/absl/base/attributes.h +88 -41
  1465. data/third_party/abseil-cpp/absl/base/casts.h +61 -68
  1466. data/third_party/abseil-cpp/absl/base/config.h +221 -39
  1467. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
  1468. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +52 -2
  1469. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  1470. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +5 -4
  1471. data/third_party/abseil-cpp/absl/base/internal/endian.h +17 -62
  1472. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +2 -0
  1473. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +3 -3
  1474. data/third_party/abseil-cpp/absl/base/internal/invoke.h +54 -0
  1475. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +2 -2
  1476. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +1 -1
  1477. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  1478. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +39 -28
  1479. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +36 -36
  1480. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +6 -3
  1481. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +10 -6
  1482. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -5
  1483. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +4 -1
  1484. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  1485. data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  1486. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -11
  1487. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +9 -0
  1488. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +2 -1
  1489. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -0
  1490. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +6 -7
  1491. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +12 -40
  1492. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  1493. data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
  1494. data/third_party/abseil-cpp/absl/base/log_severity.h +51 -0
  1495. data/third_party/abseil-cpp/absl/base/macros.h +4 -21
  1496. data/third_party/abseil-cpp/absl/base/optimization.h +76 -16
  1497. data/third_party/abseil-cpp/absl/base/options.h +1 -7
  1498. data/third_party/abseil-cpp/absl/base/policy_checks.h +15 -13
  1499. data/third_party/abseil-cpp/absl/base/thread_annotations.h +2 -2
  1500. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1501. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1502. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -5
  1503. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +11 -4
  1504. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  1505. data/third_party/abseil-cpp/absl/container/inlined_vector.h +84 -25
  1506. data/third_party/abseil-cpp/absl/container/internal/common.h +9 -8
  1507. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  1508. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +23 -29
  1509. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +4 -55
  1510. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +116 -23
  1511. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +40 -54
  1512. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +165 -66
  1513. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +159 -4
  1514. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1121 -470
  1515. data/third_party/abseil-cpp/absl/crc/crc32c.cc +99 -0
  1516. data/third_party/abseil-cpp/absl/crc/crc32c.h +183 -0
  1517. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  1518. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  1519. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  1520. data/third_party/abseil-cpp/absl/crc/internal/crc.h +91 -0
  1521. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  1522. data/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  1523. data/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  1524. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  1525. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  1526. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  1527. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  1528. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  1529. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  1530. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  1531. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  1532. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  1533. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  1534. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -88
  1535. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +67 -38
  1536. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +1 -1
  1537. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +16 -13
  1538. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +3 -2
  1539. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +19 -12
  1540. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +8 -3
  1541. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +2 -1
  1542. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +1 -1
  1543. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +8 -3
  1544. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +59 -102
  1545. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +5 -4
  1546. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +41 -11
  1547. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +18 -4
  1548. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +6 -1
  1549. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +3 -2
  1550. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +164 -101
  1551. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +7 -6
  1552. data/third_party/abseil-cpp/absl/functional/any_invocable.h +316 -0
  1553. data/third_party/abseil-cpp/absl/functional/bind_front.h +10 -1
  1554. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -1
  1555. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +878 -0
  1556. data/third_party/abseil-cpp/absl/hash/hash.h +82 -8
  1557. data/third_party/abseil-cpp/absl/hash/internal/city.cc +10 -10
  1558. data/third_party/abseil-cpp/absl/hash/internal/hash.h +235 -26
  1559. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +3 -14
  1560. data/third_party/abseil-cpp/absl/memory/memory.h +26 -447
  1561. data/third_party/abseil-cpp/absl/meta/type_traits.h +104 -12
  1562. data/third_party/abseil-cpp/absl/numeric/bits.h +1 -1
  1563. data/third_party/abseil-cpp/absl/numeric/int128.cc +14 -10
  1564. data/third_party/abseil-cpp/absl/numeric/int128.h +2 -2
  1565. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +33 -10
  1566. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +4 -4
  1567. data/third_party/abseil-cpp/absl/random/distributions.h +3 -3
  1568. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +3 -0
  1569. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +4 -2
  1570. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +2 -2
  1571. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +59 -48
  1572. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +3 -24
  1573. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +9 -9
  1574. data/third_party/abseil-cpp/absl/random/internal/randen.h +5 -11
  1575. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +6 -2
  1576. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +48 -23
  1577. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +24 -26
  1578. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +2 -2
  1579. data/third_party/abseil-cpp/absl/random/internal/traits.h +53 -5
  1580. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +5 -5
  1581. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +33 -48
  1582. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +9 -10
  1583. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +7 -4
  1584. data/third_party/abseil-cpp/absl/random/random.h +6 -6
  1585. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -0
  1586. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -2
  1587. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
  1588. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +4 -3
  1589. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  1590. data/third_party/abseil-cpp/absl/status/status.cc +193 -14
  1591. data/third_party/abseil-cpp/absl/status/status.h +24 -14
  1592. data/third_party/abseil-cpp/absl/status/statusor.h +9 -3
  1593. data/third_party/abseil-cpp/absl/strings/ascii.cc +5 -5
  1594. data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
  1595. data/third_party/abseil-cpp/absl/strings/charconv.cc +534 -96
  1596. data/third_party/abseil-cpp/absl/strings/cord.cc +257 -924
  1597. data/third_party/abseil-cpp/absl/strings/cord.h +268 -156
  1598. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  1599. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  1600. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  1601. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +575 -0
  1602. data/third_party/abseil-cpp/absl/strings/escaping.cc +73 -62
  1603. data/third_party/abseil-cpp/absl/strings/escaping.h +24 -19
  1604. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +14 -12
  1605. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +4 -4
  1606. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  1607. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  1608. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +20 -32
  1609. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +441 -150
  1610. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +157 -53
  1611. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +70 -73
  1612. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +8 -6
  1613. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +4 -2
  1614. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +3 -2
  1615. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +5 -4
  1616. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +7 -74
  1617. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  1618. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  1619. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +58 -17
  1620. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +13 -11
  1621. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +7 -15
  1622. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +3 -3
  1623. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +19 -43
  1624. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +7 -7
  1625. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +5 -4
  1626. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +4 -2
  1627. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  1628. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  1629. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +18 -15
  1630. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +7 -9
  1631. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  1632. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +9 -6
  1633. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +14 -7
  1634. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +35 -10
  1635. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +113 -46
  1636. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +127 -30
  1637. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -2
  1638. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +42 -10
  1639. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +56 -289
  1640. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  1641. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
  1642. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +9 -4
  1643. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +215 -181
  1644. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +2 -1
  1645. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +10 -209
  1646. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -103
  1647. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
  1648. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -1
  1649. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +10 -2
  1650. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  1651. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  1652. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
  1653. data/third_party/abseil-cpp/absl/strings/numbers.cc +42 -39
  1654. data/third_party/abseil-cpp/absl/strings/numbers.h +26 -23
  1655. data/third_party/abseil-cpp/absl/strings/str_cat.cc +9 -6
  1656. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -16
  1657. data/third_party/abseil-cpp/absl/strings/str_format.h +71 -9
  1658. data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
  1659. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -2
  1660. data/third_party/abseil-cpp/absl/strings/string_view.cc +8 -19
  1661. data/third_party/abseil-cpp/absl/strings/string_view.h +6 -12
  1662. data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
  1663. data/third_party/abseil-cpp/absl/strings/substitute.cc +8 -6
  1664. data/third_party/abseil-cpp/absl/strings/substitute.h +55 -21
  1665. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +9 -6
  1666. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
  1667. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +20 -17
  1668. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +37 -31
  1669. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +22 -8
  1670. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -4
  1671. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -6
  1672. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -25
  1673. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +10 -4
  1674. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +172 -88
  1675. data/third_party/abseil-cpp/absl/synchronization/mutex.h +102 -55
  1676. data/third_party/abseil-cpp/absl/synchronization/notification.cc +0 -1
  1677. data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -3
  1678. data/third_party/abseil-cpp/absl/time/civil_time.cc +26 -0
  1679. data/third_party/abseil-cpp/absl/time/civil_time.h +25 -0
  1680. data/third_party/abseil-cpp/absl/time/clock.cc +17 -11
  1681. data/third_party/abseil-cpp/absl/time/duration.cc +12 -11
  1682. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  1683. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +11 -7
  1684. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1685. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +26 -5
  1686. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +7 -6
  1687. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +36 -35
  1688. data/third_party/abseil-cpp/absl/time/time.cc +2 -2
  1689. data/third_party/abseil-cpp/absl/time/time.h +268 -169
  1690. data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
  1691. data/third_party/abseil-cpp/absl/types/internal/span.h +30 -19
  1692. data/third_party/abseil-cpp/absl/types/internal/variant.h +28 -40
  1693. data/third_party/abseil-cpp/absl/types/optional.h +17 -14
  1694. data/third_party/abseil-cpp/absl/types/span.h +31 -8
  1695. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +1 -1
  1696. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -2
  1697. data/third_party/re2/re2/bitstate.cc +3 -3
  1698. data/third_party/re2/re2/dfa.cc +13 -13
  1699. data/third_party/re2/re2/nfa.cc +4 -4
  1700. data/third_party/re2/re2/onepass.cc +2 -2
  1701. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  1702. data/third_party/re2/re2/prefilter_tree.h +3 -2
  1703. data/third_party/re2/re2/prog.cc +11 -2
  1704. data/third_party/re2/re2/prog.h +17 -5
  1705. data/third_party/re2/re2/re2.cc +6 -11
  1706. data/third_party/re2/re2/re2.h +1 -1
  1707. data/third_party/re2/re2/regexp.cc +1 -2
  1708. data/third_party/re2/re2/stringpiece.h +10 -7
  1709. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  1710. data/third_party/re2/re2/unicode_groups.cc +319 -151
  1711. data/third_party/re2/re2/walker-inl.h +3 -2
  1712. data/third_party/re2/util/mutex.h +4 -4
  1713. data/third_party/upb/upb/arena.c +277 -0
  1714. data/third_party/upb/upb/arena.h +225 -0
  1715. data/third_party/upb/upb/array.c +114 -0
  1716. data/third_party/upb/upb/array.h +83 -0
  1717. data/third_party/upb/upb/collections.h +36 -0
  1718. data/third_party/upb/upb/decode.c +188 -76
  1719. data/third_party/upb/upb/decode.h +1 -0
  1720. data/third_party/upb/upb/decode_fast.c +1 -1
  1721. data/third_party/upb/upb/def.c +128 -57
  1722. data/third_party/upb/upb/def.h +20 -4
  1723. data/third_party/upb/upb/def.hpp +7 -4
  1724. data/third_party/upb/upb/encode.c +43 -28
  1725. data/third_party/upb/upb/encode.h +16 -6
  1726. data/third_party/upb/upb/extension_registry.c +93 -0
  1727. data/third_party/upb/upb/extension_registry.h +84 -0
  1728. data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
  1729. data/third_party/upb/upb/internal/table.h +385 -0
  1730. data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
  1731. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  1732. data/third_party/upb/upb/json_decode.c +1512 -0
  1733. data/third_party/upb/upb/json_decode.h +47 -0
  1734. data/third_party/upb/upb/json_encode.c +780 -0
  1735. data/third_party/upb/upb/json_encode.h +65 -0
  1736. data/third_party/upb/upb/map.c +108 -0
  1737. data/third_party/upb/upb/map.h +117 -0
  1738. data/third_party/upb/upb/message_value.h +66 -0
  1739. data/third_party/upb/upb/mini_table.c +1147 -0
  1740. data/third_party/upb/upb/mini_table.h +189 -0
  1741. data/third_party/upb/upb/mini_table.hpp +112 -0
  1742. data/third_party/upb/upb/msg.c +6 -68
  1743. data/third_party/upb/upb/msg.h +2 -46
  1744. data/third_party/upb/upb/msg_internal.h +77 -58
  1745. data/third_party/upb/upb/port_def.inc +10 -1
  1746. data/third_party/upb/upb/port_undef.inc +2 -0
  1747. data/third_party/upb/upb/reflection.c +2 -159
  1748. data/third_party/upb/upb/reflection.h +2 -112
  1749. data/third_party/upb/upb/status.c +86 -0
  1750. data/third_party/upb/upb/status.h +66 -0
  1751. data/third_party/upb/upb/table.c +12 -8
  1752. data/third_party/upb/upb/table_internal.h +3 -350
  1753. data/third_party/upb/upb/text_encode.c +3 -2
  1754. data/third_party/upb/upb/upb.c +4 -290
  1755. data/third_party/upb/upb/upb.h +8 -167
  1756. data/third_party/zlib/compress.c +3 -3
  1757. data/third_party/zlib/crc32.c +975 -292
  1758. data/third_party/zlib/crc32.h +9441 -436
  1759. data/third_party/zlib/deflate.c +183 -129
  1760. data/third_party/zlib/deflate.h +12 -15
  1761. data/third_party/zlib/gzguts.h +3 -2
  1762. data/third_party/zlib/gzlib.c +6 -4
  1763. data/third_party/zlib/gzread.c +8 -12
  1764. data/third_party/zlib/gzwrite.c +26 -14
  1765. data/third_party/zlib/infback.c +12 -8
  1766. data/third_party/zlib/inffast.c +14 -14
  1767. data/third_party/zlib/inflate.c +44 -10
  1768. data/third_party/zlib/inflate.h +3 -2
  1769. data/third_party/zlib/inftrees.c +3 -3
  1770. data/third_party/zlib/inftrees.h +1 -1
  1771. data/third_party/zlib/trees.c +85 -107
  1772. data/third_party/zlib/uncompr.c +2 -2
  1773. data/third_party/zlib/zconf.h +16 -3
  1774. data/third_party/zlib/zlib.h +129 -106
  1775. data/third_party/zlib/zutil.c +11 -9
  1776. data/third_party/zlib/zutil.h +13 -9
  1777. metadata +424 -135
  1778. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  1779. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -42
  1780. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -48
  1781. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -185
  1782. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -65
  1783. data/src/core/ext/filters/client_channel/proxy_mapper.h +0 -54
  1784. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -89
  1785. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -50
  1786. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -186
  1787. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -201
  1788. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -179
  1789. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -456
  1790. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -53
  1791. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -386
  1792. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -566
  1793. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -67
  1794. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  1795. data/src/core/ext/xds/certificate_provider_registry.h +0 -57
  1796. data/src/core/lib/channel/handshaker_factory.h +0 -50
  1797. data/src/core/lib/channel/handshaker_registry.cc +0 -50
  1798. data/src/core/lib/channel/handshaker_registry.h +0 -71
  1799. data/src/core/lib/event_engine/sockaddr.cc +0 -40
  1800. data/src/core/lib/event_engine/sockaddr.h +0 -44
  1801. data/src/core/lib/gpr/env.h +0 -40
  1802. data/src/core/lib/gpr/env_linux.cc +0 -75
  1803. data/src/core/lib/gpr/env_posix.cc +0 -46
  1804. data/src/core/lib/gpr/env_windows.cc +0 -74
  1805. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  1806. data/src/core/lib/gpr/murmur_hash.h +0 -29
  1807. data/src/core/lib/gpr/string_windows.h +0 -32
  1808. data/src/core/lib/gpr/tls.h +0 -157
  1809. data/src/core/lib/gprpp/capture.h +0 -76
  1810. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +0 -32
  1811. data/src/core/lib/iomgr/error_internal.h +0 -66
  1812. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1657
  1813. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  1814. data/src/core/lib/iomgr/event_engine/endpoint.cc +0 -172
  1815. data/src/core/lib/iomgr/event_engine/endpoint.h +0 -52
  1816. data/src/core/lib/iomgr/event_engine/iomgr.cc +0 -85
  1817. data/src/core/lib/iomgr/event_engine/pollset.cc +0 -87
  1818. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +0 -47
  1819. data/src/core/lib/iomgr/event_engine/resolver.cc +0 -133
  1820. data/src/core/lib/iomgr/event_engine/resolver.h +0 -56
  1821. data/src/core/lib/iomgr/event_engine/tcp.cc +0 -296
  1822. data/src/core/lib/iomgr/event_engine/timer.cc +0 -62
  1823. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  1824. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  1825. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  1826. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  1827. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  1828. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  1829. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  1830. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  1831. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  1832. data/src/core/lib/profiling/basic_timers.cc +0 -295
  1833. data/src/core/lib/profiling/stap_timers.cc +0 -50
  1834. data/src/core/lib/profiling/timers.h +0 -94
  1835. data/src/core/lib/security/security_connector/load_system_roots_linux.h +0 -46
  1836. data/src/core/lib/slice/slice_api.cc +0 -39
  1837. data/src/core/lib/slice/slice_refcount_base.h +0 -61
  1838. data/src/core/lib/slice/slice_split.cc +0 -100
  1839. data/src/core/lib/slice/slice_split.h +0 -40
  1840. data/src/core/lib/transport/byte_stream.cc +0 -162
  1841. data/src/core/lib/transport/byte_stream.h +0 -166
  1842. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -50
@@ -138,11 +138,15 @@ UPB_INLINE validate_FieldRules* validate_FieldRules_parse_ex(const char* buf, si
138
138
  return ret;
139
139
  }
140
140
  UPB_INLINE char* validate_FieldRules_serialize(const validate_FieldRules* msg, upb_Arena* arena, size_t* len) {
141
- return upb_Encode(msg, &validate_FieldRules_msginit, 0, arena, len);
141
+ char* ptr;
142
+ (void)upb_Encode(msg, &validate_FieldRules_msginit, 0, arena, &ptr, len);
143
+ return ptr;
142
144
  }
143
145
  UPB_INLINE char* validate_FieldRules_serialize_ex(const validate_FieldRules* msg, int options,
144
146
  upb_Arena* arena, size_t* len) {
145
- return upb_Encode(msg, &validate_FieldRules_msginit, options, arena, len);
147
+ char* ptr;
148
+ (void)upb_Encode(msg, &validate_FieldRules_msginit, options, arena, &ptr, len);
149
+ return ptr;
146
150
  }
147
151
  typedef enum {
148
152
  validate_FieldRules_type_float = 1,
@@ -168,59 +172,212 @@ typedef enum {
168
172
  validate_FieldRules_type_timestamp = 22,
169
173
  validate_FieldRules_type_NOT_SET = 0
170
174
  } validate_FieldRules_type_oneofcases;
171
- UPB_INLINE validate_FieldRules_type_oneofcases validate_FieldRules_type_case(const validate_FieldRules* msg) { return (validate_FieldRules_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); }
172
-
173
- UPB_INLINE bool validate_FieldRules_has_float(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 1; }
174
- UPB_INLINE const validate_FloatRules* validate_FieldRules_float(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_FloatRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 1, NULL); }
175
- UPB_INLINE bool validate_FieldRules_has_double(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 2; }
176
- UPB_INLINE const validate_DoubleRules* validate_FieldRules_double(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_DoubleRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 2, NULL); }
177
- UPB_INLINE bool validate_FieldRules_has_int32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; }
178
- UPB_INLINE const validate_Int32Rules* validate_FieldRules_int32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Int32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); }
179
- UPB_INLINE bool validate_FieldRules_has_int64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 4; }
180
- UPB_INLINE const validate_Int64Rules* validate_FieldRules_int64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Int64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 4, NULL); }
181
- UPB_INLINE bool validate_FieldRules_has_uint32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 5; }
182
- UPB_INLINE const validate_UInt32Rules* validate_FieldRules_uint32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_UInt32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 5, NULL); }
183
- UPB_INLINE bool validate_FieldRules_has_uint64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 6; }
184
- UPB_INLINE const validate_UInt64Rules* validate_FieldRules_uint64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_UInt64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 6, NULL); }
185
- UPB_INLINE bool validate_FieldRules_has_sint32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 7; }
186
- UPB_INLINE const validate_SInt32Rules* validate_FieldRules_sint32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SInt32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 7, NULL); }
187
- UPB_INLINE bool validate_FieldRules_has_sint64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 8; }
188
- UPB_INLINE const validate_SInt64Rules* validate_FieldRules_sint64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SInt64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 8, NULL); }
189
- UPB_INLINE bool validate_FieldRules_has_fixed32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 9; }
190
- UPB_INLINE const validate_Fixed32Rules* validate_FieldRules_fixed32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Fixed32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 9, NULL); }
191
- UPB_INLINE bool validate_FieldRules_has_fixed64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 10; }
192
- UPB_INLINE const validate_Fixed64Rules* validate_FieldRules_fixed64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Fixed64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 10, NULL); }
193
- UPB_INLINE bool validate_FieldRules_has_sfixed32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 11; }
194
- UPB_INLINE const validate_SFixed32Rules* validate_FieldRules_sfixed32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SFixed32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 11, NULL); }
195
- UPB_INLINE bool validate_FieldRules_has_sfixed64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 12; }
196
- UPB_INLINE const validate_SFixed64Rules* validate_FieldRules_sfixed64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SFixed64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 12, NULL); }
197
- UPB_INLINE bool validate_FieldRules_has_bool(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 13; }
198
- UPB_INLINE const validate_BoolRules* validate_FieldRules_bool(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_BoolRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 13, NULL); }
199
- UPB_INLINE bool validate_FieldRules_has_string(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 14; }
200
- UPB_INLINE const validate_StringRules* validate_FieldRules_string(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_StringRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 14, NULL); }
201
- UPB_INLINE bool validate_FieldRules_has_bytes(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 15; }
202
- UPB_INLINE const validate_BytesRules* validate_FieldRules_bytes(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_BytesRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 15, NULL); }
203
- UPB_INLINE bool validate_FieldRules_has_enum(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 16; }
204
- UPB_INLINE const validate_EnumRules* validate_FieldRules_enum(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_EnumRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 16, NULL); }
205
- UPB_INLINE bool validate_FieldRules_has_message(const validate_FieldRules *msg) { return _upb_hasbit(msg, 1); }
175
+ UPB_INLINE validate_FieldRules_type_oneofcases validate_FieldRules_type_case(const validate_FieldRules* msg) {
176
+ return (validate_FieldRules_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
177
+ }
178
+ UPB_INLINE bool validate_FieldRules_has_float(const validate_FieldRules* msg) {
179
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 1;
180
+ }
181
+ UPB_INLINE void validate_FieldRules_clear_float(const validate_FieldRules* msg) {
182
+ UPB_WRITE_ONEOF(msg, validate_FloatRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
183
+ }
184
+ UPB_INLINE const validate_FloatRules* validate_FieldRules_float(const validate_FieldRules* msg) {
185
+ return UPB_READ_ONEOF(msg, const validate_FloatRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 1, NULL);
186
+ }
187
+ UPB_INLINE bool validate_FieldRules_has_double(const validate_FieldRules* msg) {
188
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 2;
189
+ }
190
+ UPB_INLINE void validate_FieldRules_clear_double(const validate_FieldRules* msg) {
191
+ UPB_WRITE_ONEOF(msg, validate_DoubleRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
192
+ }
193
+ UPB_INLINE const validate_DoubleRules* validate_FieldRules_double(const validate_FieldRules* msg) {
194
+ return UPB_READ_ONEOF(msg, const validate_DoubleRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 2, NULL);
195
+ }
196
+ UPB_INLINE bool validate_FieldRules_has_int32(const validate_FieldRules* msg) {
197
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 3;
198
+ }
199
+ UPB_INLINE void validate_FieldRules_clear_int32(const validate_FieldRules* msg) {
200
+ UPB_WRITE_ONEOF(msg, validate_Int32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
201
+ }
202
+ UPB_INLINE const validate_Int32Rules* validate_FieldRules_int32(const validate_FieldRules* msg) {
203
+ return UPB_READ_ONEOF(msg, const validate_Int32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 3, NULL);
204
+ }
205
+ UPB_INLINE bool validate_FieldRules_has_int64(const validate_FieldRules* msg) {
206
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 4;
207
+ }
208
+ UPB_INLINE void validate_FieldRules_clear_int64(const validate_FieldRules* msg) {
209
+ UPB_WRITE_ONEOF(msg, validate_Int64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
210
+ }
211
+ UPB_INLINE const validate_Int64Rules* validate_FieldRules_int64(const validate_FieldRules* msg) {
212
+ return UPB_READ_ONEOF(msg, const validate_Int64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 4, NULL);
213
+ }
214
+ UPB_INLINE bool validate_FieldRules_has_uint32(const validate_FieldRules* msg) {
215
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 5;
216
+ }
217
+ UPB_INLINE void validate_FieldRules_clear_uint32(const validate_FieldRules* msg) {
218
+ UPB_WRITE_ONEOF(msg, validate_UInt32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
219
+ }
220
+ UPB_INLINE const validate_UInt32Rules* validate_FieldRules_uint32(const validate_FieldRules* msg) {
221
+ return UPB_READ_ONEOF(msg, const validate_UInt32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 5, NULL);
222
+ }
223
+ UPB_INLINE bool validate_FieldRules_has_uint64(const validate_FieldRules* msg) {
224
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 6;
225
+ }
226
+ UPB_INLINE void validate_FieldRules_clear_uint64(const validate_FieldRules* msg) {
227
+ UPB_WRITE_ONEOF(msg, validate_UInt64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
228
+ }
229
+ UPB_INLINE const validate_UInt64Rules* validate_FieldRules_uint64(const validate_FieldRules* msg) {
230
+ return UPB_READ_ONEOF(msg, const validate_UInt64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 6, NULL);
231
+ }
232
+ UPB_INLINE bool validate_FieldRules_has_sint32(const validate_FieldRules* msg) {
233
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 7;
234
+ }
235
+ UPB_INLINE void validate_FieldRules_clear_sint32(const validate_FieldRules* msg) {
236
+ UPB_WRITE_ONEOF(msg, validate_SInt32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
237
+ }
238
+ UPB_INLINE const validate_SInt32Rules* validate_FieldRules_sint32(const validate_FieldRules* msg) {
239
+ return UPB_READ_ONEOF(msg, const validate_SInt32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 7, NULL);
240
+ }
241
+ UPB_INLINE bool validate_FieldRules_has_sint64(const validate_FieldRules* msg) {
242
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 8;
243
+ }
244
+ UPB_INLINE void validate_FieldRules_clear_sint64(const validate_FieldRules* msg) {
245
+ UPB_WRITE_ONEOF(msg, validate_SInt64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
246
+ }
247
+ UPB_INLINE const validate_SInt64Rules* validate_FieldRules_sint64(const validate_FieldRules* msg) {
248
+ return UPB_READ_ONEOF(msg, const validate_SInt64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 8, NULL);
249
+ }
250
+ UPB_INLINE bool validate_FieldRules_has_fixed32(const validate_FieldRules* msg) {
251
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 9;
252
+ }
253
+ UPB_INLINE void validate_FieldRules_clear_fixed32(const validate_FieldRules* msg) {
254
+ UPB_WRITE_ONEOF(msg, validate_Fixed32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
255
+ }
256
+ UPB_INLINE const validate_Fixed32Rules* validate_FieldRules_fixed32(const validate_FieldRules* msg) {
257
+ return UPB_READ_ONEOF(msg, const validate_Fixed32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 9, NULL);
258
+ }
259
+ UPB_INLINE bool validate_FieldRules_has_fixed64(const validate_FieldRules* msg) {
260
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 10;
261
+ }
262
+ UPB_INLINE void validate_FieldRules_clear_fixed64(const validate_FieldRules* msg) {
263
+ UPB_WRITE_ONEOF(msg, validate_Fixed64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
264
+ }
265
+ UPB_INLINE const validate_Fixed64Rules* validate_FieldRules_fixed64(const validate_FieldRules* msg) {
266
+ return UPB_READ_ONEOF(msg, const validate_Fixed64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 10, NULL);
267
+ }
268
+ UPB_INLINE bool validate_FieldRules_has_sfixed32(const validate_FieldRules* msg) {
269
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 11;
270
+ }
271
+ UPB_INLINE void validate_FieldRules_clear_sfixed32(const validate_FieldRules* msg) {
272
+ UPB_WRITE_ONEOF(msg, validate_SFixed32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
273
+ }
274
+ UPB_INLINE const validate_SFixed32Rules* validate_FieldRules_sfixed32(const validate_FieldRules* msg) {
275
+ return UPB_READ_ONEOF(msg, const validate_SFixed32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 11, NULL);
276
+ }
277
+ UPB_INLINE bool validate_FieldRules_has_sfixed64(const validate_FieldRules* msg) {
278
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 12;
279
+ }
280
+ UPB_INLINE void validate_FieldRules_clear_sfixed64(const validate_FieldRules* msg) {
281
+ UPB_WRITE_ONEOF(msg, validate_SFixed64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
282
+ }
283
+ UPB_INLINE const validate_SFixed64Rules* validate_FieldRules_sfixed64(const validate_FieldRules* msg) {
284
+ return UPB_READ_ONEOF(msg, const validate_SFixed64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 12, NULL);
285
+ }
286
+ UPB_INLINE bool validate_FieldRules_has_bool(const validate_FieldRules* msg) {
287
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 13;
288
+ }
289
+ UPB_INLINE void validate_FieldRules_clear_bool(const validate_FieldRules* msg) {
290
+ UPB_WRITE_ONEOF(msg, validate_BoolRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
291
+ }
292
+ UPB_INLINE const validate_BoolRules* validate_FieldRules_bool(const validate_FieldRules* msg) {
293
+ return UPB_READ_ONEOF(msg, const validate_BoolRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 13, NULL);
294
+ }
295
+ UPB_INLINE bool validate_FieldRules_has_string(const validate_FieldRules* msg) {
296
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 14;
297
+ }
298
+ UPB_INLINE void validate_FieldRules_clear_string(const validate_FieldRules* msg) {
299
+ UPB_WRITE_ONEOF(msg, validate_StringRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
300
+ }
301
+ UPB_INLINE const validate_StringRules* validate_FieldRules_string(const validate_FieldRules* msg) {
302
+ return UPB_READ_ONEOF(msg, const validate_StringRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 14, NULL);
303
+ }
304
+ UPB_INLINE bool validate_FieldRules_has_bytes(const validate_FieldRules* msg) {
305
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 15;
306
+ }
307
+ UPB_INLINE void validate_FieldRules_clear_bytes(const validate_FieldRules* msg) {
308
+ UPB_WRITE_ONEOF(msg, validate_BytesRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
309
+ }
310
+ UPB_INLINE const validate_BytesRules* validate_FieldRules_bytes(const validate_FieldRules* msg) {
311
+ return UPB_READ_ONEOF(msg, const validate_BytesRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 15, NULL);
312
+ }
313
+ UPB_INLINE bool validate_FieldRules_has_enum(const validate_FieldRules* msg) {
314
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 16;
315
+ }
316
+ UPB_INLINE void validate_FieldRules_clear_enum(const validate_FieldRules* msg) {
317
+ UPB_WRITE_ONEOF(msg, validate_EnumRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
318
+ }
319
+ UPB_INLINE const validate_EnumRules* validate_FieldRules_enum(const validate_FieldRules* msg) {
320
+ return UPB_READ_ONEOF(msg, const validate_EnumRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 16, NULL);
321
+ }
322
+ UPB_INLINE bool validate_FieldRules_has_message(const validate_FieldRules* msg) {
323
+ return _upb_hasbit(msg, 1);
324
+ }
325
+ UPB_INLINE void validate_FieldRules_clear_message(const validate_FieldRules* msg) {
326
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const upb_Message*) = NULL;
327
+ }
206
328
  UPB_INLINE const validate_MessageRules* validate_FieldRules_message(const validate_FieldRules* msg) {
207
- return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const validate_MessageRules*);
208
- }
209
- UPB_INLINE bool validate_FieldRules_has_repeated(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 18; }
210
- UPB_INLINE const validate_RepeatedRules* validate_FieldRules_repeated(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_RepeatedRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 18, NULL); }
211
- UPB_INLINE bool validate_FieldRules_has_map(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 19; }
212
- UPB_INLINE const validate_MapRules* validate_FieldRules_map(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_MapRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 19, NULL); }
213
- UPB_INLINE bool validate_FieldRules_has_any(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 20; }
214
- UPB_INLINE const validate_AnyRules* validate_FieldRules_any(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_AnyRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 20, NULL); }
215
- UPB_INLINE bool validate_FieldRules_has_duration(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 21; }
216
- UPB_INLINE const validate_DurationRules* validate_FieldRules_duration(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_DurationRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 21, NULL); }
217
- UPB_INLINE bool validate_FieldRules_has_timestamp(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 22; }
218
- UPB_INLINE const validate_TimestampRules* validate_FieldRules_timestamp(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_TimestampRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 22, NULL); }
329
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const validate_MessageRules*);
330
+ }
331
+ UPB_INLINE bool validate_FieldRules_has_repeated(const validate_FieldRules* msg) {
332
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 18;
333
+ }
334
+ UPB_INLINE void validate_FieldRules_clear_repeated(const validate_FieldRules* msg) {
335
+ UPB_WRITE_ONEOF(msg, validate_RepeatedRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
336
+ }
337
+ UPB_INLINE const validate_RepeatedRules* validate_FieldRules_repeated(const validate_FieldRules* msg) {
338
+ return UPB_READ_ONEOF(msg, const validate_RepeatedRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 18, NULL);
339
+ }
340
+ UPB_INLINE bool validate_FieldRules_has_map(const validate_FieldRules* msg) {
341
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 19;
342
+ }
343
+ UPB_INLINE void validate_FieldRules_clear_map(const validate_FieldRules* msg) {
344
+ UPB_WRITE_ONEOF(msg, validate_MapRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
345
+ }
346
+ UPB_INLINE const validate_MapRules* validate_FieldRules_map(const validate_FieldRules* msg) {
347
+ return UPB_READ_ONEOF(msg, const validate_MapRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 19, NULL);
348
+ }
349
+ UPB_INLINE bool validate_FieldRules_has_any(const validate_FieldRules* msg) {
350
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 20;
351
+ }
352
+ UPB_INLINE void validate_FieldRules_clear_any(const validate_FieldRules* msg) {
353
+ UPB_WRITE_ONEOF(msg, validate_AnyRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
354
+ }
355
+ UPB_INLINE const validate_AnyRules* validate_FieldRules_any(const validate_FieldRules* msg) {
356
+ return UPB_READ_ONEOF(msg, const validate_AnyRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 20, NULL);
357
+ }
358
+ UPB_INLINE bool validate_FieldRules_has_duration(const validate_FieldRules* msg) {
359
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 21;
360
+ }
361
+ UPB_INLINE void validate_FieldRules_clear_duration(const validate_FieldRules* msg) {
362
+ UPB_WRITE_ONEOF(msg, validate_DurationRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
363
+ }
364
+ UPB_INLINE const validate_DurationRules* validate_FieldRules_duration(const validate_FieldRules* msg) {
365
+ return UPB_READ_ONEOF(msg, const validate_DurationRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 21, NULL);
366
+ }
367
+ UPB_INLINE bool validate_FieldRules_has_timestamp(const validate_FieldRules* msg) {
368
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 22;
369
+ }
370
+ UPB_INLINE void validate_FieldRules_clear_timestamp(const validate_FieldRules* msg) {
371
+ UPB_WRITE_ONEOF(msg, validate_TimestampRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
372
+ }
373
+ UPB_INLINE const validate_TimestampRules* validate_FieldRules_timestamp(const validate_FieldRules* msg) {
374
+ return UPB_READ_ONEOF(msg, const validate_TimestampRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 22, NULL);
375
+ }
219
376
 
220
377
  UPB_INLINE void validate_FieldRules_set_float(validate_FieldRules *msg, validate_FloatRules* value) {
221
- UPB_WRITE_ONEOF(msg, validate_FloatRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 1);
378
+ UPB_WRITE_ONEOF(msg, validate_FloatRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 1);
222
379
  }
223
- UPB_INLINE struct validate_FloatRules* validate_FieldRules_mutable_float(validate_FieldRules *msg, upb_Arena *arena) {
380
+ UPB_INLINE struct validate_FloatRules* validate_FieldRules_mutable_float(validate_FieldRules* msg, upb_Arena* arena) {
224
381
  struct validate_FloatRules* sub = (struct validate_FloatRules*)validate_FieldRules_float(msg);
225
382
  if (sub == NULL) {
226
383
  sub = (struct validate_FloatRules*)_upb_Message_New(&validate_FloatRules_msginit, arena);
@@ -230,9 +387,9 @@ UPB_INLINE struct validate_FloatRules* validate_FieldRules_mutable_float(validat
230
387
  return sub;
231
388
  }
232
389
  UPB_INLINE void validate_FieldRules_set_double(validate_FieldRules *msg, validate_DoubleRules* value) {
233
- UPB_WRITE_ONEOF(msg, validate_DoubleRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 2);
390
+ UPB_WRITE_ONEOF(msg, validate_DoubleRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 2);
234
391
  }
235
- UPB_INLINE struct validate_DoubleRules* validate_FieldRules_mutable_double(validate_FieldRules *msg, upb_Arena *arena) {
392
+ UPB_INLINE struct validate_DoubleRules* validate_FieldRules_mutable_double(validate_FieldRules* msg, upb_Arena* arena) {
236
393
  struct validate_DoubleRules* sub = (struct validate_DoubleRules*)validate_FieldRules_double(msg);
237
394
  if (sub == NULL) {
238
395
  sub = (struct validate_DoubleRules*)_upb_Message_New(&validate_DoubleRules_msginit, arena);
@@ -242,9 +399,9 @@ UPB_INLINE struct validate_DoubleRules* validate_FieldRules_mutable_double(valid
242
399
  return sub;
243
400
  }
244
401
  UPB_INLINE void validate_FieldRules_set_int32(validate_FieldRules *msg, validate_Int32Rules* value) {
245
- UPB_WRITE_ONEOF(msg, validate_Int32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3);
402
+ UPB_WRITE_ONEOF(msg, validate_Int32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 3);
246
403
  }
247
- UPB_INLINE struct validate_Int32Rules* validate_FieldRules_mutable_int32(validate_FieldRules *msg, upb_Arena *arena) {
404
+ UPB_INLINE struct validate_Int32Rules* validate_FieldRules_mutable_int32(validate_FieldRules* msg, upb_Arena* arena) {
248
405
  struct validate_Int32Rules* sub = (struct validate_Int32Rules*)validate_FieldRules_int32(msg);
249
406
  if (sub == NULL) {
250
407
  sub = (struct validate_Int32Rules*)_upb_Message_New(&validate_Int32Rules_msginit, arena);
@@ -254,9 +411,9 @@ UPB_INLINE struct validate_Int32Rules* validate_FieldRules_mutable_int32(validat
254
411
  return sub;
255
412
  }
256
413
  UPB_INLINE void validate_FieldRules_set_int64(validate_FieldRules *msg, validate_Int64Rules* value) {
257
- UPB_WRITE_ONEOF(msg, validate_Int64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 4);
414
+ UPB_WRITE_ONEOF(msg, validate_Int64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 4);
258
415
  }
259
- UPB_INLINE struct validate_Int64Rules* validate_FieldRules_mutable_int64(validate_FieldRules *msg, upb_Arena *arena) {
416
+ UPB_INLINE struct validate_Int64Rules* validate_FieldRules_mutable_int64(validate_FieldRules* msg, upb_Arena* arena) {
260
417
  struct validate_Int64Rules* sub = (struct validate_Int64Rules*)validate_FieldRules_int64(msg);
261
418
  if (sub == NULL) {
262
419
  sub = (struct validate_Int64Rules*)_upb_Message_New(&validate_Int64Rules_msginit, arena);
@@ -266,9 +423,9 @@ UPB_INLINE struct validate_Int64Rules* validate_FieldRules_mutable_int64(validat
266
423
  return sub;
267
424
  }
268
425
  UPB_INLINE void validate_FieldRules_set_uint32(validate_FieldRules *msg, validate_UInt32Rules* value) {
269
- UPB_WRITE_ONEOF(msg, validate_UInt32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 5);
426
+ UPB_WRITE_ONEOF(msg, validate_UInt32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 5);
270
427
  }
271
- UPB_INLINE struct validate_UInt32Rules* validate_FieldRules_mutable_uint32(validate_FieldRules *msg, upb_Arena *arena) {
428
+ UPB_INLINE struct validate_UInt32Rules* validate_FieldRules_mutable_uint32(validate_FieldRules* msg, upb_Arena* arena) {
272
429
  struct validate_UInt32Rules* sub = (struct validate_UInt32Rules*)validate_FieldRules_uint32(msg);
273
430
  if (sub == NULL) {
274
431
  sub = (struct validate_UInt32Rules*)_upb_Message_New(&validate_UInt32Rules_msginit, arena);
@@ -278,9 +435,9 @@ UPB_INLINE struct validate_UInt32Rules* validate_FieldRules_mutable_uint32(valid
278
435
  return sub;
279
436
  }
280
437
  UPB_INLINE void validate_FieldRules_set_uint64(validate_FieldRules *msg, validate_UInt64Rules* value) {
281
- UPB_WRITE_ONEOF(msg, validate_UInt64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 6);
438
+ UPB_WRITE_ONEOF(msg, validate_UInt64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 6);
282
439
  }
283
- UPB_INLINE struct validate_UInt64Rules* validate_FieldRules_mutable_uint64(validate_FieldRules *msg, upb_Arena *arena) {
440
+ UPB_INLINE struct validate_UInt64Rules* validate_FieldRules_mutable_uint64(validate_FieldRules* msg, upb_Arena* arena) {
284
441
  struct validate_UInt64Rules* sub = (struct validate_UInt64Rules*)validate_FieldRules_uint64(msg);
285
442
  if (sub == NULL) {
286
443
  sub = (struct validate_UInt64Rules*)_upb_Message_New(&validate_UInt64Rules_msginit, arena);
@@ -290,9 +447,9 @@ UPB_INLINE struct validate_UInt64Rules* validate_FieldRules_mutable_uint64(valid
290
447
  return sub;
291
448
  }
292
449
  UPB_INLINE void validate_FieldRules_set_sint32(validate_FieldRules *msg, validate_SInt32Rules* value) {
293
- UPB_WRITE_ONEOF(msg, validate_SInt32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 7);
450
+ UPB_WRITE_ONEOF(msg, validate_SInt32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 7);
294
451
  }
295
- UPB_INLINE struct validate_SInt32Rules* validate_FieldRules_mutable_sint32(validate_FieldRules *msg, upb_Arena *arena) {
452
+ UPB_INLINE struct validate_SInt32Rules* validate_FieldRules_mutable_sint32(validate_FieldRules* msg, upb_Arena* arena) {
296
453
  struct validate_SInt32Rules* sub = (struct validate_SInt32Rules*)validate_FieldRules_sint32(msg);
297
454
  if (sub == NULL) {
298
455
  sub = (struct validate_SInt32Rules*)_upb_Message_New(&validate_SInt32Rules_msginit, arena);
@@ -302,9 +459,9 @@ UPB_INLINE struct validate_SInt32Rules* validate_FieldRules_mutable_sint32(valid
302
459
  return sub;
303
460
  }
304
461
  UPB_INLINE void validate_FieldRules_set_sint64(validate_FieldRules *msg, validate_SInt64Rules* value) {
305
- UPB_WRITE_ONEOF(msg, validate_SInt64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 8);
462
+ UPB_WRITE_ONEOF(msg, validate_SInt64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 8);
306
463
  }
307
- UPB_INLINE struct validate_SInt64Rules* validate_FieldRules_mutable_sint64(validate_FieldRules *msg, upb_Arena *arena) {
464
+ UPB_INLINE struct validate_SInt64Rules* validate_FieldRules_mutable_sint64(validate_FieldRules* msg, upb_Arena* arena) {
308
465
  struct validate_SInt64Rules* sub = (struct validate_SInt64Rules*)validate_FieldRules_sint64(msg);
309
466
  if (sub == NULL) {
310
467
  sub = (struct validate_SInt64Rules*)_upb_Message_New(&validate_SInt64Rules_msginit, arena);
@@ -314,9 +471,9 @@ UPB_INLINE struct validate_SInt64Rules* validate_FieldRules_mutable_sint64(valid
314
471
  return sub;
315
472
  }
316
473
  UPB_INLINE void validate_FieldRules_set_fixed32(validate_FieldRules *msg, validate_Fixed32Rules* value) {
317
- UPB_WRITE_ONEOF(msg, validate_Fixed32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 9);
474
+ UPB_WRITE_ONEOF(msg, validate_Fixed32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 9);
318
475
  }
319
- UPB_INLINE struct validate_Fixed32Rules* validate_FieldRules_mutable_fixed32(validate_FieldRules *msg, upb_Arena *arena) {
476
+ UPB_INLINE struct validate_Fixed32Rules* validate_FieldRules_mutable_fixed32(validate_FieldRules* msg, upb_Arena* arena) {
320
477
  struct validate_Fixed32Rules* sub = (struct validate_Fixed32Rules*)validate_FieldRules_fixed32(msg);
321
478
  if (sub == NULL) {
322
479
  sub = (struct validate_Fixed32Rules*)_upb_Message_New(&validate_Fixed32Rules_msginit, arena);
@@ -326,9 +483,9 @@ UPB_INLINE struct validate_Fixed32Rules* validate_FieldRules_mutable_fixed32(val
326
483
  return sub;
327
484
  }
328
485
  UPB_INLINE void validate_FieldRules_set_fixed64(validate_FieldRules *msg, validate_Fixed64Rules* value) {
329
- UPB_WRITE_ONEOF(msg, validate_Fixed64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 10);
486
+ UPB_WRITE_ONEOF(msg, validate_Fixed64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 10);
330
487
  }
331
- UPB_INLINE struct validate_Fixed64Rules* validate_FieldRules_mutable_fixed64(validate_FieldRules *msg, upb_Arena *arena) {
488
+ UPB_INLINE struct validate_Fixed64Rules* validate_FieldRules_mutable_fixed64(validate_FieldRules* msg, upb_Arena* arena) {
332
489
  struct validate_Fixed64Rules* sub = (struct validate_Fixed64Rules*)validate_FieldRules_fixed64(msg);
333
490
  if (sub == NULL) {
334
491
  sub = (struct validate_Fixed64Rules*)_upb_Message_New(&validate_Fixed64Rules_msginit, arena);
@@ -338,9 +495,9 @@ UPB_INLINE struct validate_Fixed64Rules* validate_FieldRules_mutable_fixed64(val
338
495
  return sub;
339
496
  }
340
497
  UPB_INLINE void validate_FieldRules_set_sfixed32(validate_FieldRules *msg, validate_SFixed32Rules* value) {
341
- UPB_WRITE_ONEOF(msg, validate_SFixed32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 11);
498
+ UPB_WRITE_ONEOF(msg, validate_SFixed32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 11);
342
499
  }
343
- UPB_INLINE struct validate_SFixed32Rules* validate_FieldRules_mutable_sfixed32(validate_FieldRules *msg, upb_Arena *arena) {
500
+ UPB_INLINE struct validate_SFixed32Rules* validate_FieldRules_mutable_sfixed32(validate_FieldRules* msg, upb_Arena* arena) {
344
501
  struct validate_SFixed32Rules* sub = (struct validate_SFixed32Rules*)validate_FieldRules_sfixed32(msg);
345
502
  if (sub == NULL) {
346
503
  sub = (struct validate_SFixed32Rules*)_upb_Message_New(&validate_SFixed32Rules_msginit, arena);
@@ -350,9 +507,9 @@ UPB_INLINE struct validate_SFixed32Rules* validate_FieldRules_mutable_sfixed32(v
350
507
  return sub;
351
508
  }
352
509
  UPB_INLINE void validate_FieldRules_set_sfixed64(validate_FieldRules *msg, validate_SFixed64Rules* value) {
353
- UPB_WRITE_ONEOF(msg, validate_SFixed64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 12);
510
+ UPB_WRITE_ONEOF(msg, validate_SFixed64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 12);
354
511
  }
355
- UPB_INLINE struct validate_SFixed64Rules* validate_FieldRules_mutable_sfixed64(validate_FieldRules *msg, upb_Arena *arena) {
512
+ UPB_INLINE struct validate_SFixed64Rules* validate_FieldRules_mutable_sfixed64(validate_FieldRules* msg, upb_Arena* arena) {
356
513
  struct validate_SFixed64Rules* sub = (struct validate_SFixed64Rules*)validate_FieldRules_sfixed64(msg);
357
514
  if (sub == NULL) {
358
515
  sub = (struct validate_SFixed64Rules*)_upb_Message_New(&validate_SFixed64Rules_msginit, arena);
@@ -362,9 +519,9 @@ UPB_INLINE struct validate_SFixed64Rules* validate_FieldRules_mutable_sfixed64(v
362
519
  return sub;
363
520
  }
364
521
  UPB_INLINE void validate_FieldRules_set_bool(validate_FieldRules *msg, validate_BoolRules* value) {
365
- UPB_WRITE_ONEOF(msg, validate_BoolRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 13);
522
+ UPB_WRITE_ONEOF(msg, validate_BoolRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 13);
366
523
  }
367
- UPB_INLINE struct validate_BoolRules* validate_FieldRules_mutable_bool(validate_FieldRules *msg, upb_Arena *arena) {
524
+ UPB_INLINE struct validate_BoolRules* validate_FieldRules_mutable_bool(validate_FieldRules* msg, upb_Arena* arena) {
368
525
  struct validate_BoolRules* sub = (struct validate_BoolRules*)validate_FieldRules_bool(msg);
369
526
  if (sub == NULL) {
370
527
  sub = (struct validate_BoolRules*)_upb_Message_New(&validate_BoolRules_msginit, arena);
@@ -374,9 +531,9 @@ UPB_INLINE struct validate_BoolRules* validate_FieldRules_mutable_bool(validate_
374
531
  return sub;
375
532
  }
376
533
  UPB_INLINE void validate_FieldRules_set_string(validate_FieldRules *msg, validate_StringRules* value) {
377
- UPB_WRITE_ONEOF(msg, validate_StringRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 14);
534
+ UPB_WRITE_ONEOF(msg, validate_StringRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 14);
378
535
  }
379
- UPB_INLINE struct validate_StringRules* validate_FieldRules_mutable_string(validate_FieldRules *msg, upb_Arena *arena) {
536
+ UPB_INLINE struct validate_StringRules* validate_FieldRules_mutable_string(validate_FieldRules* msg, upb_Arena* arena) {
380
537
  struct validate_StringRules* sub = (struct validate_StringRules*)validate_FieldRules_string(msg);
381
538
  if (sub == NULL) {
382
539
  sub = (struct validate_StringRules*)_upb_Message_New(&validate_StringRules_msginit, arena);
@@ -386,9 +543,9 @@ UPB_INLINE struct validate_StringRules* validate_FieldRules_mutable_string(valid
386
543
  return sub;
387
544
  }
388
545
  UPB_INLINE void validate_FieldRules_set_bytes(validate_FieldRules *msg, validate_BytesRules* value) {
389
- UPB_WRITE_ONEOF(msg, validate_BytesRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 15);
546
+ UPB_WRITE_ONEOF(msg, validate_BytesRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 15);
390
547
  }
391
- UPB_INLINE struct validate_BytesRules* validate_FieldRules_mutable_bytes(validate_FieldRules *msg, upb_Arena *arena) {
548
+ UPB_INLINE struct validate_BytesRules* validate_FieldRules_mutable_bytes(validate_FieldRules* msg, upb_Arena* arena) {
392
549
  struct validate_BytesRules* sub = (struct validate_BytesRules*)validate_FieldRules_bytes(msg);
393
550
  if (sub == NULL) {
394
551
  sub = (struct validate_BytesRules*)_upb_Message_New(&validate_BytesRules_msginit, arena);
@@ -398,9 +555,9 @@ UPB_INLINE struct validate_BytesRules* validate_FieldRules_mutable_bytes(validat
398
555
  return sub;
399
556
  }
400
557
  UPB_INLINE void validate_FieldRules_set_enum(validate_FieldRules *msg, validate_EnumRules* value) {
401
- UPB_WRITE_ONEOF(msg, validate_EnumRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 16);
558
+ UPB_WRITE_ONEOF(msg, validate_EnumRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 16);
402
559
  }
403
- UPB_INLINE struct validate_EnumRules* validate_FieldRules_mutable_enum(validate_FieldRules *msg, upb_Arena *arena) {
560
+ UPB_INLINE struct validate_EnumRules* validate_FieldRules_mutable_enum(validate_FieldRules* msg, upb_Arena* arena) {
404
561
  struct validate_EnumRules* sub = (struct validate_EnumRules*)validate_FieldRules_enum(msg);
405
562
  if (sub == NULL) {
406
563
  sub = (struct validate_EnumRules*)_upb_Message_New(&validate_EnumRules_msginit, arena);
@@ -411,9 +568,9 @@ UPB_INLINE struct validate_EnumRules* validate_FieldRules_mutable_enum(validate_
411
568
  }
412
569
  UPB_INLINE void validate_FieldRules_set_message(validate_FieldRules *msg, validate_MessageRules* value) {
413
570
  _upb_sethas(msg, 1);
414
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), validate_MessageRules*) = value;
571
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), validate_MessageRules*) = value;
415
572
  }
416
- UPB_INLINE struct validate_MessageRules* validate_FieldRules_mutable_message(validate_FieldRules *msg, upb_Arena *arena) {
573
+ UPB_INLINE struct validate_MessageRules* validate_FieldRules_mutable_message(validate_FieldRules* msg, upb_Arena* arena) {
417
574
  struct validate_MessageRules* sub = (struct validate_MessageRules*)validate_FieldRules_message(msg);
418
575
  if (sub == NULL) {
419
576
  sub = (struct validate_MessageRules*)_upb_Message_New(&validate_MessageRules_msginit, arena);
@@ -423,9 +580,9 @@ UPB_INLINE struct validate_MessageRules* validate_FieldRules_mutable_message(val
423
580
  return sub;
424
581
  }
425
582
  UPB_INLINE void validate_FieldRules_set_repeated(validate_FieldRules *msg, validate_RepeatedRules* value) {
426
- UPB_WRITE_ONEOF(msg, validate_RepeatedRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 18);
583
+ UPB_WRITE_ONEOF(msg, validate_RepeatedRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 18);
427
584
  }
428
- UPB_INLINE struct validate_RepeatedRules* validate_FieldRules_mutable_repeated(validate_FieldRules *msg, upb_Arena *arena) {
585
+ UPB_INLINE struct validate_RepeatedRules* validate_FieldRules_mutable_repeated(validate_FieldRules* msg, upb_Arena* arena) {
429
586
  struct validate_RepeatedRules* sub = (struct validate_RepeatedRules*)validate_FieldRules_repeated(msg);
430
587
  if (sub == NULL) {
431
588
  sub = (struct validate_RepeatedRules*)_upb_Message_New(&validate_RepeatedRules_msginit, arena);
@@ -435,9 +592,9 @@ UPB_INLINE struct validate_RepeatedRules* validate_FieldRules_mutable_repeated(v
435
592
  return sub;
436
593
  }
437
594
  UPB_INLINE void validate_FieldRules_set_map(validate_FieldRules *msg, validate_MapRules* value) {
438
- UPB_WRITE_ONEOF(msg, validate_MapRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 19);
595
+ UPB_WRITE_ONEOF(msg, validate_MapRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 19);
439
596
  }
440
- UPB_INLINE struct validate_MapRules* validate_FieldRules_mutable_map(validate_FieldRules *msg, upb_Arena *arena) {
597
+ UPB_INLINE struct validate_MapRules* validate_FieldRules_mutable_map(validate_FieldRules* msg, upb_Arena* arena) {
441
598
  struct validate_MapRules* sub = (struct validate_MapRules*)validate_FieldRules_map(msg);
442
599
  if (sub == NULL) {
443
600
  sub = (struct validate_MapRules*)_upb_Message_New(&validate_MapRules_msginit, arena);
@@ -447,9 +604,9 @@ UPB_INLINE struct validate_MapRules* validate_FieldRules_mutable_map(validate_Fi
447
604
  return sub;
448
605
  }
449
606
  UPB_INLINE void validate_FieldRules_set_any(validate_FieldRules *msg, validate_AnyRules* value) {
450
- UPB_WRITE_ONEOF(msg, validate_AnyRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 20);
607
+ UPB_WRITE_ONEOF(msg, validate_AnyRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 20);
451
608
  }
452
- UPB_INLINE struct validate_AnyRules* validate_FieldRules_mutable_any(validate_FieldRules *msg, upb_Arena *arena) {
609
+ UPB_INLINE struct validate_AnyRules* validate_FieldRules_mutable_any(validate_FieldRules* msg, upb_Arena* arena) {
453
610
  struct validate_AnyRules* sub = (struct validate_AnyRules*)validate_FieldRules_any(msg);
454
611
  if (sub == NULL) {
455
612
  sub = (struct validate_AnyRules*)_upb_Message_New(&validate_AnyRules_msginit, arena);
@@ -459,9 +616,9 @@ UPB_INLINE struct validate_AnyRules* validate_FieldRules_mutable_any(validate_Fi
459
616
  return sub;
460
617
  }
461
618
  UPB_INLINE void validate_FieldRules_set_duration(validate_FieldRules *msg, validate_DurationRules* value) {
462
- UPB_WRITE_ONEOF(msg, validate_DurationRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 21);
619
+ UPB_WRITE_ONEOF(msg, validate_DurationRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 21);
463
620
  }
464
- UPB_INLINE struct validate_DurationRules* validate_FieldRules_mutable_duration(validate_FieldRules *msg, upb_Arena *arena) {
621
+ UPB_INLINE struct validate_DurationRules* validate_FieldRules_mutable_duration(validate_FieldRules* msg, upb_Arena* arena) {
465
622
  struct validate_DurationRules* sub = (struct validate_DurationRules*)validate_FieldRules_duration(msg);
466
623
  if (sub == NULL) {
467
624
  sub = (struct validate_DurationRules*)_upb_Message_New(&validate_DurationRules_msginit, arena);
@@ -471,9 +628,9 @@ UPB_INLINE struct validate_DurationRules* validate_FieldRules_mutable_duration(v
471
628
  return sub;
472
629
  }
473
630
  UPB_INLINE void validate_FieldRules_set_timestamp(validate_FieldRules *msg, validate_TimestampRules* value) {
474
- UPB_WRITE_ONEOF(msg, validate_TimestampRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 22);
631
+ UPB_WRITE_ONEOF(msg, validate_TimestampRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 22);
475
632
  }
476
- UPB_INLINE struct validate_TimestampRules* validate_FieldRules_mutable_timestamp(validate_FieldRules *msg, upb_Arena *arena) {
633
+ UPB_INLINE struct validate_TimestampRules* validate_FieldRules_mutable_timestamp(validate_FieldRules* msg, upb_Arena* arena) {
477
634
  struct validate_TimestampRules* sub = (struct validate_TimestampRules*)validate_FieldRules_timestamp(msg);
478
635
  if (sub == NULL) {
479
636
  sub = (struct validate_TimestampRules*)_upb_Message_New(&validate_TimestampRules_msginit, arena);
@@ -508,35 +665,85 @@ UPB_INLINE validate_FloatRules* validate_FloatRules_parse_ex(const char* buf, si
508
665
  return ret;
509
666
  }
510
667
  UPB_INLINE char* validate_FloatRules_serialize(const validate_FloatRules* msg, upb_Arena* arena, size_t* len) {
511
- return upb_Encode(msg, &validate_FloatRules_msginit, 0, arena, len);
668
+ char* ptr;
669
+ (void)upb_Encode(msg, &validate_FloatRules_msginit, 0, arena, &ptr, len);
670
+ return ptr;
512
671
  }
513
672
  UPB_INLINE char* validate_FloatRules_serialize_ex(const validate_FloatRules* msg, int options,
514
673
  upb_Arena* arena, size_t* len) {
515
- return upb_Encode(msg, &validate_FloatRules_msginit, options, arena, len);
674
+ char* ptr;
675
+ (void)upb_Encode(msg, &validate_FloatRules_msginit, options, arena, &ptr, len);
676
+ return ptr;
677
+ }
678
+ UPB_INLINE bool validate_FloatRules_has_const(const validate_FloatRules* msg) {
679
+ return _upb_hasbit(msg, 1);
680
+ }
681
+ UPB_INLINE void validate_FloatRules_clear_const(const validate_FloatRules* msg) {
682
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), float) = 0;
683
+ _upb_clearhas(msg, 1);
516
684
  }
517
- UPB_INLINE bool validate_FloatRules_has_const(const validate_FloatRules *msg) { return _upb_hasbit(msg, 1); }
518
685
  UPB_INLINE float validate_FloatRules_const(const validate_FloatRules* msg) {
519
686
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), float);
520
687
  }
521
- UPB_INLINE bool validate_FloatRules_has_lt(const validate_FloatRules *msg) { return _upb_hasbit(msg, 2); }
688
+ UPB_INLINE bool validate_FloatRules_has_lt(const validate_FloatRules* msg) {
689
+ return _upb_hasbit(msg, 2);
690
+ }
691
+ UPB_INLINE void validate_FloatRules_clear_lt(const validate_FloatRules* msg) {
692
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), float) = 0;
693
+ _upb_clearhas(msg, 2);
694
+ }
522
695
  UPB_INLINE float validate_FloatRules_lt(const validate_FloatRules* msg) {
523
696
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), float);
524
697
  }
525
- UPB_INLINE bool validate_FloatRules_has_lte(const validate_FloatRules *msg) { return _upb_hasbit(msg, 3); }
698
+ UPB_INLINE bool validate_FloatRules_has_lte(const validate_FloatRules* msg) {
699
+ return _upb_hasbit(msg, 3);
700
+ }
701
+ UPB_INLINE void validate_FloatRules_clear_lte(const validate_FloatRules* msg) {
702
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), float) = 0;
703
+ _upb_clearhas(msg, 3);
704
+ }
526
705
  UPB_INLINE float validate_FloatRules_lte(const validate_FloatRules* msg) {
527
706
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), float);
528
707
  }
529
- UPB_INLINE bool validate_FloatRules_has_gt(const validate_FloatRules *msg) { return _upb_hasbit(msg, 4); }
708
+ UPB_INLINE bool validate_FloatRules_has_gt(const validate_FloatRules* msg) {
709
+ return _upb_hasbit(msg, 4);
710
+ }
711
+ UPB_INLINE void validate_FloatRules_clear_gt(const validate_FloatRules* msg) {
712
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), float) = 0;
713
+ _upb_clearhas(msg, 4);
714
+ }
530
715
  UPB_INLINE float validate_FloatRules_gt(const validate_FloatRules* msg) {
531
716
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), float);
532
717
  }
533
- UPB_INLINE bool validate_FloatRules_has_gte(const validate_FloatRules *msg) { return _upb_hasbit(msg, 5); }
718
+ UPB_INLINE bool validate_FloatRules_has_gte(const validate_FloatRules* msg) {
719
+ return _upb_hasbit(msg, 5);
720
+ }
721
+ UPB_INLINE void validate_FloatRules_clear_gte(const validate_FloatRules* msg) {
722
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), float) = 0;
723
+ _upb_clearhas(msg, 5);
724
+ }
534
725
  UPB_INLINE float validate_FloatRules_gte(const validate_FloatRules* msg) {
535
726
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), float);
536
727
  }
537
- UPB_INLINE float const* validate_FloatRules_in(const validate_FloatRules *msg, size_t *len) { return (float const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
538
- UPB_INLINE float const* validate_FloatRules_not_in(const validate_FloatRules *msg, size_t *len) { return (float const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
539
- UPB_INLINE bool validate_FloatRules_has_ignore_empty(const validate_FloatRules *msg) { return _upb_hasbit(msg, 6); }
728
+ UPB_INLINE void validate_FloatRules_clear_in(const validate_FloatRules* msg) {
729
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
730
+ }
731
+ UPB_INLINE float const* validate_FloatRules_in(const validate_FloatRules* msg, size_t* len) {
732
+ return (float const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
733
+ }
734
+ UPB_INLINE void validate_FloatRules_clear_not_in(const validate_FloatRules* msg) {
735
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
736
+ }
737
+ UPB_INLINE float const* validate_FloatRules_not_in(const validate_FloatRules* msg, size_t* len) {
738
+ return (float const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
739
+ }
740
+ UPB_INLINE bool validate_FloatRules_has_ignore_empty(const validate_FloatRules* msg) {
741
+ return _upb_hasbit(msg, 6);
742
+ }
743
+ UPB_INLINE void validate_FloatRules_clear_ignore_empty(const validate_FloatRules* msg) {
744
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
745
+ _upb_clearhas(msg, 6);
746
+ }
540
747
  UPB_INLINE bool validate_FloatRules_ignore_empty(const validate_FloatRules* msg) {
541
748
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
542
749
  }
@@ -561,25 +768,23 @@ UPB_INLINE void validate_FloatRules_set_gte(validate_FloatRules *msg, float valu
561
768
  _upb_sethas(msg, 5);
562
769
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), float) = value;
563
770
  }
564
- UPB_INLINE float* validate_FloatRules_mutable_in(validate_FloatRules *msg, size_t *len) {
771
+ UPB_INLINE float* validate_FloatRules_mutable_in(validate_FloatRules* msg, size_t* len) {
565
772
  return (float*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
566
773
  }
567
- UPB_INLINE float* validate_FloatRules_resize_in(validate_FloatRules *msg, size_t len, upb_Arena *arena) {
774
+ UPB_INLINE float* validate_FloatRules_resize_in(validate_FloatRules* msg, size_t len, upb_Arena* arena) {
568
775
  return (float*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
569
776
  }
570
- UPB_INLINE bool validate_FloatRules_add_in(validate_FloatRules *msg, float val, upb_Arena *arena) {
571
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
572
- arena);
777
+ UPB_INLINE bool validate_FloatRules_add_in(validate_FloatRules* msg, float val, upb_Arena* arena) {
778
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
573
779
  }
574
- UPB_INLINE float* validate_FloatRules_mutable_not_in(validate_FloatRules *msg, size_t *len) {
780
+ UPB_INLINE float* validate_FloatRules_mutable_not_in(validate_FloatRules* msg, size_t* len) {
575
781
  return (float*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
576
782
  }
577
- UPB_INLINE float* validate_FloatRules_resize_not_in(validate_FloatRules *msg, size_t len, upb_Arena *arena) {
783
+ UPB_INLINE float* validate_FloatRules_resize_not_in(validate_FloatRules* msg, size_t len, upb_Arena* arena) {
578
784
  return (float*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
579
785
  }
580
- UPB_INLINE bool validate_FloatRules_add_not_in(validate_FloatRules *msg, float val, upb_Arena *arena) {
581
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
582
- arena);
786
+ UPB_INLINE bool validate_FloatRules_add_not_in(validate_FloatRules* msg, float val, upb_Arena* arena) {
787
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
583
788
  }
584
789
  UPB_INLINE void validate_FloatRules_set_ignore_empty(validate_FloatRules *msg, bool value) {
585
790
  _upb_sethas(msg, 6);
@@ -611,82 +816,130 @@ UPB_INLINE validate_DoubleRules* validate_DoubleRules_parse_ex(const char* buf,
611
816
  return ret;
612
817
  }
613
818
  UPB_INLINE char* validate_DoubleRules_serialize(const validate_DoubleRules* msg, upb_Arena* arena, size_t* len) {
614
- return upb_Encode(msg, &validate_DoubleRules_msginit, 0, arena, len);
819
+ char* ptr;
820
+ (void)upb_Encode(msg, &validate_DoubleRules_msginit, 0, arena, &ptr, len);
821
+ return ptr;
615
822
  }
616
823
  UPB_INLINE char* validate_DoubleRules_serialize_ex(const validate_DoubleRules* msg, int options,
617
824
  upb_Arena* arena, size_t* len) {
618
- return upb_Encode(msg, &validate_DoubleRules_msginit, options, arena, len);
825
+ char* ptr;
826
+ (void)upb_Encode(msg, &validate_DoubleRules_msginit, options, arena, &ptr, len);
827
+ return ptr;
828
+ }
829
+ UPB_INLINE bool validate_DoubleRules_has_const(const validate_DoubleRules* msg) {
830
+ return _upb_hasbit(msg, 1);
831
+ }
832
+ UPB_INLINE void validate_DoubleRules_clear_const(const validate_DoubleRules* msg) {
833
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), double) = 0;
834
+ _upb_clearhas(msg, 1);
619
835
  }
620
- UPB_INLINE bool validate_DoubleRules_has_const(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 1); }
621
836
  UPB_INLINE double validate_DoubleRules_const(const validate_DoubleRules* msg) {
622
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), double);
837
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), double);
838
+ }
839
+ UPB_INLINE bool validate_DoubleRules_has_lt(const validate_DoubleRules* msg) {
840
+ return _upb_hasbit(msg, 2);
841
+ }
842
+ UPB_INLINE void validate_DoubleRules_clear_lt(const validate_DoubleRules* msg) {
843
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), double) = 0;
844
+ _upb_clearhas(msg, 2);
623
845
  }
624
- UPB_INLINE bool validate_DoubleRules_has_lt(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 2); }
625
846
  UPB_INLINE double validate_DoubleRules_lt(const validate_DoubleRules* msg) {
626
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), double);
847
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), double);
848
+ }
849
+ UPB_INLINE bool validate_DoubleRules_has_lte(const validate_DoubleRules* msg) {
850
+ return _upb_hasbit(msg, 3);
851
+ }
852
+ UPB_INLINE void validate_DoubleRules_clear_lte(const validate_DoubleRules* msg) {
853
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), double) = 0;
854
+ _upb_clearhas(msg, 3);
627
855
  }
628
- UPB_INLINE bool validate_DoubleRules_has_lte(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 3); }
629
856
  UPB_INLINE double validate_DoubleRules_lte(const validate_DoubleRules* msg) {
630
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), double);
857
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), double);
858
+ }
859
+ UPB_INLINE bool validate_DoubleRules_has_gt(const validate_DoubleRules* msg) {
860
+ return _upb_hasbit(msg, 4);
861
+ }
862
+ UPB_INLINE void validate_DoubleRules_clear_gt(const validate_DoubleRules* msg) {
863
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), double) = 0;
864
+ _upb_clearhas(msg, 4);
631
865
  }
632
- UPB_INLINE bool validate_DoubleRules_has_gt(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 4); }
633
866
  UPB_INLINE double validate_DoubleRules_gt(const validate_DoubleRules* msg) {
634
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), double);
867
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), double);
868
+ }
869
+ UPB_INLINE bool validate_DoubleRules_has_gte(const validate_DoubleRules* msg) {
870
+ return _upb_hasbit(msg, 5);
871
+ }
872
+ UPB_INLINE void validate_DoubleRules_clear_gte(const validate_DoubleRules* msg) {
873
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), double) = 0;
874
+ _upb_clearhas(msg, 5);
635
875
  }
636
- UPB_INLINE bool validate_DoubleRules_has_gte(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 5); }
637
876
  UPB_INLINE double validate_DoubleRules_gte(const validate_DoubleRules* msg) {
638
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), double);
877
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), double);
878
+ }
879
+ UPB_INLINE void validate_DoubleRules_clear_in(const validate_DoubleRules* msg) {
880
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
881
+ }
882
+ UPB_INLINE double const* validate_DoubleRules_in(const validate_DoubleRules* msg, size_t* len) {
883
+ return (double const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
884
+ }
885
+ UPB_INLINE void validate_DoubleRules_clear_not_in(const validate_DoubleRules* msg) {
886
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
887
+ }
888
+ UPB_INLINE double const* validate_DoubleRules_not_in(const validate_DoubleRules* msg, size_t* len) {
889
+ return (double const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
890
+ }
891
+ UPB_INLINE bool validate_DoubleRules_has_ignore_empty(const validate_DoubleRules* msg) {
892
+ return _upb_hasbit(msg, 6);
893
+ }
894
+ UPB_INLINE void validate_DoubleRules_clear_ignore_empty(const validate_DoubleRules* msg) {
895
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
896
+ _upb_clearhas(msg, 6);
639
897
  }
640
- UPB_INLINE double const* validate_DoubleRules_in(const validate_DoubleRules *msg, size_t *len) { return (double const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
641
- UPB_INLINE double const* validate_DoubleRules_not_in(const validate_DoubleRules *msg, size_t *len) { return (double const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
642
- UPB_INLINE bool validate_DoubleRules_has_ignore_empty(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 6); }
643
898
  UPB_INLINE bool validate_DoubleRules_ignore_empty(const validate_DoubleRules* msg) {
644
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
899
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
645
900
  }
646
901
 
647
902
  UPB_INLINE void validate_DoubleRules_set_const(validate_DoubleRules *msg, double value) {
648
903
  _upb_sethas(msg, 1);
649
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), double) = value;
904
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), double) = value;
650
905
  }
651
906
  UPB_INLINE void validate_DoubleRules_set_lt(validate_DoubleRules *msg, double value) {
652
907
  _upb_sethas(msg, 2);
653
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), double) = value;
908
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), double) = value;
654
909
  }
655
910
  UPB_INLINE void validate_DoubleRules_set_lte(validate_DoubleRules *msg, double value) {
656
911
  _upb_sethas(msg, 3);
657
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), double) = value;
912
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), double) = value;
658
913
  }
659
914
  UPB_INLINE void validate_DoubleRules_set_gt(validate_DoubleRules *msg, double value) {
660
915
  _upb_sethas(msg, 4);
661
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), double) = value;
916
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), double) = value;
662
917
  }
663
918
  UPB_INLINE void validate_DoubleRules_set_gte(validate_DoubleRules *msg, double value) {
664
919
  _upb_sethas(msg, 5);
665
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), double) = value;
920
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), double) = value;
666
921
  }
667
- UPB_INLINE double* validate_DoubleRules_mutable_in(validate_DoubleRules *msg, size_t *len) {
668
- return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
922
+ UPB_INLINE double* validate_DoubleRules_mutable_in(validate_DoubleRules* msg, size_t* len) {
923
+ return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
669
924
  }
670
- UPB_INLINE double* validate_DoubleRules_resize_in(validate_DoubleRules *msg, size_t len, upb_Arena *arena) {
671
- return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
925
+ UPB_INLINE double* validate_DoubleRules_resize_in(validate_DoubleRules* msg, size_t len, upb_Arena* arena) {
926
+ return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
672
927
  }
673
- UPB_INLINE bool validate_DoubleRules_add_in(validate_DoubleRules *msg, double val, upb_Arena *arena) {
674
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
675
- arena);
928
+ UPB_INLINE bool validate_DoubleRules_add_in(validate_DoubleRules* msg, double val, upb_Arena* arena) {
929
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
676
930
  }
677
- UPB_INLINE double* validate_DoubleRules_mutable_not_in(validate_DoubleRules *msg, size_t *len) {
678
- return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
931
+ UPB_INLINE double* validate_DoubleRules_mutable_not_in(validate_DoubleRules* msg, size_t* len) {
932
+ return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
679
933
  }
680
- UPB_INLINE double* validate_DoubleRules_resize_not_in(validate_DoubleRules *msg, size_t len, upb_Arena *arena) {
681
- return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
934
+ UPB_INLINE double* validate_DoubleRules_resize_not_in(validate_DoubleRules* msg, size_t len, upb_Arena* arena) {
935
+ return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
682
936
  }
683
- UPB_INLINE bool validate_DoubleRules_add_not_in(validate_DoubleRules *msg, double val, upb_Arena *arena) {
684
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
685
- arena);
937
+ UPB_INLINE bool validate_DoubleRules_add_not_in(validate_DoubleRules* msg, double val, upb_Arena* arena) {
938
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
686
939
  }
687
940
  UPB_INLINE void validate_DoubleRules_set_ignore_empty(validate_DoubleRules *msg, bool value) {
688
941
  _upb_sethas(msg, 6);
689
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
942
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
690
943
  }
691
944
 
692
945
  /* validate.Int32Rules */
@@ -714,35 +967,85 @@ UPB_INLINE validate_Int32Rules* validate_Int32Rules_parse_ex(const char* buf, si
714
967
  return ret;
715
968
  }
716
969
  UPB_INLINE char* validate_Int32Rules_serialize(const validate_Int32Rules* msg, upb_Arena* arena, size_t* len) {
717
- return upb_Encode(msg, &validate_Int32Rules_msginit, 0, arena, len);
970
+ char* ptr;
971
+ (void)upb_Encode(msg, &validate_Int32Rules_msginit, 0, arena, &ptr, len);
972
+ return ptr;
718
973
  }
719
974
  UPB_INLINE char* validate_Int32Rules_serialize_ex(const validate_Int32Rules* msg, int options,
720
975
  upb_Arena* arena, size_t* len) {
721
- return upb_Encode(msg, &validate_Int32Rules_msginit, options, arena, len);
976
+ char* ptr;
977
+ (void)upb_Encode(msg, &validate_Int32Rules_msginit, options, arena, &ptr, len);
978
+ return ptr;
979
+ }
980
+ UPB_INLINE bool validate_Int32Rules_has_const(const validate_Int32Rules* msg) {
981
+ return _upb_hasbit(msg, 1);
982
+ }
983
+ UPB_INLINE void validate_Int32Rules_clear_const(const validate_Int32Rules* msg) {
984
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
985
+ _upb_clearhas(msg, 1);
722
986
  }
723
- UPB_INLINE bool validate_Int32Rules_has_const(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 1); }
724
987
  UPB_INLINE int32_t validate_Int32Rules_const(const validate_Int32Rules* msg) {
725
988
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
726
989
  }
727
- UPB_INLINE bool validate_Int32Rules_has_lt(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 2); }
990
+ UPB_INLINE bool validate_Int32Rules_has_lt(const validate_Int32Rules* msg) {
991
+ return _upb_hasbit(msg, 2);
992
+ }
993
+ UPB_INLINE void validate_Int32Rules_clear_lt(const validate_Int32Rules* msg) {
994
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = 0;
995
+ _upb_clearhas(msg, 2);
996
+ }
728
997
  UPB_INLINE int32_t validate_Int32Rules_lt(const validate_Int32Rules* msg) {
729
998
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t);
730
999
  }
731
- UPB_INLINE bool validate_Int32Rules_has_lte(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 3); }
1000
+ UPB_INLINE bool validate_Int32Rules_has_lte(const validate_Int32Rules* msg) {
1001
+ return _upb_hasbit(msg, 3);
1002
+ }
1003
+ UPB_INLINE void validate_Int32Rules_clear_lte(const validate_Int32Rules* msg) {
1004
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = 0;
1005
+ _upb_clearhas(msg, 3);
1006
+ }
732
1007
  UPB_INLINE int32_t validate_Int32Rules_lte(const validate_Int32Rules* msg) {
733
1008
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t);
734
1009
  }
735
- UPB_INLINE bool validate_Int32Rules_has_gt(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 4); }
1010
+ UPB_INLINE bool validate_Int32Rules_has_gt(const validate_Int32Rules* msg) {
1011
+ return _upb_hasbit(msg, 4);
1012
+ }
1013
+ UPB_INLINE void validate_Int32Rules_clear_gt(const validate_Int32Rules* msg) {
1014
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = 0;
1015
+ _upb_clearhas(msg, 4);
1016
+ }
736
1017
  UPB_INLINE int32_t validate_Int32Rules_gt(const validate_Int32Rules* msg) {
737
1018
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t);
738
1019
  }
739
- UPB_INLINE bool validate_Int32Rules_has_gte(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 5); }
1020
+ UPB_INLINE bool validate_Int32Rules_has_gte(const validate_Int32Rules* msg) {
1021
+ return _upb_hasbit(msg, 5);
1022
+ }
1023
+ UPB_INLINE void validate_Int32Rules_clear_gte(const validate_Int32Rules* msg) {
1024
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = 0;
1025
+ _upb_clearhas(msg, 5);
1026
+ }
740
1027
  UPB_INLINE int32_t validate_Int32Rules_gte(const validate_Int32Rules* msg) {
741
1028
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t);
742
1029
  }
743
- UPB_INLINE int32_t const* validate_Int32Rules_in(const validate_Int32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
744
- UPB_INLINE int32_t const* validate_Int32Rules_not_in(const validate_Int32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
745
- UPB_INLINE bool validate_Int32Rules_has_ignore_empty(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 6); }
1030
+ UPB_INLINE void validate_Int32Rules_clear_in(const validate_Int32Rules* msg) {
1031
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1032
+ }
1033
+ UPB_INLINE int32_t const* validate_Int32Rules_in(const validate_Int32Rules* msg, size_t* len) {
1034
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1035
+ }
1036
+ UPB_INLINE void validate_Int32Rules_clear_not_in(const validate_Int32Rules* msg) {
1037
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1038
+ }
1039
+ UPB_INLINE int32_t const* validate_Int32Rules_not_in(const validate_Int32Rules* msg, size_t* len) {
1040
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1041
+ }
1042
+ UPB_INLINE bool validate_Int32Rules_has_ignore_empty(const validate_Int32Rules* msg) {
1043
+ return _upb_hasbit(msg, 6);
1044
+ }
1045
+ UPB_INLINE void validate_Int32Rules_clear_ignore_empty(const validate_Int32Rules* msg) {
1046
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1047
+ _upb_clearhas(msg, 6);
1048
+ }
746
1049
  UPB_INLINE bool validate_Int32Rules_ignore_empty(const validate_Int32Rules* msg) {
747
1050
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
748
1051
  }
@@ -767,25 +1070,23 @@ UPB_INLINE void validate_Int32Rules_set_gte(validate_Int32Rules *msg, int32_t va
767
1070
  _upb_sethas(msg, 5);
768
1071
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = value;
769
1072
  }
770
- UPB_INLINE int32_t* validate_Int32Rules_mutable_in(validate_Int32Rules *msg, size_t *len) {
1073
+ UPB_INLINE int32_t* validate_Int32Rules_mutable_in(validate_Int32Rules* msg, size_t* len) {
771
1074
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
772
1075
  }
773
- UPB_INLINE int32_t* validate_Int32Rules_resize_in(validate_Int32Rules *msg, size_t len, upb_Arena *arena) {
1076
+ UPB_INLINE int32_t* validate_Int32Rules_resize_in(validate_Int32Rules* msg, size_t len, upb_Arena* arena) {
774
1077
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
775
1078
  }
776
- UPB_INLINE bool validate_Int32Rules_add_in(validate_Int32Rules *msg, int32_t val, upb_Arena *arena) {
777
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
778
- arena);
1079
+ UPB_INLINE bool validate_Int32Rules_add_in(validate_Int32Rules* msg, int32_t val, upb_Arena* arena) {
1080
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
779
1081
  }
780
- UPB_INLINE int32_t* validate_Int32Rules_mutable_not_in(validate_Int32Rules *msg, size_t *len) {
1082
+ UPB_INLINE int32_t* validate_Int32Rules_mutable_not_in(validate_Int32Rules* msg, size_t* len) {
781
1083
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
782
1084
  }
783
- UPB_INLINE int32_t* validate_Int32Rules_resize_not_in(validate_Int32Rules *msg, size_t len, upb_Arena *arena) {
1085
+ UPB_INLINE int32_t* validate_Int32Rules_resize_not_in(validate_Int32Rules* msg, size_t len, upb_Arena* arena) {
784
1086
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
785
1087
  }
786
- UPB_INLINE bool validate_Int32Rules_add_not_in(validate_Int32Rules *msg, int32_t val, upb_Arena *arena) {
787
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
788
- arena);
1088
+ UPB_INLINE bool validate_Int32Rules_add_not_in(validate_Int32Rules* msg, int32_t val, upb_Arena* arena) {
1089
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
789
1090
  }
790
1091
  UPB_INLINE void validate_Int32Rules_set_ignore_empty(validate_Int32Rules *msg, bool value) {
791
1092
  _upb_sethas(msg, 6);
@@ -817,82 +1118,130 @@ UPB_INLINE validate_Int64Rules* validate_Int64Rules_parse_ex(const char* buf, si
817
1118
  return ret;
818
1119
  }
819
1120
  UPB_INLINE char* validate_Int64Rules_serialize(const validate_Int64Rules* msg, upb_Arena* arena, size_t* len) {
820
- return upb_Encode(msg, &validate_Int64Rules_msginit, 0, arena, len);
1121
+ char* ptr;
1122
+ (void)upb_Encode(msg, &validate_Int64Rules_msginit, 0, arena, &ptr, len);
1123
+ return ptr;
821
1124
  }
822
1125
  UPB_INLINE char* validate_Int64Rules_serialize_ex(const validate_Int64Rules* msg, int options,
823
1126
  upb_Arena* arena, size_t* len) {
824
- return upb_Encode(msg, &validate_Int64Rules_msginit, options, arena, len);
1127
+ char* ptr;
1128
+ (void)upb_Encode(msg, &validate_Int64Rules_msginit, options, arena, &ptr, len);
1129
+ return ptr;
1130
+ }
1131
+ UPB_INLINE bool validate_Int64Rules_has_const(const validate_Int64Rules* msg) {
1132
+ return _upb_hasbit(msg, 1);
1133
+ }
1134
+ UPB_INLINE void validate_Int64Rules_clear_const(const validate_Int64Rules* msg) {
1135
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = 0;
1136
+ _upb_clearhas(msg, 1);
825
1137
  }
826
- UPB_INLINE bool validate_Int64Rules_has_const(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 1); }
827
1138
  UPB_INLINE int64_t validate_Int64Rules_const(const validate_Int64Rules* msg) {
828
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t);
1139
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t);
1140
+ }
1141
+ UPB_INLINE bool validate_Int64Rules_has_lt(const validate_Int64Rules* msg) {
1142
+ return _upb_hasbit(msg, 2);
1143
+ }
1144
+ UPB_INLINE void validate_Int64Rules_clear_lt(const validate_Int64Rules* msg) {
1145
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = 0;
1146
+ _upb_clearhas(msg, 2);
829
1147
  }
830
- UPB_INLINE bool validate_Int64Rules_has_lt(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 2); }
831
1148
  UPB_INLINE int64_t validate_Int64Rules_lt(const validate_Int64Rules* msg) {
832
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t);
1149
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t);
1150
+ }
1151
+ UPB_INLINE bool validate_Int64Rules_has_lte(const validate_Int64Rules* msg) {
1152
+ return _upb_hasbit(msg, 3);
1153
+ }
1154
+ UPB_INLINE void validate_Int64Rules_clear_lte(const validate_Int64Rules* msg) {
1155
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = 0;
1156
+ _upb_clearhas(msg, 3);
833
1157
  }
834
- UPB_INLINE bool validate_Int64Rules_has_lte(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 3); }
835
1158
  UPB_INLINE int64_t validate_Int64Rules_lte(const validate_Int64Rules* msg) {
836
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t);
1159
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t);
1160
+ }
1161
+ UPB_INLINE bool validate_Int64Rules_has_gt(const validate_Int64Rules* msg) {
1162
+ return _upb_hasbit(msg, 4);
1163
+ }
1164
+ UPB_INLINE void validate_Int64Rules_clear_gt(const validate_Int64Rules* msg) {
1165
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = 0;
1166
+ _upb_clearhas(msg, 4);
837
1167
  }
838
- UPB_INLINE bool validate_Int64Rules_has_gt(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 4); }
839
1168
  UPB_INLINE int64_t validate_Int64Rules_gt(const validate_Int64Rules* msg) {
840
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t);
1169
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t);
1170
+ }
1171
+ UPB_INLINE bool validate_Int64Rules_has_gte(const validate_Int64Rules* msg) {
1172
+ return _upb_hasbit(msg, 5);
1173
+ }
1174
+ UPB_INLINE void validate_Int64Rules_clear_gte(const validate_Int64Rules* msg) {
1175
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = 0;
1176
+ _upb_clearhas(msg, 5);
841
1177
  }
842
- UPB_INLINE bool validate_Int64Rules_has_gte(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 5); }
843
1178
  UPB_INLINE int64_t validate_Int64Rules_gte(const validate_Int64Rules* msg) {
844
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t);
1179
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t);
1180
+ }
1181
+ UPB_INLINE void validate_Int64Rules_clear_in(const validate_Int64Rules* msg) {
1182
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
1183
+ }
1184
+ UPB_INLINE int64_t const* validate_Int64Rules_in(const validate_Int64Rules* msg, size_t* len) {
1185
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
1186
+ }
1187
+ UPB_INLINE void validate_Int64Rules_clear_not_in(const validate_Int64Rules* msg) {
1188
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
1189
+ }
1190
+ UPB_INLINE int64_t const* validate_Int64Rules_not_in(const validate_Int64Rules* msg, size_t* len) {
1191
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
1192
+ }
1193
+ UPB_INLINE bool validate_Int64Rules_has_ignore_empty(const validate_Int64Rules* msg) {
1194
+ return _upb_hasbit(msg, 6);
1195
+ }
1196
+ UPB_INLINE void validate_Int64Rules_clear_ignore_empty(const validate_Int64Rules* msg) {
1197
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
1198
+ _upb_clearhas(msg, 6);
845
1199
  }
846
- UPB_INLINE int64_t const* validate_Int64Rules_in(const validate_Int64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
847
- UPB_INLINE int64_t const* validate_Int64Rules_not_in(const validate_Int64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
848
- UPB_INLINE bool validate_Int64Rules_has_ignore_empty(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 6); }
849
1200
  UPB_INLINE bool validate_Int64Rules_ignore_empty(const validate_Int64Rules* msg) {
850
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
1201
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
851
1202
  }
852
1203
 
853
1204
  UPB_INLINE void validate_Int64Rules_set_const(validate_Int64Rules *msg, int64_t value) {
854
1205
  _upb_sethas(msg, 1);
855
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
1206
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = value;
856
1207
  }
857
1208
  UPB_INLINE void validate_Int64Rules_set_lt(validate_Int64Rules *msg, int64_t value) {
858
1209
  _upb_sethas(msg, 2);
859
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t) = value;
1210
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = value;
860
1211
  }
861
1212
  UPB_INLINE void validate_Int64Rules_set_lte(validate_Int64Rules *msg, int64_t value) {
862
1213
  _upb_sethas(msg, 3);
863
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t) = value;
1214
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = value;
864
1215
  }
865
1216
  UPB_INLINE void validate_Int64Rules_set_gt(validate_Int64Rules *msg, int64_t value) {
866
1217
  _upb_sethas(msg, 4);
867
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t) = value;
1218
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = value;
868
1219
  }
869
1220
  UPB_INLINE void validate_Int64Rules_set_gte(validate_Int64Rules *msg, int64_t value) {
870
1221
  _upb_sethas(msg, 5);
871
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t) = value;
1222
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = value;
872
1223
  }
873
- UPB_INLINE int64_t* validate_Int64Rules_mutable_in(validate_Int64Rules *msg, size_t *len) {
874
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
1224
+ UPB_INLINE int64_t* validate_Int64Rules_mutable_in(validate_Int64Rules* msg, size_t* len) {
1225
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
875
1226
  }
876
- UPB_INLINE int64_t* validate_Int64Rules_resize_in(validate_Int64Rules *msg, size_t len, upb_Arena *arena) {
877
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
1227
+ UPB_INLINE int64_t* validate_Int64Rules_resize_in(validate_Int64Rules* msg, size_t len, upb_Arena* arena) {
1228
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
878
1229
  }
879
- UPB_INLINE bool validate_Int64Rules_add_in(validate_Int64Rules *msg, int64_t val, upb_Arena *arena) {
880
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
881
- arena);
1230
+ UPB_INLINE bool validate_Int64Rules_add_in(validate_Int64Rules* msg, int64_t val, upb_Arena* arena) {
1231
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
882
1232
  }
883
- UPB_INLINE int64_t* validate_Int64Rules_mutable_not_in(validate_Int64Rules *msg, size_t *len) {
884
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
1233
+ UPB_INLINE int64_t* validate_Int64Rules_mutable_not_in(validate_Int64Rules* msg, size_t* len) {
1234
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
885
1235
  }
886
- UPB_INLINE int64_t* validate_Int64Rules_resize_not_in(validate_Int64Rules *msg, size_t len, upb_Arena *arena) {
887
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
1236
+ UPB_INLINE int64_t* validate_Int64Rules_resize_not_in(validate_Int64Rules* msg, size_t len, upb_Arena* arena) {
1237
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
888
1238
  }
889
- UPB_INLINE bool validate_Int64Rules_add_not_in(validate_Int64Rules *msg, int64_t val, upb_Arena *arena) {
890
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
891
- arena);
1239
+ UPB_INLINE bool validate_Int64Rules_add_not_in(validate_Int64Rules* msg, int64_t val, upb_Arena* arena) {
1240
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
892
1241
  }
893
1242
  UPB_INLINE void validate_Int64Rules_set_ignore_empty(validate_Int64Rules *msg, bool value) {
894
1243
  _upb_sethas(msg, 6);
895
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
1244
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
896
1245
  }
897
1246
 
898
1247
  /* validate.UInt32Rules */
@@ -920,35 +1269,85 @@ UPB_INLINE validate_UInt32Rules* validate_UInt32Rules_parse_ex(const char* buf,
920
1269
  return ret;
921
1270
  }
922
1271
  UPB_INLINE char* validate_UInt32Rules_serialize(const validate_UInt32Rules* msg, upb_Arena* arena, size_t* len) {
923
- return upb_Encode(msg, &validate_UInt32Rules_msginit, 0, arena, len);
1272
+ char* ptr;
1273
+ (void)upb_Encode(msg, &validate_UInt32Rules_msginit, 0, arena, &ptr, len);
1274
+ return ptr;
924
1275
  }
925
1276
  UPB_INLINE char* validate_UInt32Rules_serialize_ex(const validate_UInt32Rules* msg, int options,
926
1277
  upb_Arena* arena, size_t* len) {
927
- return upb_Encode(msg, &validate_UInt32Rules_msginit, options, arena, len);
1278
+ char* ptr;
1279
+ (void)upb_Encode(msg, &validate_UInt32Rules_msginit, options, arena, &ptr, len);
1280
+ return ptr;
1281
+ }
1282
+ UPB_INLINE bool validate_UInt32Rules_has_const(const validate_UInt32Rules* msg) {
1283
+ return _upb_hasbit(msg, 1);
1284
+ }
1285
+ UPB_INLINE void validate_UInt32Rules_clear_const(const validate_UInt32Rules* msg) {
1286
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t) = 0;
1287
+ _upb_clearhas(msg, 1);
928
1288
  }
929
- UPB_INLINE bool validate_UInt32Rules_has_const(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 1); }
930
1289
  UPB_INLINE uint32_t validate_UInt32Rules_const(const validate_UInt32Rules* msg) {
931
1290
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t);
932
1291
  }
933
- UPB_INLINE bool validate_UInt32Rules_has_lt(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 2); }
1292
+ UPB_INLINE bool validate_UInt32Rules_has_lt(const validate_UInt32Rules* msg) {
1293
+ return _upb_hasbit(msg, 2);
1294
+ }
1295
+ UPB_INLINE void validate_UInt32Rules_clear_lt(const validate_UInt32Rules* msg) {
1296
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t) = 0;
1297
+ _upb_clearhas(msg, 2);
1298
+ }
934
1299
  UPB_INLINE uint32_t validate_UInt32Rules_lt(const validate_UInt32Rules* msg) {
935
1300
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t);
936
1301
  }
937
- UPB_INLINE bool validate_UInt32Rules_has_lte(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 3); }
1302
+ UPB_INLINE bool validate_UInt32Rules_has_lte(const validate_UInt32Rules* msg) {
1303
+ return _upb_hasbit(msg, 3);
1304
+ }
1305
+ UPB_INLINE void validate_UInt32Rules_clear_lte(const validate_UInt32Rules* msg) {
1306
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t) = 0;
1307
+ _upb_clearhas(msg, 3);
1308
+ }
938
1309
  UPB_INLINE uint32_t validate_UInt32Rules_lte(const validate_UInt32Rules* msg) {
939
1310
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t);
940
1311
  }
941
- UPB_INLINE bool validate_UInt32Rules_has_gt(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 4); }
1312
+ UPB_INLINE bool validate_UInt32Rules_has_gt(const validate_UInt32Rules* msg) {
1313
+ return _upb_hasbit(msg, 4);
1314
+ }
1315
+ UPB_INLINE void validate_UInt32Rules_clear_gt(const validate_UInt32Rules* msg) {
1316
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t) = 0;
1317
+ _upb_clearhas(msg, 4);
1318
+ }
942
1319
  UPB_INLINE uint32_t validate_UInt32Rules_gt(const validate_UInt32Rules* msg) {
943
1320
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t);
944
1321
  }
945
- UPB_INLINE bool validate_UInt32Rules_has_gte(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 5); }
1322
+ UPB_INLINE bool validate_UInt32Rules_has_gte(const validate_UInt32Rules* msg) {
1323
+ return _upb_hasbit(msg, 5);
1324
+ }
1325
+ UPB_INLINE void validate_UInt32Rules_clear_gte(const validate_UInt32Rules* msg) {
1326
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = 0;
1327
+ _upb_clearhas(msg, 5);
1328
+ }
946
1329
  UPB_INLINE uint32_t validate_UInt32Rules_gte(const validate_UInt32Rules* msg) {
947
1330
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t);
948
1331
  }
949
- UPB_INLINE uint32_t const* validate_UInt32Rules_in(const validate_UInt32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
950
- UPB_INLINE uint32_t const* validate_UInt32Rules_not_in(const validate_UInt32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
951
- UPB_INLINE bool validate_UInt32Rules_has_ignore_empty(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 6); }
1332
+ UPB_INLINE void validate_UInt32Rules_clear_in(const validate_UInt32Rules* msg) {
1333
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1334
+ }
1335
+ UPB_INLINE uint32_t const* validate_UInt32Rules_in(const validate_UInt32Rules* msg, size_t* len) {
1336
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1337
+ }
1338
+ UPB_INLINE void validate_UInt32Rules_clear_not_in(const validate_UInt32Rules* msg) {
1339
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1340
+ }
1341
+ UPB_INLINE uint32_t const* validate_UInt32Rules_not_in(const validate_UInt32Rules* msg, size_t* len) {
1342
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1343
+ }
1344
+ UPB_INLINE bool validate_UInt32Rules_has_ignore_empty(const validate_UInt32Rules* msg) {
1345
+ return _upb_hasbit(msg, 6);
1346
+ }
1347
+ UPB_INLINE void validate_UInt32Rules_clear_ignore_empty(const validate_UInt32Rules* msg) {
1348
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1349
+ _upb_clearhas(msg, 6);
1350
+ }
952
1351
  UPB_INLINE bool validate_UInt32Rules_ignore_empty(const validate_UInt32Rules* msg) {
953
1352
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
954
1353
  }
@@ -973,25 +1372,23 @@ UPB_INLINE void validate_UInt32Rules_set_gte(validate_UInt32Rules *msg, uint32_t
973
1372
  _upb_sethas(msg, 5);
974
1373
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = value;
975
1374
  }
976
- UPB_INLINE uint32_t* validate_UInt32Rules_mutable_in(validate_UInt32Rules *msg, size_t *len) {
1375
+ UPB_INLINE uint32_t* validate_UInt32Rules_mutable_in(validate_UInt32Rules* msg, size_t* len) {
977
1376
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
978
1377
  }
979
- UPB_INLINE uint32_t* validate_UInt32Rules_resize_in(validate_UInt32Rules *msg, size_t len, upb_Arena *arena) {
1378
+ UPB_INLINE uint32_t* validate_UInt32Rules_resize_in(validate_UInt32Rules* msg, size_t len, upb_Arena* arena) {
980
1379
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
981
1380
  }
982
- UPB_INLINE bool validate_UInt32Rules_add_in(validate_UInt32Rules *msg, uint32_t val, upb_Arena *arena) {
983
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
984
- arena);
1381
+ UPB_INLINE bool validate_UInt32Rules_add_in(validate_UInt32Rules* msg, uint32_t val, upb_Arena* arena) {
1382
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
985
1383
  }
986
- UPB_INLINE uint32_t* validate_UInt32Rules_mutable_not_in(validate_UInt32Rules *msg, size_t *len) {
1384
+ UPB_INLINE uint32_t* validate_UInt32Rules_mutable_not_in(validate_UInt32Rules* msg, size_t* len) {
987
1385
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
988
1386
  }
989
- UPB_INLINE uint32_t* validate_UInt32Rules_resize_not_in(validate_UInt32Rules *msg, size_t len, upb_Arena *arena) {
1387
+ UPB_INLINE uint32_t* validate_UInt32Rules_resize_not_in(validate_UInt32Rules* msg, size_t len, upb_Arena* arena) {
990
1388
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
991
1389
  }
992
- UPB_INLINE bool validate_UInt32Rules_add_not_in(validate_UInt32Rules *msg, uint32_t val, upb_Arena *arena) {
993
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
994
- arena);
1390
+ UPB_INLINE bool validate_UInt32Rules_add_not_in(validate_UInt32Rules* msg, uint32_t val, upb_Arena* arena) {
1391
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
995
1392
  }
996
1393
  UPB_INLINE void validate_UInt32Rules_set_ignore_empty(validate_UInt32Rules *msg, bool value) {
997
1394
  _upb_sethas(msg, 6);
@@ -1023,82 +1420,130 @@ UPB_INLINE validate_UInt64Rules* validate_UInt64Rules_parse_ex(const char* buf,
1023
1420
  return ret;
1024
1421
  }
1025
1422
  UPB_INLINE char* validate_UInt64Rules_serialize(const validate_UInt64Rules* msg, upb_Arena* arena, size_t* len) {
1026
- return upb_Encode(msg, &validate_UInt64Rules_msginit, 0, arena, len);
1423
+ char* ptr;
1424
+ (void)upb_Encode(msg, &validate_UInt64Rules_msginit, 0, arena, &ptr, len);
1425
+ return ptr;
1027
1426
  }
1028
1427
  UPB_INLINE char* validate_UInt64Rules_serialize_ex(const validate_UInt64Rules* msg, int options,
1029
1428
  upb_Arena* arena, size_t* len) {
1030
- return upb_Encode(msg, &validate_UInt64Rules_msginit, options, arena, len);
1429
+ char* ptr;
1430
+ (void)upb_Encode(msg, &validate_UInt64Rules_msginit, options, arena, &ptr, len);
1431
+ return ptr;
1432
+ }
1433
+ UPB_INLINE bool validate_UInt64Rules_has_const(const validate_UInt64Rules* msg) {
1434
+ return _upb_hasbit(msg, 1);
1435
+ }
1436
+ UPB_INLINE void validate_UInt64Rules_clear_const(const validate_UInt64Rules* msg) {
1437
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
1438
+ _upb_clearhas(msg, 1);
1031
1439
  }
1032
- UPB_INLINE bool validate_UInt64Rules_has_const(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 1); }
1033
1440
  UPB_INLINE uint64_t validate_UInt64Rules_const(const validate_UInt64Rules* msg) {
1034
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
1441
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
1442
+ }
1443
+ UPB_INLINE bool validate_UInt64Rules_has_lt(const validate_UInt64Rules* msg) {
1444
+ return _upb_hasbit(msg, 2);
1445
+ }
1446
+ UPB_INLINE void validate_UInt64Rules_clear_lt(const validate_UInt64Rules* msg) {
1447
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = 0;
1448
+ _upb_clearhas(msg, 2);
1035
1449
  }
1036
- UPB_INLINE bool validate_UInt64Rules_has_lt(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 2); }
1037
1450
  UPB_INLINE uint64_t validate_UInt64Rules_lt(const validate_UInt64Rules* msg) {
1038
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
1451
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t);
1452
+ }
1453
+ UPB_INLINE bool validate_UInt64Rules_has_lte(const validate_UInt64Rules* msg) {
1454
+ return _upb_hasbit(msg, 3);
1455
+ }
1456
+ UPB_INLINE void validate_UInt64Rules_clear_lte(const validate_UInt64Rules* msg) {
1457
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = 0;
1458
+ _upb_clearhas(msg, 3);
1039
1459
  }
1040
- UPB_INLINE bool validate_UInt64Rules_has_lte(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 3); }
1041
1460
  UPB_INLINE uint64_t validate_UInt64Rules_lte(const validate_UInt64Rules* msg) {
1042
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
1461
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t);
1462
+ }
1463
+ UPB_INLINE bool validate_UInt64Rules_has_gt(const validate_UInt64Rules* msg) {
1464
+ return _upb_hasbit(msg, 4);
1465
+ }
1466
+ UPB_INLINE void validate_UInt64Rules_clear_gt(const validate_UInt64Rules* msg) {
1467
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = 0;
1468
+ _upb_clearhas(msg, 4);
1043
1469
  }
1044
- UPB_INLINE bool validate_UInt64Rules_has_gt(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 4); }
1045
1470
  UPB_INLINE uint64_t validate_UInt64Rules_gt(const validate_UInt64Rules* msg) {
1046
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t);
1471
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t);
1472
+ }
1473
+ UPB_INLINE bool validate_UInt64Rules_has_gte(const validate_UInt64Rules* msg) {
1474
+ return _upb_hasbit(msg, 5);
1475
+ }
1476
+ UPB_INLINE void validate_UInt64Rules_clear_gte(const validate_UInt64Rules* msg) {
1477
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = 0;
1478
+ _upb_clearhas(msg, 5);
1047
1479
  }
1048
- UPB_INLINE bool validate_UInt64Rules_has_gte(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 5); }
1049
1480
  UPB_INLINE uint64_t validate_UInt64Rules_gte(const validate_UInt64Rules* msg) {
1050
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t);
1481
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t);
1482
+ }
1483
+ UPB_INLINE void validate_UInt64Rules_clear_in(const validate_UInt64Rules* msg) {
1484
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
1485
+ }
1486
+ UPB_INLINE uint64_t const* validate_UInt64Rules_in(const validate_UInt64Rules* msg, size_t* len) {
1487
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
1488
+ }
1489
+ UPB_INLINE void validate_UInt64Rules_clear_not_in(const validate_UInt64Rules* msg) {
1490
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
1491
+ }
1492
+ UPB_INLINE uint64_t const* validate_UInt64Rules_not_in(const validate_UInt64Rules* msg, size_t* len) {
1493
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
1494
+ }
1495
+ UPB_INLINE bool validate_UInt64Rules_has_ignore_empty(const validate_UInt64Rules* msg) {
1496
+ return _upb_hasbit(msg, 6);
1497
+ }
1498
+ UPB_INLINE void validate_UInt64Rules_clear_ignore_empty(const validate_UInt64Rules* msg) {
1499
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
1500
+ _upb_clearhas(msg, 6);
1051
1501
  }
1052
- UPB_INLINE uint64_t const* validate_UInt64Rules_in(const validate_UInt64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1053
- UPB_INLINE uint64_t const* validate_UInt64Rules_not_in(const validate_UInt64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1054
- UPB_INLINE bool validate_UInt64Rules_has_ignore_empty(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 6); }
1055
1502
  UPB_INLINE bool validate_UInt64Rules_ignore_empty(const validate_UInt64Rules* msg) {
1056
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
1503
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1057
1504
  }
1058
1505
 
1059
1506
  UPB_INLINE void validate_UInt64Rules_set_const(validate_UInt64Rules *msg, uint64_t value) {
1060
1507
  _upb_sethas(msg, 1);
1061
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
1508
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
1062
1509
  }
1063
1510
  UPB_INLINE void validate_UInt64Rules_set_lt(validate_UInt64Rules *msg, uint64_t value) {
1064
1511
  _upb_sethas(msg, 2);
1065
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
1512
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = value;
1066
1513
  }
1067
1514
  UPB_INLINE void validate_UInt64Rules_set_lte(validate_UInt64Rules *msg, uint64_t value) {
1068
1515
  _upb_sethas(msg, 3);
1069
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
1516
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = value;
1070
1517
  }
1071
1518
  UPB_INLINE void validate_UInt64Rules_set_gt(validate_UInt64Rules *msg, uint64_t value) {
1072
1519
  _upb_sethas(msg, 4);
1073
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t) = value;
1520
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = value;
1074
1521
  }
1075
1522
  UPB_INLINE void validate_UInt64Rules_set_gte(validate_UInt64Rules *msg, uint64_t value) {
1076
1523
  _upb_sethas(msg, 5);
1077
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t) = value;
1524
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = value;
1078
1525
  }
1079
- UPB_INLINE uint64_t* validate_UInt64Rules_mutable_in(validate_UInt64Rules *msg, size_t *len) {
1080
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
1526
+ UPB_INLINE uint64_t* validate_UInt64Rules_mutable_in(validate_UInt64Rules* msg, size_t* len) {
1527
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1081
1528
  }
1082
- UPB_INLINE uint64_t* validate_UInt64Rules_resize_in(validate_UInt64Rules *msg, size_t len, upb_Arena *arena) {
1083
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
1529
+ UPB_INLINE uint64_t* validate_UInt64Rules_resize_in(validate_UInt64Rules* msg, size_t len, upb_Arena* arena) {
1530
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1084
1531
  }
1085
- UPB_INLINE bool validate_UInt64Rules_add_in(validate_UInt64Rules *msg, uint64_t val, upb_Arena *arena) {
1086
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1087
- arena);
1532
+ UPB_INLINE bool validate_UInt64Rules_add_in(validate_UInt64Rules* msg, uint64_t val, upb_Arena* arena) {
1533
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1088
1534
  }
1089
- UPB_INLINE uint64_t* validate_UInt64Rules_mutable_not_in(validate_UInt64Rules *msg, size_t *len) {
1090
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
1535
+ UPB_INLINE uint64_t* validate_UInt64Rules_mutable_not_in(validate_UInt64Rules* msg, size_t* len) {
1536
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1091
1537
  }
1092
- UPB_INLINE uint64_t* validate_UInt64Rules_resize_not_in(validate_UInt64Rules *msg, size_t len, upb_Arena *arena) {
1093
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
1538
+ UPB_INLINE uint64_t* validate_UInt64Rules_resize_not_in(validate_UInt64Rules* msg, size_t len, upb_Arena* arena) {
1539
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1094
1540
  }
1095
- UPB_INLINE bool validate_UInt64Rules_add_not_in(validate_UInt64Rules *msg, uint64_t val, upb_Arena *arena) {
1096
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1097
- arena);
1541
+ UPB_INLINE bool validate_UInt64Rules_add_not_in(validate_UInt64Rules* msg, uint64_t val, upb_Arena* arena) {
1542
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1098
1543
  }
1099
1544
  UPB_INLINE void validate_UInt64Rules_set_ignore_empty(validate_UInt64Rules *msg, bool value) {
1100
1545
  _upb_sethas(msg, 6);
1101
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
1546
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1102
1547
  }
1103
1548
 
1104
1549
  /* validate.SInt32Rules */
@@ -1126,35 +1571,85 @@ UPB_INLINE validate_SInt32Rules* validate_SInt32Rules_parse_ex(const char* buf,
1126
1571
  return ret;
1127
1572
  }
1128
1573
  UPB_INLINE char* validate_SInt32Rules_serialize(const validate_SInt32Rules* msg, upb_Arena* arena, size_t* len) {
1129
- return upb_Encode(msg, &validate_SInt32Rules_msginit, 0, arena, len);
1574
+ char* ptr;
1575
+ (void)upb_Encode(msg, &validate_SInt32Rules_msginit, 0, arena, &ptr, len);
1576
+ return ptr;
1130
1577
  }
1131
1578
  UPB_INLINE char* validate_SInt32Rules_serialize_ex(const validate_SInt32Rules* msg, int options,
1132
1579
  upb_Arena* arena, size_t* len) {
1133
- return upb_Encode(msg, &validate_SInt32Rules_msginit, options, arena, len);
1580
+ char* ptr;
1581
+ (void)upb_Encode(msg, &validate_SInt32Rules_msginit, options, arena, &ptr, len);
1582
+ return ptr;
1583
+ }
1584
+ UPB_INLINE bool validate_SInt32Rules_has_const(const validate_SInt32Rules* msg) {
1585
+ return _upb_hasbit(msg, 1);
1586
+ }
1587
+ UPB_INLINE void validate_SInt32Rules_clear_const(const validate_SInt32Rules* msg) {
1588
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
1589
+ _upb_clearhas(msg, 1);
1134
1590
  }
1135
- UPB_INLINE bool validate_SInt32Rules_has_const(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 1); }
1136
1591
  UPB_INLINE int32_t validate_SInt32Rules_const(const validate_SInt32Rules* msg) {
1137
1592
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
1138
1593
  }
1139
- UPB_INLINE bool validate_SInt32Rules_has_lt(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 2); }
1594
+ UPB_INLINE bool validate_SInt32Rules_has_lt(const validate_SInt32Rules* msg) {
1595
+ return _upb_hasbit(msg, 2);
1596
+ }
1597
+ UPB_INLINE void validate_SInt32Rules_clear_lt(const validate_SInt32Rules* msg) {
1598
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = 0;
1599
+ _upb_clearhas(msg, 2);
1600
+ }
1140
1601
  UPB_INLINE int32_t validate_SInt32Rules_lt(const validate_SInt32Rules* msg) {
1141
1602
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t);
1142
1603
  }
1143
- UPB_INLINE bool validate_SInt32Rules_has_lte(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 3); }
1604
+ UPB_INLINE bool validate_SInt32Rules_has_lte(const validate_SInt32Rules* msg) {
1605
+ return _upb_hasbit(msg, 3);
1606
+ }
1607
+ UPB_INLINE void validate_SInt32Rules_clear_lte(const validate_SInt32Rules* msg) {
1608
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = 0;
1609
+ _upb_clearhas(msg, 3);
1610
+ }
1144
1611
  UPB_INLINE int32_t validate_SInt32Rules_lte(const validate_SInt32Rules* msg) {
1145
1612
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t);
1146
1613
  }
1147
- UPB_INLINE bool validate_SInt32Rules_has_gt(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 4); }
1614
+ UPB_INLINE bool validate_SInt32Rules_has_gt(const validate_SInt32Rules* msg) {
1615
+ return _upb_hasbit(msg, 4);
1616
+ }
1617
+ UPB_INLINE void validate_SInt32Rules_clear_gt(const validate_SInt32Rules* msg) {
1618
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = 0;
1619
+ _upb_clearhas(msg, 4);
1620
+ }
1148
1621
  UPB_INLINE int32_t validate_SInt32Rules_gt(const validate_SInt32Rules* msg) {
1149
1622
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t);
1150
1623
  }
1151
- UPB_INLINE bool validate_SInt32Rules_has_gte(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 5); }
1624
+ UPB_INLINE bool validate_SInt32Rules_has_gte(const validate_SInt32Rules* msg) {
1625
+ return _upb_hasbit(msg, 5);
1626
+ }
1627
+ UPB_INLINE void validate_SInt32Rules_clear_gte(const validate_SInt32Rules* msg) {
1628
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = 0;
1629
+ _upb_clearhas(msg, 5);
1630
+ }
1152
1631
  UPB_INLINE int32_t validate_SInt32Rules_gte(const validate_SInt32Rules* msg) {
1153
1632
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t);
1154
1633
  }
1155
- UPB_INLINE int32_t const* validate_SInt32Rules_in(const validate_SInt32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
1156
- UPB_INLINE int32_t const* validate_SInt32Rules_not_in(const validate_SInt32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
1157
- UPB_INLINE bool validate_SInt32Rules_has_ignore_empty(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 6); }
1634
+ UPB_INLINE void validate_SInt32Rules_clear_in(const validate_SInt32Rules* msg) {
1635
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1636
+ }
1637
+ UPB_INLINE int32_t const* validate_SInt32Rules_in(const validate_SInt32Rules* msg, size_t* len) {
1638
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1639
+ }
1640
+ UPB_INLINE void validate_SInt32Rules_clear_not_in(const validate_SInt32Rules* msg) {
1641
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1642
+ }
1643
+ UPB_INLINE int32_t const* validate_SInt32Rules_not_in(const validate_SInt32Rules* msg, size_t* len) {
1644
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1645
+ }
1646
+ UPB_INLINE bool validate_SInt32Rules_has_ignore_empty(const validate_SInt32Rules* msg) {
1647
+ return _upb_hasbit(msg, 6);
1648
+ }
1649
+ UPB_INLINE void validate_SInt32Rules_clear_ignore_empty(const validate_SInt32Rules* msg) {
1650
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1651
+ _upb_clearhas(msg, 6);
1652
+ }
1158
1653
  UPB_INLINE bool validate_SInt32Rules_ignore_empty(const validate_SInt32Rules* msg) {
1159
1654
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
1160
1655
  }
@@ -1179,25 +1674,23 @@ UPB_INLINE void validate_SInt32Rules_set_gte(validate_SInt32Rules *msg, int32_t
1179
1674
  _upb_sethas(msg, 5);
1180
1675
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = value;
1181
1676
  }
1182
- UPB_INLINE int32_t* validate_SInt32Rules_mutable_in(validate_SInt32Rules *msg, size_t *len) {
1677
+ UPB_INLINE int32_t* validate_SInt32Rules_mutable_in(validate_SInt32Rules* msg, size_t* len) {
1183
1678
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
1184
1679
  }
1185
- UPB_INLINE int32_t* validate_SInt32Rules_resize_in(validate_SInt32Rules *msg, size_t len, upb_Arena *arena) {
1680
+ UPB_INLINE int32_t* validate_SInt32Rules_resize_in(validate_SInt32Rules* msg, size_t len, upb_Arena* arena) {
1186
1681
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
1187
1682
  }
1188
- UPB_INLINE bool validate_SInt32Rules_add_in(validate_SInt32Rules *msg, int32_t val, upb_Arena *arena) {
1189
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
1190
- arena);
1683
+ UPB_INLINE bool validate_SInt32Rules_add_in(validate_SInt32Rules* msg, int32_t val, upb_Arena* arena) {
1684
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
1191
1685
  }
1192
- UPB_INLINE int32_t* validate_SInt32Rules_mutable_not_in(validate_SInt32Rules *msg, size_t *len) {
1686
+ UPB_INLINE int32_t* validate_SInt32Rules_mutable_not_in(validate_SInt32Rules* msg, size_t* len) {
1193
1687
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
1194
1688
  }
1195
- UPB_INLINE int32_t* validate_SInt32Rules_resize_not_in(validate_SInt32Rules *msg, size_t len, upb_Arena *arena) {
1689
+ UPB_INLINE int32_t* validate_SInt32Rules_resize_not_in(validate_SInt32Rules* msg, size_t len, upb_Arena* arena) {
1196
1690
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
1197
1691
  }
1198
- UPB_INLINE bool validate_SInt32Rules_add_not_in(validate_SInt32Rules *msg, int32_t val, upb_Arena *arena) {
1199
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
1200
- arena);
1692
+ UPB_INLINE bool validate_SInt32Rules_add_not_in(validate_SInt32Rules* msg, int32_t val, upb_Arena* arena) {
1693
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
1201
1694
  }
1202
1695
  UPB_INLINE void validate_SInt32Rules_set_ignore_empty(validate_SInt32Rules *msg, bool value) {
1203
1696
  _upb_sethas(msg, 6);
@@ -1229,82 +1722,130 @@ UPB_INLINE validate_SInt64Rules* validate_SInt64Rules_parse_ex(const char* buf,
1229
1722
  return ret;
1230
1723
  }
1231
1724
  UPB_INLINE char* validate_SInt64Rules_serialize(const validate_SInt64Rules* msg, upb_Arena* arena, size_t* len) {
1232
- return upb_Encode(msg, &validate_SInt64Rules_msginit, 0, arena, len);
1725
+ char* ptr;
1726
+ (void)upb_Encode(msg, &validate_SInt64Rules_msginit, 0, arena, &ptr, len);
1727
+ return ptr;
1233
1728
  }
1234
1729
  UPB_INLINE char* validate_SInt64Rules_serialize_ex(const validate_SInt64Rules* msg, int options,
1235
1730
  upb_Arena* arena, size_t* len) {
1236
- return upb_Encode(msg, &validate_SInt64Rules_msginit, options, arena, len);
1731
+ char* ptr;
1732
+ (void)upb_Encode(msg, &validate_SInt64Rules_msginit, options, arena, &ptr, len);
1733
+ return ptr;
1734
+ }
1735
+ UPB_INLINE bool validate_SInt64Rules_has_const(const validate_SInt64Rules* msg) {
1736
+ return _upb_hasbit(msg, 1);
1737
+ }
1738
+ UPB_INLINE void validate_SInt64Rules_clear_const(const validate_SInt64Rules* msg) {
1739
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = 0;
1740
+ _upb_clearhas(msg, 1);
1237
1741
  }
1238
- UPB_INLINE bool validate_SInt64Rules_has_const(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 1); }
1239
1742
  UPB_INLINE int64_t validate_SInt64Rules_const(const validate_SInt64Rules* msg) {
1240
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t);
1743
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t);
1744
+ }
1745
+ UPB_INLINE bool validate_SInt64Rules_has_lt(const validate_SInt64Rules* msg) {
1746
+ return _upb_hasbit(msg, 2);
1747
+ }
1748
+ UPB_INLINE void validate_SInt64Rules_clear_lt(const validate_SInt64Rules* msg) {
1749
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = 0;
1750
+ _upb_clearhas(msg, 2);
1241
1751
  }
1242
- UPB_INLINE bool validate_SInt64Rules_has_lt(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 2); }
1243
1752
  UPB_INLINE int64_t validate_SInt64Rules_lt(const validate_SInt64Rules* msg) {
1244
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t);
1753
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t);
1754
+ }
1755
+ UPB_INLINE bool validate_SInt64Rules_has_lte(const validate_SInt64Rules* msg) {
1756
+ return _upb_hasbit(msg, 3);
1757
+ }
1758
+ UPB_INLINE void validate_SInt64Rules_clear_lte(const validate_SInt64Rules* msg) {
1759
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = 0;
1760
+ _upb_clearhas(msg, 3);
1245
1761
  }
1246
- UPB_INLINE bool validate_SInt64Rules_has_lte(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 3); }
1247
1762
  UPB_INLINE int64_t validate_SInt64Rules_lte(const validate_SInt64Rules* msg) {
1248
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t);
1763
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t);
1764
+ }
1765
+ UPB_INLINE bool validate_SInt64Rules_has_gt(const validate_SInt64Rules* msg) {
1766
+ return _upb_hasbit(msg, 4);
1767
+ }
1768
+ UPB_INLINE void validate_SInt64Rules_clear_gt(const validate_SInt64Rules* msg) {
1769
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = 0;
1770
+ _upb_clearhas(msg, 4);
1249
1771
  }
1250
- UPB_INLINE bool validate_SInt64Rules_has_gt(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 4); }
1251
1772
  UPB_INLINE int64_t validate_SInt64Rules_gt(const validate_SInt64Rules* msg) {
1252
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t);
1773
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t);
1774
+ }
1775
+ UPB_INLINE bool validate_SInt64Rules_has_gte(const validate_SInt64Rules* msg) {
1776
+ return _upb_hasbit(msg, 5);
1777
+ }
1778
+ UPB_INLINE void validate_SInt64Rules_clear_gte(const validate_SInt64Rules* msg) {
1779
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = 0;
1780
+ _upb_clearhas(msg, 5);
1253
1781
  }
1254
- UPB_INLINE bool validate_SInt64Rules_has_gte(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 5); }
1255
1782
  UPB_INLINE int64_t validate_SInt64Rules_gte(const validate_SInt64Rules* msg) {
1256
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t);
1783
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t);
1784
+ }
1785
+ UPB_INLINE void validate_SInt64Rules_clear_in(const validate_SInt64Rules* msg) {
1786
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
1787
+ }
1788
+ UPB_INLINE int64_t const* validate_SInt64Rules_in(const validate_SInt64Rules* msg, size_t* len) {
1789
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
1790
+ }
1791
+ UPB_INLINE void validate_SInt64Rules_clear_not_in(const validate_SInt64Rules* msg) {
1792
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
1793
+ }
1794
+ UPB_INLINE int64_t const* validate_SInt64Rules_not_in(const validate_SInt64Rules* msg, size_t* len) {
1795
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
1796
+ }
1797
+ UPB_INLINE bool validate_SInt64Rules_has_ignore_empty(const validate_SInt64Rules* msg) {
1798
+ return _upb_hasbit(msg, 6);
1799
+ }
1800
+ UPB_INLINE void validate_SInt64Rules_clear_ignore_empty(const validate_SInt64Rules* msg) {
1801
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
1802
+ _upb_clearhas(msg, 6);
1257
1803
  }
1258
- UPB_INLINE int64_t const* validate_SInt64Rules_in(const validate_SInt64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1259
- UPB_INLINE int64_t const* validate_SInt64Rules_not_in(const validate_SInt64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1260
- UPB_INLINE bool validate_SInt64Rules_has_ignore_empty(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 6); }
1261
1804
  UPB_INLINE bool validate_SInt64Rules_ignore_empty(const validate_SInt64Rules* msg) {
1262
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
1805
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1263
1806
  }
1264
1807
 
1265
1808
  UPB_INLINE void validate_SInt64Rules_set_const(validate_SInt64Rules *msg, int64_t value) {
1266
1809
  _upb_sethas(msg, 1);
1267
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
1810
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = value;
1268
1811
  }
1269
1812
  UPB_INLINE void validate_SInt64Rules_set_lt(validate_SInt64Rules *msg, int64_t value) {
1270
1813
  _upb_sethas(msg, 2);
1271
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t) = value;
1814
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = value;
1272
1815
  }
1273
1816
  UPB_INLINE void validate_SInt64Rules_set_lte(validate_SInt64Rules *msg, int64_t value) {
1274
1817
  _upb_sethas(msg, 3);
1275
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t) = value;
1818
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = value;
1276
1819
  }
1277
1820
  UPB_INLINE void validate_SInt64Rules_set_gt(validate_SInt64Rules *msg, int64_t value) {
1278
1821
  _upb_sethas(msg, 4);
1279
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t) = value;
1822
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = value;
1280
1823
  }
1281
1824
  UPB_INLINE void validate_SInt64Rules_set_gte(validate_SInt64Rules *msg, int64_t value) {
1282
1825
  _upb_sethas(msg, 5);
1283
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t) = value;
1826
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = value;
1284
1827
  }
1285
- UPB_INLINE int64_t* validate_SInt64Rules_mutable_in(validate_SInt64Rules *msg, size_t *len) {
1286
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
1828
+ UPB_INLINE int64_t* validate_SInt64Rules_mutable_in(validate_SInt64Rules* msg, size_t* len) {
1829
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1287
1830
  }
1288
- UPB_INLINE int64_t* validate_SInt64Rules_resize_in(validate_SInt64Rules *msg, size_t len, upb_Arena *arena) {
1289
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
1831
+ UPB_INLINE int64_t* validate_SInt64Rules_resize_in(validate_SInt64Rules* msg, size_t len, upb_Arena* arena) {
1832
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1290
1833
  }
1291
- UPB_INLINE bool validate_SInt64Rules_add_in(validate_SInt64Rules *msg, int64_t val, upb_Arena *arena) {
1292
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1293
- arena);
1834
+ UPB_INLINE bool validate_SInt64Rules_add_in(validate_SInt64Rules* msg, int64_t val, upb_Arena* arena) {
1835
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1294
1836
  }
1295
- UPB_INLINE int64_t* validate_SInt64Rules_mutable_not_in(validate_SInt64Rules *msg, size_t *len) {
1296
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
1837
+ UPB_INLINE int64_t* validate_SInt64Rules_mutable_not_in(validate_SInt64Rules* msg, size_t* len) {
1838
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1297
1839
  }
1298
- UPB_INLINE int64_t* validate_SInt64Rules_resize_not_in(validate_SInt64Rules *msg, size_t len, upb_Arena *arena) {
1299
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
1840
+ UPB_INLINE int64_t* validate_SInt64Rules_resize_not_in(validate_SInt64Rules* msg, size_t len, upb_Arena* arena) {
1841
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1300
1842
  }
1301
- UPB_INLINE bool validate_SInt64Rules_add_not_in(validate_SInt64Rules *msg, int64_t val, upb_Arena *arena) {
1302
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1303
- arena);
1843
+ UPB_INLINE bool validate_SInt64Rules_add_not_in(validate_SInt64Rules* msg, int64_t val, upb_Arena* arena) {
1844
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1304
1845
  }
1305
1846
  UPB_INLINE void validate_SInt64Rules_set_ignore_empty(validate_SInt64Rules *msg, bool value) {
1306
1847
  _upb_sethas(msg, 6);
1307
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
1848
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1308
1849
  }
1309
1850
 
1310
1851
  /* validate.Fixed32Rules */
@@ -1332,35 +1873,85 @@ UPB_INLINE validate_Fixed32Rules* validate_Fixed32Rules_parse_ex(const char* buf
1332
1873
  return ret;
1333
1874
  }
1334
1875
  UPB_INLINE char* validate_Fixed32Rules_serialize(const validate_Fixed32Rules* msg, upb_Arena* arena, size_t* len) {
1335
- return upb_Encode(msg, &validate_Fixed32Rules_msginit, 0, arena, len);
1876
+ char* ptr;
1877
+ (void)upb_Encode(msg, &validate_Fixed32Rules_msginit, 0, arena, &ptr, len);
1878
+ return ptr;
1336
1879
  }
1337
1880
  UPB_INLINE char* validate_Fixed32Rules_serialize_ex(const validate_Fixed32Rules* msg, int options,
1338
1881
  upb_Arena* arena, size_t* len) {
1339
- return upb_Encode(msg, &validate_Fixed32Rules_msginit, options, arena, len);
1882
+ char* ptr;
1883
+ (void)upb_Encode(msg, &validate_Fixed32Rules_msginit, options, arena, &ptr, len);
1884
+ return ptr;
1885
+ }
1886
+ UPB_INLINE bool validate_Fixed32Rules_has_const(const validate_Fixed32Rules* msg) {
1887
+ return _upb_hasbit(msg, 1);
1888
+ }
1889
+ UPB_INLINE void validate_Fixed32Rules_clear_const(const validate_Fixed32Rules* msg) {
1890
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t) = 0;
1891
+ _upb_clearhas(msg, 1);
1340
1892
  }
1341
- UPB_INLINE bool validate_Fixed32Rules_has_const(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 1); }
1342
1893
  UPB_INLINE uint32_t validate_Fixed32Rules_const(const validate_Fixed32Rules* msg) {
1343
1894
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t);
1344
1895
  }
1345
- UPB_INLINE bool validate_Fixed32Rules_has_lt(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 2); }
1896
+ UPB_INLINE bool validate_Fixed32Rules_has_lt(const validate_Fixed32Rules* msg) {
1897
+ return _upb_hasbit(msg, 2);
1898
+ }
1899
+ UPB_INLINE void validate_Fixed32Rules_clear_lt(const validate_Fixed32Rules* msg) {
1900
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t) = 0;
1901
+ _upb_clearhas(msg, 2);
1902
+ }
1346
1903
  UPB_INLINE uint32_t validate_Fixed32Rules_lt(const validate_Fixed32Rules* msg) {
1347
1904
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t);
1348
1905
  }
1349
- UPB_INLINE bool validate_Fixed32Rules_has_lte(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 3); }
1906
+ UPB_INLINE bool validate_Fixed32Rules_has_lte(const validate_Fixed32Rules* msg) {
1907
+ return _upb_hasbit(msg, 3);
1908
+ }
1909
+ UPB_INLINE void validate_Fixed32Rules_clear_lte(const validate_Fixed32Rules* msg) {
1910
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t) = 0;
1911
+ _upb_clearhas(msg, 3);
1912
+ }
1350
1913
  UPB_INLINE uint32_t validate_Fixed32Rules_lte(const validate_Fixed32Rules* msg) {
1351
1914
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t);
1352
1915
  }
1353
- UPB_INLINE bool validate_Fixed32Rules_has_gt(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 4); }
1916
+ UPB_INLINE bool validate_Fixed32Rules_has_gt(const validate_Fixed32Rules* msg) {
1917
+ return _upb_hasbit(msg, 4);
1918
+ }
1919
+ UPB_INLINE void validate_Fixed32Rules_clear_gt(const validate_Fixed32Rules* msg) {
1920
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t) = 0;
1921
+ _upb_clearhas(msg, 4);
1922
+ }
1354
1923
  UPB_INLINE uint32_t validate_Fixed32Rules_gt(const validate_Fixed32Rules* msg) {
1355
1924
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t);
1356
1925
  }
1357
- UPB_INLINE bool validate_Fixed32Rules_has_gte(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 5); }
1926
+ UPB_INLINE bool validate_Fixed32Rules_has_gte(const validate_Fixed32Rules* msg) {
1927
+ return _upb_hasbit(msg, 5);
1928
+ }
1929
+ UPB_INLINE void validate_Fixed32Rules_clear_gte(const validate_Fixed32Rules* msg) {
1930
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = 0;
1931
+ _upb_clearhas(msg, 5);
1932
+ }
1358
1933
  UPB_INLINE uint32_t validate_Fixed32Rules_gte(const validate_Fixed32Rules* msg) {
1359
1934
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t);
1360
1935
  }
1361
- UPB_INLINE uint32_t const* validate_Fixed32Rules_in(const validate_Fixed32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
1362
- UPB_INLINE uint32_t const* validate_Fixed32Rules_not_in(const validate_Fixed32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
1363
- UPB_INLINE bool validate_Fixed32Rules_has_ignore_empty(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 6); }
1936
+ UPB_INLINE void validate_Fixed32Rules_clear_in(const validate_Fixed32Rules* msg) {
1937
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1938
+ }
1939
+ UPB_INLINE uint32_t const* validate_Fixed32Rules_in(const validate_Fixed32Rules* msg, size_t* len) {
1940
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1941
+ }
1942
+ UPB_INLINE void validate_Fixed32Rules_clear_not_in(const validate_Fixed32Rules* msg) {
1943
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1944
+ }
1945
+ UPB_INLINE uint32_t const* validate_Fixed32Rules_not_in(const validate_Fixed32Rules* msg, size_t* len) {
1946
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1947
+ }
1948
+ UPB_INLINE bool validate_Fixed32Rules_has_ignore_empty(const validate_Fixed32Rules* msg) {
1949
+ return _upb_hasbit(msg, 6);
1950
+ }
1951
+ UPB_INLINE void validate_Fixed32Rules_clear_ignore_empty(const validate_Fixed32Rules* msg) {
1952
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1953
+ _upb_clearhas(msg, 6);
1954
+ }
1364
1955
  UPB_INLINE bool validate_Fixed32Rules_ignore_empty(const validate_Fixed32Rules* msg) {
1365
1956
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
1366
1957
  }
@@ -1385,25 +1976,23 @@ UPB_INLINE void validate_Fixed32Rules_set_gte(validate_Fixed32Rules *msg, uint32
1385
1976
  _upb_sethas(msg, 5);
1386
1977
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = value;
1387
1978
  }
1388
- UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_in(validate_Fixed32Rules *msg, size_t *len) {
1979
+ UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_in(validate_Fixed32Rules* msg, size_t* len) {
1389
1980
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
1390
1981
  }
1391
- UPB_INLINE uint32_t* validate_Fixed32Rules_resize_in(validate_Fixed32Rules *msg, size_t len, upb_Arena *arena) {
1982
+ UPB_INLINE uint32_t* validate_Fixed32Rules_resize_in(validate_Fixed32Rules* msg, size_t len, upb_Arena* arena) {
1392
1983
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
1393
1984
  }
1394
- UPB_INLINE bool validate_Fixed32Rules_add_in(validate_Fixed32Rules *msg, uint32_t val, upb_Arena *arena) {
1395
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
1396
- arena);
1985
+ UPB_INLINE bool validate_Fixed32Rules_add_in(validate_Fixed32Rules* msg, uint32_t val, upb_Arena* arena) {
1986
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
1397
1987
  }
1398
- UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_not_in(validate_Fixed32Rules *msg, size_t *len) {
1988
+ UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_not_in(validate_Fixed32Rules* msg, size_t* len) {
1399
1989
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
1400
1990
  }
1401
- UPB_INLINE uint32_t* validate_Fixed32Rules_resize_not_in(validate_Fixed32Rules *msg, size_t len, upb_Arena *arena) {
1991
+ UPB_INLINE uint32_t* validate_Fixed32Rules_resize_not_in(validate_Fixed32Rules* msg, size_t len, upb_Arena* arena) {
1402
1992
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
1403
1993
  }
1404
- UPB_INLINE bool validate_Fixed32Rules_add_not_in(validate_Fixed32Rules *msg, uint32_t val, upb_Arena *arena) {
1405
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
1406
- arena);
1994
+ UPB_INLINE bool validate_Fixed32Rules_add_not_in(validate_Fixed32Rules* msg, uint32_t val, upb_Arena* arena) {
1995
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
1407
1996
  }
1408
1997
  UPB_INLINE void validate_Fixed32Rules_set_ignore_empty(validate_Fixed32Rules *msg, bool value) {
1409
1998
  _upb_sethas(msg, 6);
@@ -1435,82 +2024,130 @@ UPB_INLINE validate_Fixed64Rules* validate_Fixed64Rules_parse_ex(const char* buf
1435
2024
  return ret;
1436
2025
  }
1437
2026
  UPB_INLINE char* validate_Fixed64Rules_serialize(const validate_Fixed64Rules* msg, upb_Arena* arena, size_t* len) {
1438
- return upb_Encode(msg, &validate_Fixed64Rules_msginit, 0, arena, len);
2027
+ char* ptr;
2028
+ (void)upb_Encode(msg, &validate_Fixed64Rules_msginit, 0, arena, &ptr, len);
2029
+ return ptr;
1439
2030
  }
1440
2031
  UPB_INLINE char* validate_Fixed64Rules_serialize_ex(const validate_Fixed64Rules* msg, int options,
1441
2032
  upb_Arena* arena, size_t* len) {
1442
- return upb_Encode(msg, &validate_Fixed64Rules_msginit, options, arena, len);
2033
+ char* ptr;
2034
+ (void)upb_Encode(msg, &validate_Fixed64Rules_msginit, options, arena, &ptr, len);
2035
+ return ptr;
2036
+ }
2037
+ UPB_INLINE bool validate_Fixed64Rules_has_const(const validate_Fixed64Rules* msg) {
2038
+ return _upb_hasbit(msg, 1);
2039
+ }
2040
+ UPB_INLINE void validate_Fixed64Rules_clear_const(const validate_Fixed64Rules* msg) {
2041
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
2042
+ _upb_clearhas(msg, 1);
1443
2043
  }
1444
- UPB_INLINE bool validate_Fixed64Rules_has_const(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 1); }
1445
2044
  UPB_INLINE uint64_t validate_Fixed64Rules_const(const validate_Fixed64Rules* msg) {
1446
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
2045
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
2046
+ }
2047
+ UPB_INLINE bool validate_Fixed64Rules_has_lt(const validate_Fixed64Rules* msg) {
2048
+ return _upb_hasbit(msg, 2);
2049
+ }
2050
+ UPB_INLINE void validate_Fixed64Rules_clear_lt(const validate_Fixed64Rules* msg) {
2051
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = 0;
2052
+ _upb_clearhas(msg, 2);
1447
2053
  }
1448
- UPB_INLINE bool validate_Fixed64Rules_has_lt(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 2); }
1449
2054
  UPB_INLINE uint64_t validate_Fixed64Rules_lt(const validate_Fixed64Rules* msg) {
1450
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
2055
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t);
2056
+ }
2057
+ UPB_INLINE bool validate_Fixed64Rules_has_lte(const validate_Fixed64Rules* msg) {
2058
+ return _upb_hasbit(msg, 3);
2059
+ }
2060
+ UPB_INLINE void validate_Fixed64Rules_clear_lte(const validate_Fixed64Rules* msg) {
2061
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = 0;
2062
+ _upb_clearhas(msg, 3);
1451
2063
  }
1452
- UPB_INLINE bool validate_Fixed64Rules_has_lte(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 3); }
1453
2064
  UPB_INLINE uint64_t validate_Fixed64Rules_lte(const validate_Fixed64Rules* msg) {
1454
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
2065
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t);
2066
+ }
2067
+ UPB_INLINE bool validate_Fixed64Rules_has_gt(const validate_Fixed64Rules* msg) {
2068
+ return _upb_hasbit(msg, 4);
2069
+ }
2070
+ UPB_INLINE void validate_Fixed64Rules_clear_gt(const validate_Fixed64Rules* msg) {
2071
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = 0;
2072
+ _upb_clearhas(msg, 4);
1455
2073
  }
1456
- UPB_INLINE bool validate_Fixed64Rules_has_gt(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 4); }
1457
2074
  UPB_INLINE uint64_t validate_Fixed64Rules_gt(const validate_Fixed64Rules* msg) {
1458
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t);
2075
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t);
2076
+ }
2077
+ UPB_INLINE bool validate_Fixed64Rules_has_gte(const validate_Fixed64Rules* msg) {
2078
+ return _upb_hasbit(msg, 5);
2079
+ }
2080
+ UPB_INLINE void validate_Fixed64Rules_clear_gte(const validate_Fixed64Rules* msg) {
2081
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = 0;
2082
+ _upb_clearhas(msg, 5);
1459
2083
  }
1460
- UPB_INLINE bool validate_Fixed64Rules_has_gte(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 5); }
1461
2084
  UPB_INLINE uint64_t validate_Fixed64Rules_gte(const validate_Fixed64Rules* msg) {
1462
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t);
2085
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t);
2086
+ }
2087
+ UPB_INLINE void validate_Fixed64Rules_clear_in(const validate_Fixed64Rules* msg) {
2088
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
2089
+ }
2090
+ UPB_INLINE uint64_t const* validate_Fixed64Rules_in(const validate_Fixed64Rules* msg, size_t* len) {
2091
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
2092
+ }
2093
+ UPB_INLINE void validate_Fixed64Rules_clear_not_in(const validate_Fixed64Rules* msg) {
2094
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
2095
+ }
2096
+ UPB_INLINE uint64_t const* validate_Fixed64Rules_not_in(const validate_Fixed64Rules* msg, size_t* len) {
2097
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
2098
+ }
2099
+ UPB_INLINE bool validate_Fixed64Rules_has_ignore_empty(const validate_Fixed64Rules* msg) {
2100
+ return _upb_hasbit(msg, 6);
2101
+ }
2102
+ UPB_INLINE void validate_Fixed64Rules_clear_ignore_empty(const validate_Fixed64Rules* msg) {
2103
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
2104
+ _upb_clearhas(msg, 6);
1463
2105
  }
1464
- UPB_INLINE uint64_t const* validate_Fixed64Rules_in(const validate_Fixed64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1465
- UPB_INLINE uint64_t const* validate_Fixed64Rules_not_in(const validate_Fixed64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1466
- UPB_INLINE bool validate_Fixed64Rules_has_ignore_empty(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 6); }
1467
2106
  UPB_INLINE bool validate_Fixed64Rules_ignore_empty(const validate_Fixed64Rules* msg) {
1468
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
2107
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1469
2108
  }
1470
2109
 
1471
2110
  UPB_INLINE void validate_Fixed64Rules_set_const(validate_Fixed64Rules *msg, uint64_t value) {
1472
2111
  _upb_sethas(msg, 1);
1473
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
2112
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
1474
2113
  }
1475
2114
  UPB_INLINE void validate_Fixed64Rules_set_lt(validate_Fixed64Rules *msg, uint64_t value) {
1476
2115
  _upb_sethas(msg, 2);
1477
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
2116
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = value;
1478
2117
  }
1479
2118
  UPB_INLINE void validate_Fixed64Rules_set_lte(validate_Fixed64Rules *msg, uint64_t value) {
1480
2119
  _upb_sethas(msg, 3);
1481
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
2120
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = value;
1482
2121
  }
1483
2122
  UPB_INLINE void validate_Fixed64Rules_set_gt(validate_Fixed64Rules *msg, uint64_t value) {
1484
2123
  _upb_sethas(msg, 4);
1485
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t) = value;
2124
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = value;
1486
2125
  }
1487
2126
  UPB_INLINE void validate_Fixed64Rules_set_gte(validate_Fixed64Rules *msg, uint64_t value) {
1488
2127
  _upb_sethas(msg, 5);
1489
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t) = value;
2128
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = value;
1490
2129
  }
1491
- UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_in(validate_Fixed64Rules *msg, size_t *len) {
1492
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
2130
+ UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_in(validate_Fixed64Rules* msg, size_t* len) {
2131
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1493
2132
  }
1494
- UPB_INLINE uint64_t* validate_Fixed64Rules_resize_in(validate_Fixed64Rules *msg, size_t len, upb_Arena *arena) {
1495
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
2133
+ UPB_INLINE uint64_t* validate_Fixed64Rules_resize_in(validate_Fixed64Rules* msg, size_t len, upb_Arena* arena) {
2134
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1496
2135
  }
1497
- UPB_INLINE bool validate_Fixed64Rules_add_in(validate_Fixed64Rules *msg, uint64_t val, upb_Arena *arena) {
1498
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1499
- arena);
2136
+ UPB_INLINE bool validate_Fixed64Rules_add_in(validate_Fixed64Rules* msg, uint64_t val, upb_Arena* arena) {
2137
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1500
2138
  }
1501
- UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_not_in(validate_Fixed64Rules *msg, size_t *len) {
1502
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
2139
+ UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_not_in(validate_Fixed64Rules* msg, size_t* len) {
2140
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1503
2141
  }
1504
- UPB_INLINE uint64_t* validate_Fixed64Rules_resize_not_in(validate_Fixed64Rules *msg, size_t len, upb_Arena *arena) {
1505
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
2142
+ UPB_INLINE uint64_t* validate_Fixed64Rules_resize_not_in(validate_Fixed64Rules* msg, size_t len, upb_Arena* arena) {
2143
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1506
2144
  }
1507
- UPB_INLINE bool validate_Fixed64Rules_add_not_in(validate_Fixed64Rules *msg, uint64_t val, upb_Arena *arena) {
1508
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1509
- arena);
2145
+ UPB_INLINE bool validate_Fixed64Rules_add_not_in(validate_Fixed64Rules* msg, uint64_t val, upb_Arena* arena) {
2146
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1510
2147
  }
1511
2148
  UPB_INLINE void validate_Fixed64Rules_set_ignore_empty(validate_Fixed64Rules *msg, bool value) {
1512
2149
  _upb_sethas(msg, 6);
1513
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
2150
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1514
2151
  }
1515
2152
 
1516
2153
  /* validate.SFixed32Rules */
@@ -1538,35 +2175,85 @@ UPB_INLINE validate_SFixed32Rules* validate_SFixed32Rules_parse_ex(const char* b
1538
2175
  return ret;
1539
2176
  }
1540
2177
  UPB_INLINE char* validate_SFixed32Rules_serialize(const validate_SFixed32Rules* msg, upb_Arena* arena, size_t* len) {
1541
- return upb_Encode(msg, &validate_SFixed32Rules_msginit, 0, arena, len);
2178
+ char* ptr;
2179
+ (void)upb_Encode(msg, &validate_SFixed32Rules_msginit, 0, arena, &ptr, len);
2180
+ return ptr;
1542
2181
  }
1543
2182
  UPB_INLINE char* validate_SFixed32Rules_serialize_ex(const validate_SFixed32Rules* msg, int options,
1544
2183
  upb_Arena* arena, size_t* len) {
1545
- return upb_Encode(msg, &validate_SFixed32Rules_msginit, options, arena, len);
2184
+ char* ptr;
2185
+ (void)upb_Encode(msg, &validate_SFixed32Rules_msginit, options, arena, &ptr, len);
2186
+ return ptr;
2187
+ }
2188
+ UPB_INLINE bool validate_SFixed32Rules_has_const(const validate_SFixed32Rules* msg) {
2189
+ return _upb_hasbit(msg, 1);
2190
+ }
2191
+ UPB_INLINE void validate_SFixed32Rules_clear_const(const validate_SFixed32Rules* msg) {
2192
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
2193
+ _upb_clearhas(msg, 1);
1546
2194
  }
1547
- UPB_INLINE bool validate_SFixed32Rules_has_const(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 1); }
1548
2195
  UPB_INLINE int32_t validate_SFixed32Rules_const(const validate_SFixed32Rules* msg) {
1549
2196
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
1550
2197
  }
1551
- UPB_INLINE bool validate_SFixed32Rules_has_lt(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 2); }
2198
+ UPB_INLINE bool validate_SFixed32Rules_has_lt(const validate_SFixed32Rules* msg) {
2199
+ return _upb_hasbit(msg, 2);
2200
+ }
2201
+ UPB_INLINE void validate_SFixed32Rules_clear_lt(const validate_SFixed32Rules* msg) {
2202
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = 0;
2203
+ _upb_clearhas(msg, 2);
2204
+ }
1552
2205
  UPB_INLINE int32_t validate_SFixed32Rules_lt(const validate_SFixed32Rules* msg) {
1553
2206
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t);
1554
2207
  }
1555
- UPB_INLINE bool validate_SFixed32Rules_has_lte(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 3); }
2208
+ UPB_INLINE bool validate_SFixed32Rules_has_lte(const validate_SFixed32Rules* msg) {
2209
+ return _upb_hasbit(msg, 3);
2210
+ }
2211
+ UPB_INLINE void validate_SFixed32Rules_clear_lte(const validate_SFixed32Rules* msg) {
2212
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = 0;
2213
+ _upb_clearhas(msg, 3);
2214
+ }
1556
2215
  UPB_INLINE int32_t validate_SFixed32Rules_lte(const validate_SFixed32Rules* msg) {
1557
2216
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t);
1558
2217
  }
1559
- UPB_INLINE bool validate_SFixed32Rules_has_gt(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 4); }
2218
+ UPB_INLINE bool validate_SFixed32Rules_has_gt(const validate_SFixed32Rules* msg) {
2219
+ return _upb_hasbit(msg, 4);
2220
+ }
2221
+ UPB_INLINE void validate_SFixed32Rules_clear_gt(const validate_SFixed32Rules* msg) {
2222
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = 0;
2223
+ _upb_clearhas(msg, 4);
2224
+ }
1560
2225
  UPB_INLINE int32_t validate_SFixed32Rules_gt(const validate_SFixed32Rules* msg) {
1561
2226
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t);
1562
2227
  }
1563
- UPB_INLINE bool validate_SFixed32Rules_has_gte(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 5); }
2228
+ UPB_INLINE bool validate_SFixed32Rules_has_gte(const validate_SFixed32Rules* msg) {
2229
+ return _upb_hasbit(msg, 5);
2230
+ }
2231
+ UPB_INLINE void validate_SFixed32Rules_clear_gte(const validate_SFixed32Rules* msg) {
2232
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = 0;
2233
+ _upb_clearhas(msg, 5);
2234
+ }
1564
2235
  UPB_INLINE int32_t validate_SFixed32Rules_gte(const validate_SFixed32Rules* msg) {
1565
2236
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t);
1566
2237
  }
1567
- UPB_INLINE int32_t const* validate_SFixed32Rules_in(const validate_SFixed32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
1568
- UPB_INLINE int32_t const* validate_SFixed32Rules_not_in(const validate_SFixed32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
1569
- UPB_INLINE bool validate_SFixed32Rules_has_ignore_empty(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 6); }
2238
+ UPB_INLINE void validate_SFixed32Rules_clear_in(const validate_SFixed32Rules* msg) {
2239
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
2240
+ }
2241
+ UPB_INLINE int32_t const* validate_SFixed32Rules_in(const validate_SFixed32Rules* msg, size_t* len) {
2242
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
2243
+ }
2244
+ UPB_INLINE void validate_SFixed32Rules_clear_not_in(const validate_SFixed32Rules* msg) {
2245
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
2246
+ }
2247
+ UPB_INLINE int32_t const* validate_SFixed32Rules_not_in(const validate_SFixed32Rules* msg, size_t* len) {
2248
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
2249
+ }
2250
+ UPB_INLINE bool validate_SFixed32Rules_has_ignore_empty(const validate_SFixed32Rules* msg) {
2251
+ return _upb_hasbit(msg, 6);
2252
+ }
2253
+ UPB_INLINE void validate_SFixed32Rules_clear_ignore_empty(const validate_SFixed32Rules* msg) {
2254
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
2255
+ _upb_clearhas(msg, 6);
2256
+ }
1570
2257
  UPB_INLINE bool validate_SFixed32Rules_ignore_empty(const validate_SFixed32Rules* msg) {
1571
2258
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
1572
2259
  }
@@ -1591,25 +2278,23 @@ UPB_INLINE void validate_SFixed32Rules_set_gte(validate_SFixed32Rules *msg, int3
1591
2278
  _upb_sethas(msg, 5);
1592
2279
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = value;
1593
2280
  }
1594
- UPB_INLINE int32_t* validate_SFixed32Rules_mutable_in(validate_SFixed32Rules *msg, size_t *len) {
2281
+ UPB_INLINE int32_t* validate_SFixed32Rules_mutable_in(validate_SFixed32Rules* msg, size_t* len) {
1595
2282
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
1596
2283
  }
1597
- UPB_INLINE int32_t* validate_SFixed32Rules_resize_in(validate_SFixed32Rules *msg, size_t len, upb_Arena *arena) {
2284
+ UPB_INLINE int32_t* validate_SFixed32Rules_resize_in(validate_SFixed32Rules* msg, size_t len, upb_Arena* arena) {
1598
2285
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
1599
2286
  }
1600
- UPB_INLINE bool validate_SFixed32Rules_add_in(validate_SFixed32Rules *msg, int32_t val, upb_Arena *arena) {
1601
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
1602
- arena);
2287
+ UPB_INLINE bool validate_SFixed32Rules_add_in(validate_SFixed32Rules* msg, int32_t val, upb_Arena* arena) {
2288
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
1603
2289
  }
1604
- UPB_INLINE int32_t* validate_SFixed32Rules_mutable_not_in(validate_SFixed32Rules *msg, size_t *len) {
2290
+ UPB_INLINE int32_t* validate_SFixed32Rules_mutable_not_in(validate_SFixed32Rules* msg, size_t* len) {
1605
2291
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
1606
2292
  }
1607
- UPB_INLINE int32_t* validate_SFixed32Rules_resize_not_in(validate_SFixed32Rules *msg, size_t len, upb_Arena *arena) {
2293
+ UPB_INLINE int32_t* validate_SFixed32Rules_resize_not_in(validate_SFixed32Rules* msg, size_t len, upb_Arena* arena) {
1608
2294
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
1609
2295
  }
1610
- UPB_INLINE bool validate_SFixed32Rules_add_not_in(validate_SFixed32Rules *msg, int32_t val, upb_Arena *arena) {
1611
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
1612
- arena);
2296
+ UPB_INLINE bool validate_SFixed32Rules_add_not_in(validate_SFixed32Rules* msg, int32_t val, upb_Arena* arena) {
2297
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
1613
2298
  }
1614
2299
  UPB_INLINE void validate_SFixed32Rules_set_ignore_empty(validate_SFixed32Rules *msg, bool value) {
1615
2300
  _upb_sethas(msg, 6);
@@ -1641,82 +2326,130 @@ UPB_INLINE validate_SFixed64Rules* validate_SFixed64Rules_parse_ex(const char* b
1641
2326
  return ret;
1642
2327
  }
1643
2328
  UPB_INLINE char* validate_SFixed64Rules_serialize(const validate_SFixed64Rules* msg, upb_Arena* arena, size_t* len) {
1644
- return upb_Encode(msg, &validate_SFixed64Rules_msginit, 0, arena, len);
2329
+ char* ptr;
2330
+ (void)upb_Encode(msg, &validate_SFixed64Rules_msginit, 0, arena, &ptr, len);
2331
+ return ptr;
1645
2332
  }
1646
2333
  UPB_INLINE char* validate_SFixed64Rules_serialize_ex(const validate_SFixed64Rules* msg, int options,
1647
2334
  upb_Arena* arena, size_t* len) {
1648
- return upb_Encode(msg, &validate_SFixed64Rules_msginit, options, arena, len);
2335
+ char* ptr;
2336
+ (void)upb_Encode(msg, &validate_SFixed64Rules_msginit, options, arena, &ptr, len);
2337
+ return ptr;
2338
+ }
2339
+ UPB_INLINE bool validate_SFixed64Rules_has_const(const validate_SFixed64Rules* msg) {
2340
+ return _upb_hasbit(msg, 1);
2341
+ }
2342
+ UPB_INLINE void validate_SFixed64Rules_clear_const(const validate_SFixed64Rules* msg) {
2343
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = 0;
2344
+ _upb_clearhas(msg, 1);
1649
2345
  }
1650
- UPB_INLINE bool validate_SFixed64Rules_has_const(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 1); }
1651
2346
  UPB_INLINE int64_t validate_SFixed64Rules_const(const validate_SFixed64Rules* msg) {
1652
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t);
2347
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t);
2348
+ }
2349
+ UPB_INLINE bool validate_SFixed64Rules_has_lt(const validate_SFixed64Rules* msg) {
2350
+ return _upb_hasbit(msg, 2);
2351
+ }
2352
+ UPB_INLINE void validate_SFixed64Rules_clear_lt(const validate_SFixed64Rules* msg) {
2353
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = 0;
2354
+ _upb_clearhas(msg, 2);
1653
2355
  }
1654
- UPB_INLINE bool validate_SFixed64Rules_has_lt(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 2); }
1655
2356
  UPB_INLINE int64_t validate_SFixed64Rules_lt(const validate_SFixed64Rules* msg) {
1656
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t);
2357
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t);
2358
+ }
2359
+ UPB_INLINE bool validate_SFixed64Rules_has_lte(const validate_SFixed64Rules* msg) {
2360
+ return _upb_hasbit(msg, 3);
2361
+ }
2362
+ UPB_INLINE void validate_SFixed64Rules_clear_lte(const validate_SFixed64Rules* msg) {
2363
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = 0;
2364
+ _upb_clearhas(msg, 3);
1657
2365
  }
1658
- UPB_INLINE bool validate_SFixed64Rules_has_lte(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 3); }
1659
2366
  UPB_INLINE int64_t validate_SFixed64Rules_lte(const validate_SFixed64Rules* msg) {
1660
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t);
2367
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t);
2368
+ }
2369
+ UPB_INLINE bool validate_SFixed64Rules_has_gt(const validate_SFixed64Rules* msg) {
2370
+ return _upb_hasbit(msg, 4);
2371
+ }
2372
+ UPB_INLINE void validate_SFixed64Rules_clear_gt(const validate_SFixed64Rules* msg) {
2373
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = 0;
2374
+ _upb_clearhas(msg, 4);
1661
2375
  }
1662
- UPB_INLINE bool validate_SFixed64Rules_has_gt(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 4); }
1663
2376
  UPB_INLINE int64_t validate_SFixed64Rules_gt(const validate_SFixed64Rules* msg) {
1664
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t);
2377
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t);
2378
+ }
2379
+ UPB_INLINE bool validate_SFixed64Rules_has_gte(const validate_SFixed64Rules* msg) {
2380
+ return _upb_hasbit(msg, 5);
2381
+ }
2382
+ UPB_INLINE void validate_SFixed64Rules_clear_gte(const validate_SFixed64Rules* msg) {
2383
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = 0;
2384
+ _upb_clearhas(msg, 5);
1665
2385
  }
1666
- UPB_INLINE bool validate_SFixed64Rules_has_gte(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 5); }
1667
2386
  UPB_INLINE int64_t validate_SFixed64Rules_gte(const validate_SFixed64Rules* msg) {
1668
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t);
2387
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t);
2388
+ }
2389
+ UPB_INLINE void validate_SFixed64Rules_clear_in(const validate_SFixed64Rules* msg) {
2390
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
2391
+ }
2392
+ UPB_INLINE int64_t const* validate_SFixed64Rules_in(const validate_SFixed64Rules* msg, size_t* len) {
2393
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
2394
+ }
2395
+ UPB_INLINE void validate_SFixed64Rules_clear_not_in(const validate_SFixed64Rules* msg) {
2396
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
2397
+ }
2398
+ UPB_INLINE int64_t const* validate_SFixed64Rules_not_in(const validate_SFixed64Rules* msg, size_t* len) {
2399
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
2400
+ }
2401
+ UPB_INLINE bool validate_SFixed64Rules_has_ignore_empty(const validate_SFixed64Rules* msg) {
2402
+ return _upb_hasbit(msg, 6);
2403
+ }
2404
+ UPB_INLINE void validate_SFixed64Rules_clear_ignore_empty(const validate_SFixed64Rules* msg) {
2405
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
2406
+ _upb_clearhas(msg, 6);
1669
2407
  }
1670
- UPB_INLINE int64_t const* validate_SFixed64Rules_in(const validate_SFixed64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1671
- UPB_INLINE int64_t const* validate_SFixed64Rules_not_in(const validate_SFixed64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1672
- UPB_INLINE bool validate_SFixed64Rules_has_ignore_empty(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 6); }
1673
2408
  UPB_INLINE bool validate_SFixed64Rules_ignore_empty(const validate_SFixed64Rules* msg) {
1674
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
2409
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1675
2410
  }
1676
2411
 
1677
2412
  UPB_INLINE void validate_SFixed64Rules_set_const(validate_SFixed64Rules *msg, int64_t value) {
1678
2413
  _upb_sethas(msg, 1);
1679
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
2414
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = value;
1680
2415
  }
1681
2416
  UPB_INLINE void validate_SFixed64Rules_set_lt(validate_SFixed64Rules *msg, int64_t value) {
1682
2417
  _upb_sethas(msg, 2);
1683
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t) = value;
2418
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = value;
1684
2419
  }
1685
2420
  UPB_INLINE void validate_SFixed64Rules_set_lte(validate_SFixed64Rules *msg, int64_t value) {
1686
2421
  _upb_sethas(msg, 3);
1687
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t) = value;
2422
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = value;
1688
2423
  }
1689
2424
  UPB_INLINE void validate_SFixed64Rules_set_gt(validate_SFixed64Rules *msg, int64_t value) {
1690
2425
  _upb_sethas(msg, 4);
1691
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t) = value;
2426
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = value;
1692
2427
  }
1693
2428
  UPB_INLINE void validate_SFixed64Rules_set_gte(validate_SFixed64Rules *msg, int64_t value) {
1694
2429
  _upb_sethas(msg, 5);
1695
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t) = value;
2430
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = value;
1696
2431
  }
1697
- UPB_INLINE int64_t* validate_SFixed64Rules_mutable_in(validate_SFixed64Rules *msg, size_t *len) {
1698
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
2432
+ UPB_INLINE int64_t* validate_SFixed64Rules_mutable_in(validate_SFixed64Rules* msg, size_t* len) {
2433
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1699
2434
  }
1700
- UPB_INLINE int64_t* validate_SFixed64Rules_resize_in(validate_SFixed64Rules *msg, size_t len, upb_Arena *arena) {
1701
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
2435
+ UPB_INLINE int64_t* validate_SFixed64Rules_resize_in(validate_SFixed64Rules* msg, size_t len, upb_Arena* arena) {
2436
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1702
2437
  }
1703
- UPB_INLINE bool validate_SFixed64Rules_add_in(validate_SFixed64Rules *msg, int64_t val, upb_Arena *arena) {
1704
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1705
- arena);
2438
+ UPB_INLINE bool validate_SFixed64Rules_add_in(validate_SFixed64Rules* msg, int64_t val, upb_Arena* arena) {
2439
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1706
2440
  }
1707
- UPB_INLINE int64_t* validate_SFixed64Rules_mutable_not_in(validate_SFixed64Rules *msg, size_t *len) {
1708
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
2441
+ UPB_INLINE int64_t* validate_SFixed64Rules_mutable_not_in(validate_SFixed64Rules* msg, size_t* len) {
2442
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1709
2443
  }
1710
- UPB_INLINE int64_t* validate_SFixed64Rules_resize_not_in(validate_SFixed64Rules *msg, size_t len, upb_Arena *arena) {
1711
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
2444
+ UPB_INLINE int64_t* validate_SFixed64Rules_resize_not_in(validate_SFixed64Rules* msg, size_t len, upb_Arena* arena) {
2445
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1712
2446
  }
1713
- UPB_INLINE bool validate_SFixed64Rules_add_not_in(validate_SFixed64Rules *msg, int64_t val, upb_Arena *arena) {
1714
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1715
- arena);
2447
+ UPB_INLINE bool validate_SFixed64Rules_add_not_in(validate_SFixed64Rules* msg, int64_t val, upb_Arena* arena) {
2448
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1716
2449
  }
1717
2450
  UPB_INLINE void validate_SFixed64Rules_set_ignore_empty(validate_SFixed64Rules *msg, bool value) {
1718
2451
  _upb_sethas(msg, 6);
1719
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
2452
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1720
2453
  }
1721
2454
 
1722
2455
  /* validate.BoolRules */
@@ -1744,13 +2477,23 @@ UPB_INLINE validate_BoolRules* validate_BoolRules_parse_ex(const char* buf, size
1744
2477
  return ret;
1745
2478
  }
1746
2479
  UPB_INLINE char* validate_BoolRules_serialize(const validate_BoolRules* msg, upb_Arena* arena, size_t* len) {
1747
- return upb_Encode(msg, &validate_BoolRules_msginit, 0, arena, len);
2480
+ char* ptr;
2481
+ (void)upb_Encode(msg, &validate_BoolRules_msginit, 0, arena, &ptr, len);
2482
+ return ptr;
1748
2483
  }
1749
2484
  UPB_INLINE char* validate_BoolRules_serialize_ex(const validate_BoolRules* msg, int options,
1750
2485
  upb_Arena* arena, size_t* len) {
1751
- return upb_Encode(msg, &validate_BoolRules_msginit, options, arena, len);
2486
+ char* ptr;
2487
+ (void)upb_Encode(msg, &validate_BoolRules_msginit, options, arena, &ptr, len);
2488
+ return ptr;
2489
+ }
2490
+ UPB_INLINE bool validate_BoolRules_has_const(const validate_BoolRules* msg) {
2491
+ return _upb_hasbit(msg, 1);
2492
+ }
2493
+ UPB_INLINE void validate_BoolRules_clear_const(const validate_BoolRules* msg) {
2494
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
2495
+ _upb_clearhas(msg, 1);
1752
2496
  }
1753
- UPB_INLINE bool validate_BoolRules_has_const(const validate_BoolRules *msg) { return _upb_hasbit(msg, 1); }
1754
2497
  UPB_INLINE bool validate_BoolRules_const(const validate_BoolRules* msg) {
1755
2498
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1756
2499
  }
@@ -1785,11 +2528,15 @@ UPB_INLINE validate_StringRules* validate_StringRules_parse_ex(const char* buf,
1785
2528
  return ret;
1786
2529
  }
1787
2530
  UPB_INLINE char* validate_StringRules_serialize(const validate_StringRules* msg, upb_Arena* arena, size_t* len) {
1788
- return upb_Encode(msg, &validate_StringRules_msginit, 0, arena, len);
2531
+ char* ptr;
2532
+ (void)upb_Encode(msg, &validate_StringRules_msginit, 0, arena, &ptr, len);
2533
+ return ptr;
1789
2534
  }
1790
2535
  UPB_INLINE char* validate_StringRules_serialize_ex(const validate_StringRules* msg, int options,
1791
2536
  upb_Arena* arena, size_t* len) {
1792
- return upb_Encode(msg, &validate_StringRules_msginit, options, arena, len);
2537
+ char* ptr;
2538
+ (void)upb_Encode(msg, &validate_StringRules_msginit, options, arena, &ptr, len);
2539
+ return ptr;
1793
2540
  }
1794
2541
  typedef enum {
1795
2542
  validate_StringRules_well_known_email = 12,
@@ -1804,192 +2551,355 @@ typedef enum {
1804
2551
  validate_StringRules_well_known_well_known_regex = 24,
1805
2552
  validate_StringRules_well_known_NOT_SET = 0
1806
2553
  } validate_StringRules_well_known_oneofcases;
1807
- UPB_INLINE validate_StringRules_well_known_oneofcases validate_StringRules_well_known_case(const validate_StringRules* msg) { return (validate_StringRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(120, 180), int32_t); }
1808
-
1809
- UPB_INLINE bool validate_StringRules_has_const(const validate_StringRules *msg) { return _upb_hasbit(msg, 1); }
2554
+ UPB_INLINE validate_StringRules_well_known_oneofcases validate_StringRules_well_known_case(const validate_StringRules* msg) {
2555
+ return (validate_StringRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
2556
+ }
2557
+ UPB_INLINE bool validate_StringRules_has_const(const validate_StringRules* msg) {
2558
+ return _upb_hasbit(msg, 1);
2559
+ }
2560
+ UPB_INLINE void validate_StringRules_clear_const(const validate_StringRules* msg) {
2561
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2562
+ _upb_clearhas(msg, 1);
2563
+ }
1810
2564
  UPB_INLINE upb_StringView validate_StringRules_const(const validate_StringRules* msg) {
1811
- return *UPB_PTR_AT(msg, UPB_SIZE(60, 64), upb_StringView);
2565
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_StringView);
2566
+ }
2567
+ UPB_INLINE bool validate_StringRules_has_min_len(const validate_StringRules* msg) {
2568
+ return _upb_hasbit(msg, 2);
2569
+ }
2570
+ UPB_INLINE void validate_StringRules_clear_min_len(const validate_StringRules* msg) {
2571
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 128), uint64_t) = 0;
2572
+ _upb_clearhas(msg, 2);
1812
2573
  }
1813
- UPB_INLINE bool validate_StringRules_has_min_len(const validate_StringRules *msg) { return _upb_hasbit(msg, 2); }
1814
2574
  UPB_INLINE uint64_t validate_StringRules_min_len(const validate_StringRules* msg) {
1815
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
2575
+ return *UPB_PTR_AT(msg, UPB_SIZE(72, 128), uint64_t);
2576
+ }
2577
+ UPB_INLINE bool validate_StringRules_has_max_len(const validate_StringRules* msg) {
2578
+ return _upb_hasbit(msg, 3);
2579
+ }
2580
+ UPB_INLINE void validate_StringRules_clear_max_len(const validate_StringRules* msg) {
2581
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 136), uint64_t) = 0;
2582
+ _upb_clearhas(msg, 3);
1816
2583
  }
1817
- UPB_INLINE bool validate_StringRules_has_max_len(const validate_StringRules *msg) { return _upb_hasbit(msg, 3); }
1818
2584
  UPB_INLINE uint64_t validate_StringRules_max_len(const validate_StringRules* msg) {
1819
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
2585
+ return *UPB_PTR_AT(msg, UPB_SIZE(80, 136), uint64_t);
2586
+ }
2587
+ UPB_INLINE bool validate_StringRules_has_min_bytes(const validate_StringRules* msg) {
2588
+ return _upb_hasbit(msg, 4);
2589
+ }
2590
+ UPB_INLINE void validate_StringRules_clear_min_bytes(const validate_StringRules* msg) {
2591
+ *UPB_PTR_AT(msg, UPB_SIZE(88, 144), uint64_t) = 0;
2592
+ _upb_clearhas(msg, 4);
1820
2593
  }
1821
- UPB_INLINE bool validate_StringRules_has_min_bytes(const validate_StringRules *msg) { return _upb_hasbit(msg, 4); }
1822
2594
  UPB_INLINE uint64_t validate_StringRules_min_bytes(const validate_StringRules* msg) {
1823
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
2595
+ return *UPB_PTR_AT(msg, UPB_SIZE(88, 144), uint64_t);
2596
+ }
2597
+ UPB_INLINE bool validate_StringRules_has_max_bytes(const validate_StringRules* msg) {
2598
+ return _upb_hasbit(msg, 5);
2599
+ }
2600
+ UPB_INLINE void validate_StringRules_clear_max_bytes(const validate_StringRules* msg) {
2601
+ *UPB_PTR_AT(msg, UPB_SIZE(96, 152), uint64_t) = 0;
2602
+ _upb_clearhas(msg, 5);
1824
2603
  }
1825
- UPB_INLINE bool validate_StringRules_has_max_bytes(const validate_StringRules *msg) { return _upb_hasbit(msg, 5); }
1826
2604
  UPB_INLINE uint64_t validate_StringRules_max_bytes(const validate_StringRules* msg) {
1827
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t);
2605
+ return *UPB_PTR_AT(msg, UPB_SIZE(96, 152), uint64_t);
2606
+ }
2607
+ UPB_INLINE bool validate_StringRules_has_pattern(const validate_StringRules* msg) {
2608
+ return _upb_hasbit(msg, 6);
2609
+ }
2610
+ UPB_INLINE void validate_StringRules_clear_pattern(const validate_StringRules* msg) {
2611
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2612
+ _upb_clearhas(msg, 6);
1828
2613
  }
1829
- UPB_INLINE bool validate_StringRules_has_pattern(const validate_StringRules *msg) { return _upb_hasbit(msg, 6); }
1830
2614
  UPB_INLINE upb_StringView validate_StringRules_pattern(const validate_StringRules* msg) {
1831
- return *UPB_PTR_AT(msg, UPB_SIZE(68, 80), upb_StringView);
2615
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), upb_StringView);
2616
+ }
2617
+ UPB_INLINE bool validate_StringRules_has_prefix(const validate_StringRules* msg) {
2618
+ return _upb_hasbit(msg, 7);
2619
+ }
2620
+ UPB_INLINE void validate_StringRules_clear_prefix(const validate_StringRules* msg) {
2621
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 48), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2622
+ _upb_clearhas(msg, 7);
1832
2623
  }
1833
- UPB_INLINE bool validate_StringRules_has_prefix(const validate_StringRules *msg) { return _upb_hasbit(msg, 7); }
1834
2624
  UPB_INLINE upb_StringView validate_StringRules_prefix(const validate_StringRules* msg) {
1835
- return *UPB_PTR_AT(msg, UPB_SIZE(76, 96), upb_StringView);
2625
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 48), upb_StringView);
2626
+ }
2627
+ UPB_INLINE bool validate_StringRules_has_suffix(const validate_StringRules* msg) {
2628
+ return _upb_hasbit(msg, 8);
2629
+ }
2630
+ UPB_INLINE void validate_StringRules_clear_suffix(const validate_StringRules* msg) {
2631
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 64), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2632
+ _upb_clearhas(msg, 8);
1836
2633
  }
1837
- UPB_INLINE bool validate_StringRules_has_suffix(const validate_StringRules *msg) { return _upb_hasbit(msg, 8); }
1838
2634
  UPB_INLINE upb_StringView validate_StringRules_suffix(const validate_StringRules* msg) {
1839
- return *UPB_PTR_AT(msg, UPB_SIZE(84, 112), upb_StringView);
2635
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 64), upb_StringView);
2636
+ }
2637
+ UPB_INLINE bool validate_StringRules_has_contains(const validate_StringRules* msg) {
2638
+ return _upb_hasbit(msg, 9);
2639
+ }
2640
+ UPB_INLINE void validate_StringRules_clear_contains(const validate_StringRules* msg) {
2641
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 80), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2642
+ _upb_clearhas(msg, 9);
1840
2643
  }
1841
- UPB_INLINE bool validate_StringRules_has_contains(const validate_StringRules *msg) { return _upb_hasbit(msg, 9); }
1842
2644
  UPB_INLINE upb_StringView validate_StringRules_contains(const validate_StringRules* msg) {
1843
- return *UPB_PTR_AT(msg, UPB_SIZE(92, 128), upb_StringView);
1844
- }
1845
- UPB_INLINE upb_StringView const* validate_StringRules_in(const validate_StringRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(108, 160), len); }
1846
- UPB_INLINE upb_StringView const* validate_StringRules_not_in(const validate_StringRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(112, 168), len); }
1847
- UPB_INLINE bool validate_StringRules_has_email(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 12; }
1848
- UPB_INLINE bool validate_StringRules_email(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 12, false); }
1849
- UPB_INLINE bool validate_StringRules_has_hostname(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 13; }
1850
- UPB_INLINE bool validate_StringRules_hostname(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 13, false); }
1851
- UPB_INLINE bool validate_StringRules_has_ip(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 14; }
1852
- UPB_INLINE bool validate_StringRules_ip(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 14, false); }
1853
- UPB_INLINE bool validate_StringRules_has_ipv4(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 15; }
1854
- UPB_INLINE bool validate_StringRules_ipv4(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 15, false); }
1855
- UPB_INLINE bool validate_StringRules_has_ipv6(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 16; }
1856
- UPB_INLINE bool validate_StringRules_ipv6(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 16, false); }
1857
- UPB_INLINE bool validate_StringRules_has_uri(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 17; }
1858
- UPB_INLINE bool validate_StringRules_uri(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 17, false); }
1859
- UPB_INLINE bool validate_StringRules_has_uri_ref(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 18; }
1860
- UPB_INLINE bool validate_StringRules_uri_ref(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 18, false); }
1861
- UPB_INLINE bool validate_StringRules_has_len(const validate_StringRules *msg) { return _upb_hasbit(msg, 10); }
2645
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 80), upb_StringView);
2646
+ }
2647
+ UPB_INLINE void validate_StringRules_clear_in(const validate_StringRules* msg) {
2648
+ _upb_array_detach(msg, UPB_SIZE(56, 96));
2649
+ }
2650
+ UPB_INLINE upb_StringView const* validate_StringRules_in(const validate_StringRules* msg, size_t* len) {
2651
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(56, 96), len);
2652
+ }
2653
+ UPB_INLINE void validate_StringRules_clear_not_in(const validate_StringRules* msg) {
2654
+ _upb_array_detach(msg, UPB_SIZE(60, 104));
2655
+ }
2656
+ UPB_INLINE upb_StringView const* validate_StringRules_not_in(const validate_StringRules* msg, size_t* len) {
2657
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(60, 104), len);
2658
+ }
2659
+ UPB_INLINE bool validate_StringRules_has_email(const validate_StringRules* msg) {
2660
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 12;
2661
+ }
2662
+ UPB_INLINE void validate_StringRules_clear_email(const validate_StringRules* msg) {
2663
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2664
+ }
2665
+ UPB_INLINE bool validate_StringRules_email(const validate_StringRules* msg) {
2666
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 12, false);
2667
+ }
2668
+ UPB_INLINE bool validate_StringRules_has_hostname(const validate_StringRules* msg) {
2669
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 13;
2670
+ }
2671
+ UPB_INLINE void validate_StringRules_clear_hostname(const validate_StringRules* msg) {
2672
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2673
+ }
2674
+ UPB_INLINE bool validate_StringRules_hostname(const validate_StringRules* msg) {
2675
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 13, false);
2676
+ }
2677
+ UPB_INLINE bool validate_StringRules_has_ip(const validate_StringRules* msg) {
2678
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 14;
2679
+ }
2680
+ UPB_INLINE void validate_StringRules_clear_ip(const validate_StringRules* msg) {
2681
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2682
+ }
2683
+ UPB_INLINE bool validate_StringRules_ip(const validate_StringRules* msg) {
2684
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 14, false);
2685
+ }
2686
+ UPB_INLINE bool validate_StringRules_has_ipv4(const validate_StringRules* msg) {
2687
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 15;
2688
+ }
2689
+ UPB_INLINE void validate_StringRules_clear_ipv4(const validate_StringRules* msg) {
2690
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2691
+ }
2692
+ UPB_INLINE bool validate_StringRules_ipv4(const validate_StringRules* msg) {
2693
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 15, false);
2694
+ }
2695
+ UPB_INLINE bool validate_StringRules_has_ipv6(const validate_StringRules* msg) {
2696
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 16;
2697
+ }
2698
+ UPB_INLINE void validate_StringRules_clear_ipv6(const validate_StringRules* msg) {
2699
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2700
+ }
2701
+ UPB_INLINE bool validate_StringRules_ipv6(const validate_StringRules* msg) {
2702
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 16, false);
2703
+ }
2704
+ UPB_INLINE bool validate_StringRules_has_uri(const validate_StringRules* msg) {
2705
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 17;
2706
+ }
2707
+ UPB_INLINE void validate_StringRules_clear_uri(const validate_StringRules* msg) {
2708
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2709
+ }
2710
+ UPB_INLINE bool validate_StringRules_uri(const validate_StringRules* msg) {
2711
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 17, false);
2712
+ }
2713
+ UPB_INLINE bool validate_StringRules_has_uri_ref(const validate_StringRules* msg) {
2714
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 18;
2715
+ }
2716
+ UPB_INLINE void validate_StringRules_clear_uri_ref(const validate_StringRules* msg) {
2717
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2718
+ }
2719
+ UPB_INLINE bool validate_StringRules_uri_ref(const validate_StringRules* msg) {
2720
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 18, false);
2721
+ }
2722
+ UPB_INLINE bool validate_StringRules_has_len(const validate_StringRules* msg) {
2723
+ return _upb_hasbit(msg, 10);
2724
+ }
2725
+ UPB_INLINE void validate_StringRules_clear_len(const validate_StringRules* msg) {
2726
+ *UPB_PTR_AT(msg, UPB_SIZE(104, 160), uint64_t) = 0;
2727
+ _upb_clearhas(msg, 10);
2728
+ }
1862
2729
  UPB_INLINE uint64_t validate_StringRules_len(const validate_StringRules* msg) {
1863
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t);
2730
+ return *UPB_PTR_AT(msg, UPB_SIZE(104, 160), uint64_t);
2731
+ }
2732
+ UPB_INLINE bool validate_StringRules_has_len_bytes(const validate_StringRules* msg) {
2733
+ return _upb_hasbit(msg, 11);
2734
+ }
2735
+ UPB_INLINE void validate_StringRules_clear_len_bytes(const validate_StringRules* msg) {
2736
+ *UPB_PTR_AT(msg, UPB_SIZE(112, 168), uint64_t) = 0;
2737
+ _upb_clearhas(msg, 11);
1864
2738
  }
1865
- UPB_INLINE bool validate_StringRules_has_len_bytes(const validate_StringRules *msg) { return _upb_hasbit(msg, 11); }
1866
2739
  UPB_INLINE uint64_t validate_StringRules_len_bytes(const validate_StringRules* msg) {
1867
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), uint64_t);
2740
+ return *UPB_PTR_AT(msg, UPB_SIZE(112, 168), uint64_t);
2741
+ }
2742
+ UPB_INLINE bool validate_StringRules_has_address(const validate_StringRules* msg) {
2743
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 21;
2744
+ }
2745
+ UPB_INLINE void validate_StringRules_clear_address(const validate_StringRules* msg) {
2746
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2747
+ }
2748
+ UPB_INLINE bool validate_StringRules_address(const validate_StringRules* msg) {
2749
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 21, false);
2750
+ }
2751
+ UPB_INLINE bool validate_StringRules_has_uuid(const validate_StringRules* msg) {
2752
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 22;
2753
+ }
2754
+ UPB_INLINE void validate_StringRules_clear_uuid(const validate_StringRules* msg) {
2755
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2756
+ }
2757
+ UPB_INLINE bool validate_StringRules_uuid(const validate_StringRules* msg) {
2758
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 22, false);
2759
+ }
2760
+ UPB_INLINE bool validate_StringRules_has_not_contains(const validate_StringRules* msg) {
2761
+ return _upb_hasbit(msg, 12);
2762
+ }
2763
+ UPB_INLINE void validate_StringRules_clear_not_contains(const validate_StringRules* msg) {
2764
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2765
+ _upb_clearhas(msg, 12);
1868
2766
  }
1869
- UPB_INLINE bool validate_StringRules_has_address(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 21; }
1870
- UPB_INLINE bool validate_StringRules_address(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 21, false); }
1871
- UPB_INLINE bool validate_StringRules_has_uuid(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 22; }
1872
- UPB_INLINE bool validate_StringRules_uuid(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 22, false); }
1873
- UPB_INLINE bool validate_StringRules_has_not_contains(const validate_StringRules *msg) { return _upb_hasbit(msg, 12); }
1874
2767
  UPB_INLINE upb_StringView validate_StringRules_not_contains(const validate_StringRules* msg) {
1875
- return *UPB_PTR_AT(msg, UPB_SIZE(100, 144), upb_StringView);
2768
+ return *UPB_PTR_AT(msg, UPB_SIZE(64, 112), upb_StringView);
2769
+ }
2770
+ UPB_INLINE bool validate_StringRules_has_well_known_regex(const validate_StringRules* msg) {
2771
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 24;
2772
+ }
2773
+ UPB_INLINE void validate_StringRules_clear_well_known_regex(const validate_StringRules* msg) {
2774
+ UPB_WRITE_ONEOF(msg, int32_t, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2775
+ }
2776
+ UPB_INLINE int32_t validate_StringRules_well_known_regex(const validate_StringRules* msg) {
2777
+ return UPB_READ_ONEOF(msg, int32_t, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 24, 0);
2778
+ }
2779
+ UPB_INLINE bool validate_StringRules_has_strict(const validate_StringRules* msg) {
2780
+ return _upb_hasbit(msg, 13);
2781
+ }
2782
+ UPB_INLINE void validate_StringRules_clear_strict(const validate_StringRules* msg) {
2783
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
2784
+ _upb_clearhas(msg, 13);
1876
2785
  }
1877
- UPB_INLINE bool validate_StringRules_has_well_known_regex(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 24; }
1878
- UPB_INLINE int32_t validate_StringRules_well_known_regex(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, int32_t, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 24, 0); }
1879
- UPB_INLINE bool validate_StringRules_has_strict(const validate_StringRules *msg) { return _upb_hasbit(msg, 13); }
1880
2786
  UPB_INLINE bool validate_StringRules_strict(const validate_StringRules* msg) {
1881
- return validate_StringRules_has_strict(msg) ? *UPB_PTR_AT(msg, UPB_SIZE(56, 56), bool) : true;
2787
+ return validate_StringRules_has_strict(msg) ? *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) : true;
2788
+ }
2789
+ UPB_INLINE bool validate_StringRules_has_ignore_empty(const validate_StringRules* msg) {
2790
+ return _upb_hasbit(msg, 14);
2791
+ }
2792
+ UPB_INLINE void validate_StringRules_clear_ignore_empty(const validate_StringRules* msg) {
2793
+ *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool) = 0;
2794
+ _upb_clearhas(msg, 14);
1882
2795
  }
1883
- UPB_INLINE bool validate_StringRules_has_ignore_empty(const validate_StringRules *msg) { return _upb_hasbit(msg, 14); }
1884
2796
  UPB_INLINE bool validate_StringRules_ignore_empty(const validate_StringRules* msg) {
1885
- return *UPB_PTR_AT(msg, UPB_SIZE(57, 57), bool);
2797
+ return *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool);
1886
2798
  }
1887
2799
 
1888
2800
  UPB_INLINE void validate_StringRules_set_const(validate_StringRules *msg, upb_StringView value) {
1889
2801
  _upb_sethas(msg, 1);
1890
- *UPB_PTR_AT(msg, UPB_SIZE(60, 64), upb_StringView) = value;
2802
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_StringView) = value;
1891
2803
  }
1892
2804
  UPB_INLINE void validate_StringRules_set_min_len(validate_StringRules *msg, uint64_t value) {
1893
2805
  _upb_sethas(msg, 2);
1894
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
2806
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 128), uint64_t) = value;
1895
2807
  }
1896
2808
  UPB_INLINE void validate_StringRules_set_max_len(validate_StringRules *msg, uint64_t value) {
1897
2809
  _upb_sethas(msg, 3);
1898
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
2810
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 136), uint64_t) = value;
1899
2811
  }
1900
2812
  UPB_INLINE void validate_StringRules_set_min_bytes(validate_StringRules *msg, uint64_t value) {
1901
2813
  _upb_sethas(msg, 4);
1902
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
2814
+ *UPB_PTR_AT(msg, UPB_SIZE(88, 144), uint64_t) = value;
1903
2815
  }
1904
2816
  UPB_INLINE void validate_StringRules_set_max_bytes(validate_StringRules *msg, uint64_t value) {
1905
2817
  _upb_sethas(msg, 5);
1906
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t) = value;
2818
+ *UPB_PTR_AT(msg, UPB_SIZE(96, 152), uint64_t) = value;
1907
2819
  }
1908
2820
  UPB_INLINE void validate_StringRules_set_pattern(validate_StringRules *msg, upb_StringView value) {
1909
2821
  _upb_sethas(msg, 6);
1910
- *UPB_PTR_AT(msg, UPB_SIZE(68, 80), upb_StringView) = value;
2822
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), upb_StringView) = value;
1911
2823
  }
1912
2824
  UPB_INLINE void validate_StringRules_set_prefix(validate_StringRules *msg, upb_StringView value) {
1913
2825
  _upb_sethas(msg, 7);
1914
- *UPB_PTR_AT(msg, UPB_SIZE(76, 96), upb_StringView) = value;
2826
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 48), upb_StringView) = value;
1915
2827
  }
1916
2828
  UPB_INLINE void validate_StringRules_set_suffix(validate_StringRules *msg, upb_StringView value) {
1917
2829
  _upb_sethas(msg, 8);
1918
- *UPB_PTR_AT(msg, UPB_SIZE(84, 112), upb_StringView) = value;
2830
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 64), upb_StringView) = value;
1919
2831
  }
1920
2832
  UPB_INLINE void validate_StringRules_set_contains(validate_StringRules *msg, upb_StringView value) {
1921
2833
  _upb_sethas(msg, 9);
1922
- *UPB_PTR_AT(msg, UPB_SIZE(92, 128), upb_StringView) = value;
2834
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 80), upb_StringView) = value;
1923
2835
  }
1924
- UPB_INLINE upb_StringView* validate_StringRules_mutable_in(validate_StringRules *msg, size_t *len) {
1925
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(108, 160), len);
2836
+ UPB_INLINE upb_StringView* validate_StringRules_mutable_in(validate_StringRules* msg, size_t* len) {
2837
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 96), len);
1926
2838
  }
1927
- UPB_INLINE upb_StringView* validate_StringRules_resize_in(validate_StringRules *msg, size_t len, upb_Arena *arena) {
1928
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(108, 160), len, UPB_SIZE(3, 4), arena);
2839
+ UPB_INLINE upb_StringView* validate_StringRules_resize_in(validate_StringRules* msg, size_t len, upb_Arena* arena) {
2840
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 96), len, UPB_SIZE(3, 4), arena);
1929
2841
  }
1930
- UPB_INLINE bool validate_StringRules_add_in(validate_StringRules *msg, upb_StringView val, upb_Arena *arena) {
1931
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(108, 160), UPB_SIZE(3, 4), &val,
1932
- arena);
2842
+ UPB_INLINE bool validate_StringRules_add_in(validate_StringRules* msg, upb_StringView val, upb_Arena* arena) {
2843
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 96), UPB_SIZE(3, 4), &val, arena);
1933
2844
  }
1934
- UPB_INLINE upb_StringView* validate_StringRules_mutable_not_in(validate_StringRules *msg, size_t *len) {
1935
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(112, 168), len);
2845
+ UPB_INLINE upb_StringView* validate_StringRules_mutable_not_in(validate_StringRules* msg, size_t* len) {
2846
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(60, 104), len);
1936
2847
  }
1937
- UPB_INLINE upb_StringView* validate_StringRules_resize_not_in(validate_StringRules *msg, size_t len, upb_Arena *arena) {
1938
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(112, 168), len, UPB_SIZE(3, 4), arena);
2848
+ UPB_INLINE upb_StringView* validate_StringRules_resize_not_in(validate_StringRules* msg, size_t len, upb_Arena* arena) {
2849
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(60, 104), len, UPB_SIZE(3, 4), arena);
1939
2850
  }
1940
- UPB_INLINE bool validate_StringRules_add_not_in(validate_StringRules *msg, upb_StringView val, upb_Arena *arena) {
1941
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(112, 168), UPB_SIZE(3, 4), &val,
1942
- arena);
2851
+ UPB_INLINE bool validate_StringRules_add_not_in(validate_StringRules* msg, upb_StringView val, upb_Arena* arena) {
2852
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(60, 104), UPB_SIZE(3, 4), &val, arena);
1943
2853
  }
1944
2854
  UPB_INLINE void validate_StringRules_set_email(validate_StringRules *msg, bool value) {
1945
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 12);
2855
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 12);
1946
2856
  }
1947
2857
  UPB_INLINE void validate_StringRules_set_hostname(validate_StringRules *msg, bool value) {
1948
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 13);
2858
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 13);
1949
2859
  }
1950
2860
  UPB_INLINE void validate_StringRules_set_ip(validate_StringRules *msg, bool value) {
1951
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 14);
2861
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 14);
1952
2862
  }
1953
2863
  UPB_INLINE void validate_StringRules_set_ipv4(validate_StringRules *msg, bool value) {
1954
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 15);
2864
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 15);
1955
2865
  }
1956
2866
  UPB_INLINE void validate_StringRules_set_ipv6(validate_StringRules *msg, bool value) {
1957
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 16);
2867
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 16);
1958
2868
  }
1959
2869
  UPB_INLINE void validate_StringRules_set_uri(validate_StringRules *msg, bool value) {
1960
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 17);
2870
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 17);
1961
2871
  }
1962
2872
  UPB_INLINE void validate_StringRules_set_uri_ref(validate_StringRules *msg, bool value) {
1963
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 18);
2873
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 18);
1964
2874
  }
1965
2875
  UPB_INLINE void validate_StringRules_set_len(validate_StringRules *msg, uint64_t value) {
1966
2876
  _upb_sethas(msg, 10);
1967
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t) = value;
2877
+ *UPB_PTR_AT(msg, UPB_SIZE(104, 160), uint64_t) = value;
1968
2878
  }
1969
2879
  UPB_INLINE void validate_StringRules_set_len_bytes(validate_StringRules *msg, uint64_t value) {
1970
2880
  _upb_sethas(msg, 11);
1971
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), uint64_t) = value;
2881
+ *UPB_PTR_AT(msg, UPB_SIZE(112, 168), uint64_t) = value;
1972
2882
  }
1973
2883
  UPB_INLINE void validate_StringRules_set_address(validate_StringRules *msg, bool value) {
1974
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 21);
2884
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 21);
1975
2885
  }
1976
2886
  UPB_INLINE void validate_StringRules_set_uuid(validate_StringRules *msg, bool value) {
1977
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 22);
2887
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 22);
1978
2888
  }
1979
2889
  UPB_INLINE void validate_StringRules_set_not_contains(validate_StringRules *msg, upb_StringView value) {
1980
2890
  _upb_sethas(msg, 12);
1981
- *UPB_PTR_AT(msg, UPB_SIZE(100, 144), upb_StringView) = value;
2891
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), upb_StringView) = value;
1982
2892
  }
1983
2893
  UPB_INLINE void validate_StringRules_set_well_known_regex(validate_StringRules *msg, int32_t value) {
1984
- UPB_WRITE_ONEOF(msg, int32_t, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 24);
2894
+ UPB_WRITE_ONEOF(msg, int32_t, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 24);
1985
2895
  }
1986
2896
  UPB_INLINE void validate_StringRules_set_strict(validate_StringRules *msg, bool value) {
1987
2897
  _upb_sethas(msg, 13);
1988
- *UPB_PTR_AT(msg, UPB_SIZE(56, 56), bool) = value;
2898
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
1989
2899
  }
1990
2900
  UPB_INLINE void validate_StringRules_set_ignore_empty(validate_StringRules *msg, bool value) {
1991
2901
  _upb_sethas(msg, 14);
1992
- *UPB_PTR_AT(msg, UPB_SIZE(57, 57), bool) = value;
2902
+ *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool) = value;
1993
2903
  }
1994
2904
 
1995
2905
  /* validate.BytesRules */
@@ -2017,11 +2927,15 @@ UPB_INLINE validate_BytesRules* validate_BytesRules_parse_ex(const char* buf, si
2017
2927
  return ret;
2018
2928
  }
2019
2929
  UPB_INLINE char* validate_BytesRules_serialize(const validate_BytesRules* msg, upb_Arena* arena, size_t* len) {
2020
- return upb_Encode(msg, &validate_BytesRules_msginit, 0, arena, len);
2930
+ char* ptr;
2931
+ (void)upb_Encode(msg, &validate_BytesRules_msginit, 0, arena, &ptr, len);
2932
+ return ptr;
2021
2933
  }
2022
2934
  UPB_INLINE char* validate_BytesRules_serialize_ex(const validate_BytesRules* msg, int options,
2023
2935
  upb_Arena* arena, size_t* len) {
2024
- return upb_Encode(msg, &validate_BytesRules_msginit, options, arena, len);
2936
+ char* ptr;
2937
+ (void)upb_Encode(msg, &validate_BytesRules_msginit, options, arena, &ptr, len);
2938
+ return ptr;
2025
2939
  }
2026
2940
  typedef enum {
2027
2941
  validate_BytesRules_well_known_ip = 10,
@@ -2029,117 +2943,201 @@ typedef enum {
2029
2943
  validate_BytesRules_well_known_ipv6 = 12,
2030
2944
  validate_BytesRules_well_known_NOT_SET = 0
2031
2945
  } validate_BytesRules_well_known_oneofcases;
2032
- UPB_INLINE validate_BytesRules_well_known_oneofcases validate_BytesRules_well_known_case(const validate_BytesRules* msg) { return (validate_BytesRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(88, 140), int32_t); }
2033
-
2034
- UPB_INLINE bool validate_BytesRules_has_const(const validate_BytesRules *msg) { return _upb_hasbit(msg, 1); }
2946
+ UPB_INLINE validate_BytesRules_well_known_oneofcases validate_BytesRules_well_known_case(const validate_BytesRules* msg) {
2947
+ return (validate_BytesRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
2948
+ }
2949
+ UPB_INLINE bool validate_BytesRules_has_const(const validate_BytesRules* msg) {
2950
+ return _upb_hasbit(msg, 1);
2951
+ }
2952
+ UPB_INLINE void validate_BytesRules_clear_const(const validate_BytesRules* msg) {
2953
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2954
+ _upb_clearhas(msg, 1);
2955
+ }
2035
2956
  UPB_INLINE upb_StringView validate_BytesRules_const(const validate_BytesRules* msg) {
2036
- return *UPB_PTR_AT(msg, UPB_SIZE(36, 40), upb_StringView);
2957
+ return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_StringView);
2958
+ }
2959
+ UPB_INLINE bool validate_BytesRules_has_min_len(const validate_BytesRules* msg) {
2960
+ return _upb_hasbit(msg, 2);
2961
+ }
2962
+ UPB_INLINE void validate_BytesRules_clear_min_len(const validate_BytesRules* msg) {
2963
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), uint64_t) = 0;
2964
+ _upb_clearhas(msg, 2);
2037
2965
  }
2038
- UPB_INLINE bool validate_BytesRules_has_min_len(const validate_BytesRules *msg) { return _upb_hasbit(msg, 2); }
2039
2966
  UPB_INLINE uint64_t validate_BytesRules_min_len(const validate_BytesRules* msg) {
2040
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
2967
+ return *UPB_PTR_AT(msg, UPB_SIZE(64, 112), uint64_t);
2968
+ }
2969
+ UPB_INLINE bool validate_BytesRules_has_max_len(const validate_BytesRules* msg) {
2970
+ return _upb_hasbit(msg, 3);
2971
+ }
2972
+ UPB_INLINE void validate_BytesRules_clear_max_len(const validate_BytesRules* msg) {
2973
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 120), uint64_t) = 0;
2974
+ _upb_clearhas(msg, 3);
2041
2975
  }
2042
- UPB_INLINE bool validate_BytesRules_has_max_len(const validate_BytesRules *msg) { return _upb_hasbit(msg, 3); }
2043
2976
  UPB_INLINE uint64_t validate_BytesRules_max_len(const validate_BytesRules* msg) {
2044
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
2977
+ return *UPB_PTR_AT(msg, UPB_SIZE(72, 120), uint64_t);
2978
+ }
2979
+ UPB_INLINE bool validate_BytesRules_has_pattern(const validate_BytesRules* msg) {
2980
+ return _upb_hasbit(msg, 4);
2981
+ }
2982
+ UPB_INLINE void validate_BytesRules_clear_pattern(const validate_BytesRules* msg) {
2983
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 32), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2984
+ _upb_clearhas(msg, 4);
2045
2985
  }
2046
- UPB_INLINE bool validate_BytesRules_has_pattern(const validate_BytesRules *msg) { return _upb_hasbit(msg, 4); }
2047
2986
  UPB_INLINE upb_StringView validate_BytesRules_pattern(const validate_BytesRules* msg) {
2048
- return *UPB_PTR_AT(msg, UPB_SIZE(44, 56), upb_StringView);
2987
+ return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), upb_StringView);
2988
+ }
2989
+ UPB_INLINE bool validate_BytesRules_has_prefix(const validate_BytesRules* msg) {
2990
+ return _upb_hasbit(msg, 5);
2991
+ }
2992
+ UPB_INLINE void validate_BytesRules_clear_prefix(const validate_BytesRules* msg) {
2993
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2994
+ _upb_clearhas(msg, 5);
2049
2995
  }
2050
- UPB_INLINE bool validate_BytesRules_has_prefix(const validate_BytesRules *msg) { return _upb_hasbit(msg, 5); }
2051
2996
  UPB_INLINE upb_StringView validate_BytesRules_prefix(const validate_BytesRules* msg) {
2052
- return *UPB_PTR_AT(msg, UPB_SIZE(52, 72), upb_StringView);
2997
+ return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), upb_StringView);
2998
+ }
2999
+ UPB_INLINE bool validate_BytesRules_has_suffix(const validate_BytesRules* msg) {
3000
+ return _upb_hasbit(msg, 6);
3001
+ }
3002
+ UPB_INLINE void validate_BytesRules_clear_suffix(const validate_BytesRules* msg) {
3003
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 64), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
3004
+ _upb_clearhas(msg, 6);
2053
3005
  }
2054
- UPB_INLINE bool validate_BytesRules_has_suffix(const validate_BytesRules *msg) { return _upb_hasbit(msg, 6); }
2055
3006
  UPB_INLINE upb_StringView validate_BytesRules_suffix(const validate_BytesRules* msg) {
2056
- return *UPB_PTR_AT(msg, UPB_SIZE(60, 88), upb_StringView);
3007
+ return *UPB_PTR_AT(msg, UPB_SIZE(36, 64), upb_StringView);
3008
+ }
3009
+ UPB_INLINE bool validate_BytesRules_has_contains(const validate_BytesRules* msg) {
3010
+ return _upb_hasbit(msg, 7);
3011
+ }
3012
+ UPB_INLINE void validate_BytesRules_clear_contains(const validate_BytesRules* msg) {
3013
+ *UPB_PTR_AT(msg, UPB_SIZE(44, 80), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
3014
+ _upb_clearhas(msg, 7);
2057
3015
  }
2058
- UPB_INLINE bool validate_BytesRules_has_contains(const validate_BytesRules *msg) { return _upb_hasbit(msg, 7); }
2059
3016
  UPB_INLINE upb_StringView validate_BytesRules_contains(const validate_BytesRules* msg) {
2060
- return *UPB_PTR_AT(msg, UPB_SIZE(68, 104), upb_StringView);
2061
- }
2062
- UPB_INLINE upb_StringView const* validate_BytesRules_in(const validate_BytesRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(76, 120), len); }
2063
- UPB_INLINE upb_StringView const* validate_BytesRules_not_in(const validate_BytesRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(80, 128), len); }
2064
- UPB_INLINE bool validate_BytesRules_has_ip(const validate_BytesRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(88, 140)) == 10; }
2065
- UPB_INLINE bool validate_BytesRules_ip(const validate_BytesRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(84, 136), UPB_SIZE(88, 140), 10, false); }
2066
- UPB_INLINE bool validate_BytesRules_has_ipv4(const validate_BytesRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(88, 140)) == 11; }
2067
- UPB_INLINE bool validate_BytesRules_ipv4(const validate_BytesRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(84, 136), UPB_SIZE(88, 140), 11, false); }
2068
- UPB_INLINE bool validate_BytesRules_has_ipv6(const validate_BytesRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(88, 140)) == 12; }
2069
- UPB_INLINE bool validate_BytesRules_ipv6(const validate_BytesRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(84, 136), UPB_SIZE(88, 140), 12, false); }
2070
- UPB_INLINE bool validate_BytesRules_has_len(const validate_BytesRules *msg) { return _upb_hasbit(msg, 8); }
3017
+ return *UPB_PTR_AT(msg, UPB_SIZE(44, 80), upb_StringView);
3018
+ }
3019
+ UPB_INLINE void validate_BytesRules_clear_in(const validate_BytesRules* msg) {
3020
+ _upb_array_detach(msg, UPB_SIZE(52, 96));
3021
+ }
3022
+ UPB_INLINE upb_StringView const* validate_BytesRules_in(const validate_BytesRules* msg, size_t* len) {
3023
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(52, 96), len);
3024
+ }
3025
+ UPB_INLINE void validate_BytesRules_clear_not_in(const validate_BytesRules* msg) {
3026
+ _upb_array_detach(msg, UPB_SIZE(56, 104));
3027
+ }
3028
+ UPB_INLINE upb_StringView const* validate_BytesRules_not_in(const validate_BytesRules* msg, size_t* len) {
3029
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(56, 104), len);
3030
+ }
3031
+ UPB_INLINE bool validate_BytesRules_has_ip(const validate_BytesRules* msg) {
3032
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 10;
3033
+ }
3034
+ UPB_INLINE void validate_BytesRules_clear_ip(const validate_BytesRules* msg) {
3035
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), 0, UPB_SIZE(4, 4), validate_BytesRules_well_known_NOT_SET);
3036
+ }
3037
+ UPB_INLINE bool validate_BytesRules_ip(const validate_BytesRules* msg) {
3038
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(2, 2), UPB_SIZE(4, 4), 10, false);
3039
+ }
3040
+ UPB_INLINE bool validate_BytesRules_has_ipv4(const validate_BytesRules* msg) {
3041
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 11;
3042
+ }
3043
+ UPB_INLINE void validate_BytesRules_clear_ipv4(const validate_BytesRules* msg) {
3044
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), 0, UPB_SIZE(4, 4), validate_BytesRules_well_known_NOT_SET);
3045
+ }
3046
+ UPB_INLINE bool validate_BytesRules_ipv4(const validate_BytesRules* msg) {
3047
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(2, 2), UPB_SIZE(4, 4), 11, false);
3048
+ }
3049
+ UPB_INLINE bool validate_BytesRules_has_ipv6(const validate_BytesRules* msg) {
3050
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 12;
3051
+ }
3052
+ UPB_INLINE void validate_BytesRules_clear_ipv6(const validate_BytesRules* msg) {
3053
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), 0, UPB_SIZE(4, 4), validate_BytesRules_well_known_NOT_SET);
3054
+ }
3055
+ UPB_INLINE bool validate_BytesRules_ipv6(const validate_BytesRules* msg) {
3056
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(2, 2), UPB_SIZE(4, 4), 12, false);
3057
+ }
3058
+ UPB_INLINE bool validate_BytesRules_has_len(const validate_BytesRules* msg) {
3059
+ return _upb_hasbit(msg, 8);
3060
+ }
3061
+ UPB_INLINE void validate_BytesRules_clear_len(const validate_BytesRules* msg) {
3062
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 128), uint64_t) = 0;
3063
+ _upb_clearhas(msg, 8);
3064
+ }
2071
3065
  UPB_INLINE uint64_t validate_BytesRules_len(const validate_BytesRules* msg) {
2072
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
3066
+ return *UPB_PTR_AT(msg, UPB_SIZE(80, 128), uint64_t);
3067
+ }
3068
+ UPB_INLINE bool validate_BytesRules_has_ignore_empty(const validate_BytesRules* msg) {
3069
+ return _upb_hasbit(msg, 9);
3070
+ }
3071
+ UPB_INLINE void validate_BytesRules_clear_ignore_empty(const validate_BytesRules* msg) {
3072
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
3073
+ _upb_clearhas(msg, 9);
2073
3074
  }
2074
- UPB_INLINE bool validate_BytesRules_has_ignore_empty(const validate_BytesRules *msg) { return _upb_hasbit(msg, 9); }
2075
3075
  UPB_INLINE bool validate_BytesRules_ignore_empty(const validate_BytesRules* msg) {
2076
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), bool);
3076
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool);
2077
3077
  }
2078
3078
 
2079
3079
  UPB_INLINE void validate_BytesRules_set_const(validate_BytesRules *msg, upb_StringView value) {
2080
3080
  _upb_sethas(msg, 1);
2081
- *UPB_PTR_AT(msg, UPB_SIZE(36, 40), upb_StringView) = value;
3081
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_StringView) = value;
2082
3082
  }
2083
3083
  UPB_INLINE void validate_BytesRules_set_min_len(validate_BytesRules *msg, uint64_t value) {
2084
3084
  _upb_sethas(msg, 2);
2085
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
3085
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), uint64_t) = value;
2086
3086
  }
2087
3087
  UPB_INLINE void validate_BytesRules_set_max_len(validate_BytesRules *msg, uint64_t value) {
2088
3088
  _upb_sethas(msg, 3);
2089
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
3089
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 120), uint64_t) = value;
2090
3090
  }
2091
3091
  UPB_INLINE void validate_BytesRules_set_pattern(validate_BytesRules *msg, upb_StringView value) {
2092
3092
  _upb_sethas(msg, 4);
2093
- *UPB_PTR_AT(msg, UPB_SIZE(44, 56), upb_StringView) = value;
3093
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 32), upb_StringView) = value;
2094
3094
  }
2095
3095
  UPB_INLINE void validate_BytesRules_set_prefix(validate_BytesRules *msg, upb_StringView value) {
2096
3096
  _upb_sethas(msg, 5);
2097
- *UPB_PTR_AT(msg, UPB_SIZE(52, 72), upb_StringView) = value;
3097
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), upb_StringView) = value;
2098
3098
  }
2099
3099
  UPB_INLINE void validate_BytesRules_set_suffix(validate_BytesRules *msg, upb_StringView value) {
2100
3100
  _upb_sethas(msg, 6);
2101
- *UPB_PTR_AT(msg, UPB_SIZE(60, 88), upb_StringView) = value;
3101
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 64), upb_StringView) = value;
2102
3102
  }
2103
3103
  UPB_INLINE void validate_BytesRules_set_contains(validate_BytesRules *msg, upb_StringView value) {
2104
3104
  _upb_sethas(msg, 7);
2105
- *UPB_PTR_AT(msg, UPB_SIZE(68, 104), upb_StringView) = value;
3105
+ *UPB_PTR_AT(msg, UPB_SIZE(44, 80), upb_StringView) = value;
2106
3106
  }
2107
- UPB_INLINE upb_StringView* validate_BytesRules_mutable_in(validate_BytesRules *msg, size_t *len) {
2108
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(76, 120), len);
3107
+ UPB_INLINE upb_StringView* validate_BytesRules_mutable_in(validate_BytesRules* msg, size_t* len) {
3108
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 96), len);
2109
3109
  }
2110
- UPB_INLINE upb_StringView* validate_BytesRules_resize_in(validate_BytesRules *msg, size_t len, upb_Arena *arena) {
2111
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(76, 120), len, UPB_SIZE(3, 4), arena);
3110
+ UPB_INLINE upb_StringView* validate_BytesRules_resize_in(validate_BytesRules* msg, size_t len, upb_Arena* arena) {
3111
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 96), len, UPB_SIZE(3, 4), arena);
2112
3112
  }
2113
- UPB_INLINE bool validate_BytesRules_add_in(validate_BytesRules *msg, upb_StringView val, upb_Arena *arena) {
2114
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(76, 120), UPB_SIZE(3, 4), &val,
2115
- arena);
3113
+ UPB_INLINE bool validate_BytesRules_add_in(validate_BytesRules* msg, upb_StringView val, upb_Arena* arena) {
3114
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 96), UPB_SIZE(3, 4), &val, arena);
2116
3115
  }
2117
- UPB_INLINE upb_StringView* validate_BytesRules_mutable_not_in(validate_BytesRules *msg, size_t *len) {
2118
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(80, 128), len);
3116
+ UPB_INLINE upb_StringView* validate_BytesRules_mutable_not_in(validate_BytesRules* msg, size_t* len) {
3117
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 104), len);
2119
3118
  }
2120
- UPB_INLINE upb_StringView* validate_BytesRules_resize_not_in(validate_BytesRules *msg, size_t len, upb_Arena *arena) {
2121
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(80, 128), len, UPB_SIZE(3, 4), arena);
3119
+ UPB_INLINE upb_StringView* validate_BytesRules_resize_not_in(validate_BytesRules* msg, size_t len, upb_Arena* arena) {
3120
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 104), len, UPB_SIZE(3, 4), arena);
2122
3121
  }
2123
- UPB_INLINE bool validate_BytesRules_add_not_in(validate_BytesRules *msg, upb_StringView val, upb_Arena *arena) {
2124
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(80, 128), UPB_SIZE(3, 4), &val,
2125
- arena);
3122
+ UPB_INLINE bool validate_BytesRules_add_not_in(validate_BytesRules* msg, upb_StringView val, upb_Arena* arena) {
3123
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 104), UPB_SIZE(3, 4), &val, arena);
2126
3124
  }
2127
3125
  UPB_INLINE void validate_BytesRules_set_ip(validate_BytesRules *msg, bool value) {
2128
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(84, 136), value, UPB_SIZE(88, 140), 10);
3126
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), value, UPB_SIZE(4, 4), 10);
2129
3127
  }
2130
3128
  UPB_INLINE void validate_BytesRules_set_ipv4(validate_BytesRules *msg, bool value) {
2131
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(84, 136), value, UPB_SIZE(88, 140), 11);
3129
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), value, UPB_SIZE(4, 4), 11);
2132
3130
  }
2133
3131
  UPB_INLINE void validate_BytesRules_set_ipv6(validate_BytesRules *msg, bool value) {
2134
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(84, 136), value, UPB_SIZE(88, 140), 12);
3132
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), value, UPB_SIZE(4, 4), 12);
2135
3133
  }
2136
3134
  UPB_INLINE void validate_BytesRules_set_len(validate_BytesRules *msg, uint64_t value) {
2137
3135
  _upb_sethas(msg, 8);
2138
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
3136
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 128), uint64_t) = value;
2139
3137
  }
2140
3138
  UPB_INLINE void validate_BytesRules_set_ignore_empty(validate_BytesRules *msg, bool value) {
2141
3139
  _upb_sethas(msg, 9);
2142
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), bool) = value;
3140
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
2143
3141
  }
2144
3142
 
2145
3143
  /* validate.EnumRules */
@@ -2167,22 +3165,48 @@ UPB_INLINE validate_EnumRules* validate_EnumRules_parse_ex(const char* buf, size
2167
3165
  return ret;
2168
3166
  }
2169
3167
  UPB_INLINE char* validate_EnumRules_serialize(const validate_EnumRules* msg, upb_Arena* arena, size_t* len) {
2170
- return upb_Encode(msg, &validate_EnumRules_msginit, 0, arena, len);
3168
+ char* ptr;
3169
+ (void)upb_Encode(msg, &validate_EnumRules_msginit, 0, arena, &ptr, len);
3170
+ return ptr;
2171
3171
  }
2172
3172
  UPB_INLINE char* validate_EnumRules_serialize_ex(const validate_EnumRules* msg, int options,
2173
3173
  upb_Arena* arena, size_t* len) {
2174
- return upb_Encode(msg, &validate_EnumRules_msginit, options, arena, len);
3174
+ char* ptr;
3175
+ (void)upb_Encode(msg, &validate_EnumRules_msginit, options, arena, &ptr, len);
3176
+ return ptr;
3177
+ }
3178
+ UPB_INLINE bool validate_EnumRules_has_const(const validate_EnumRules* msg) {
3179
+ return _upb_hasbit(msg, 1);
3180
+ }
3181
+ UPB_INLINE void validate_EnumRules_clear_const(const validate_EnumRules* msg) {
3182
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
3183
+ _upb_clearhas(msg, 1);
2175
3184
  }
2176
- UPB_INLINE bool validate_EnumRules_has_const(const validate_EnumRules *msg) { return _upb_hasbit(msg, 1); }
2177
3185
  UPB_INLINE int32_t validate_EnumRules_const(const validate_EnumRules* msg) {
2178
3186
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
2179
3187
  }
2180
- UPB_INLINE bool validate_EnumRules_has_defined_only(const validate_EnumRules *msg) { return _upb_hasbit(msg, 2); }
3188
+ UPB_INLINE bool validate_EnumRules_has_defined_only(const validate_EnumRules* msg) {
3189
+ return _upb_hasbit(msg, 2);
3190
+ }
3191
+ UPB_INLINE void validate_EnumRules_clear_defined_only(const validate_EnumRules* msg) {
3192
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
3193
+ _upb_clearhas(msg, 2);
3194
+ }
2181
3195
  UPB_INLINE bool validate_EnumRules_defined_only(const validate_EnumRules* msg) {
2182
3196
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool);
2183
3197
  }
2184
- UPB_INLINE int32_t const* validate_EnumRules_in(const validate_EnumRules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(12, 16), len); }
2185
- UPB_INLINE int32_t const* validate_EnumRules_not_in(const validate_EnumRules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(16, 24), len); }
3198
+ UPB_INLINE void validate_EnumRules_clear_in(const validate_EnumRules* msg) {
3199
+ _upb_array_detach(msg, UPB_SIZE(12, 16));
3200
+ }
3201
+ UPB_INLINE int32_t const* validate_EnumRules_in(const validate_EnumRules* msg, size_t* len) {
3202
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(12, 16), len);
3203
+ }
3204
+ UPB_INLINE void validate_EnumRules_clear_not_in(const validate_EnumRules* msg) {
3205
+ _upb_array_detach(msg, UPB_SIZE(16, 24));
3206
+ }
3207
+ UPB_INLINE int32_t const* validate_EnumRules_not_in(const validate_EnumRules* msg, size_t* len) {
3208
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(16, 24), len);
3209
+ }
2186
3210
 
2187
3211
  UPB_INLINE void validate_EnumRules_set_const(validate_EnumRules *msg, int32_t value) {
2188
3212
  _upb_sethas(msg, 1);
@@ -2192,25 +3216,23 @@ UPB_INLINE void validate_EnumRules_set_defined_only(validate_EnumRules *msg, boo
2192
3216
  _upb_sethas(msg, 2);
2193
3217
  *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
2194
3218
  }
2195
- UPB_INLINE int32_t* validate_EnumRules_mutable_in(validate_EnumRules *msg, size_t *len) {
3219
+ UPB_INLINE int32_t* validate_EnumRules_mutable_in(validate_EnumRules* msg, size_t* len) {
2196
3220
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 16), len);
2197
3221
  }
2198
- UPB_INLINE int32_t* validate_EnumRules_resize_in(validate_EnumRules *msg, size_t len, upb_Arena *arena) {
3222
+ UPB_INLINE int32_t* validate_EnumRules_resize_in(validate_EnumRules* msg, size_t len, upb_Arena* arena) {
2199
3223
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(12, 16), len, 2, arena);
2200
3224
  }
2201
- UPB_INLINE bool validate_EnumRules_add_in(validate_EnumRules *msg, int32_t val, upb_Arena *arena) {
2202
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(12, 16), 2, &val,
2203
- arena);
3225
+ UPB_INLINE bool validate_EnumRules_add_in(validate_EnumRules* msg, int32_t val, upb_Arena* arena) {
3226
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(12, 16), 2, &val, arena);
2204
3227
  }
2205
- UPB_INLINE int32_t* validate_EnumRules_mutable_not_in(validate_EnumRules *msg, size_t *len) {
3228
+ UPB_INLINE int32_t* validate_EnumRules_mutable_not_in(validate_EnumRules* msg, size_t* len) {
2206
3229
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 24), len);
2207
3230
  }
2208
- UPB_INLINE int32_t* validate_EnumRules_resize_not_in(validate_EnumRules *msg, size_t len, upb_Arena *arena) {
3231
+ UPB_INLINE int32_t* validate_EnumRules_resize_not_in(validate_EnumRules* msg, size_t len, upb_Arena* arena) {
2209
3232
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(16, 24), len, 2, arena);
2210
3233
  }
2211
- UPB_INLINE bool validate_EnumRules_add_not_in(validate_EnumRules *msg, int32_t val, upb_Arena *arena) {
2212
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(16, 24), 2, &val,
2213
- arena);
3234
+ UPB_INLINE bool validate_EnumRules_add_not_in(validate_EnumRules* msg, int32_t val, upb_Arena* arena) {
3235
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(16, 24), 2, &val, arena);
2214
3236
  }
2215
3237
 
2216
3238
  /* validate.MessageRules */
@@ -2238,17 +3260,33 @@ UPB_INLINE validate_MessageRules* validate_MessageRules_parse_ex(const char* buf
2238
3260
  return ret;
2239
3261
  }
2240
3262
  UPB_INLINE char* validate_MessageRules_serialize(const validate_MessageRules* msg, upb_Arena* arena, size_t* len) {
2241
- return upb_Encode(msg, &validate_MessageRules_msginit, 0, arena, len);
3263
+ char* ptr;
3264
+ (void)upb_Encode(msg, &validate_MessageRules_msginit, 0, arena, &ptr, len);
3265
+ return ptr;
2242
3266
  }
2243
3267
  UPB_INLINE char* validate_MessageRules_serialize_ex(const validate_MessageRules* msg, int options,
2244
3268
  upb_Arena* arena, size_t* len) {
2245
- return upb_Encode(msg, &validate_MessageRules_msginit, options, arena, len);
3269
+ char* ptr;
3270
+ (void)upb_Encode(msg, &validate_MessageRules_msginit, options, arena, &ptr, len);
3271
+ return ptr;
3272
+ }
3273
+ UPB_INLINE bool validate_MessageRules_has_skip(const validate_MessageRules* msg) {
3274
+ return _upb_hasbit(msg, 1);
3275
+ }
3276
+ UPB_INLINE void validate_MessageRules_clear_skip(const validate_MessageRules* msg) {
3277
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3278
+ _upb_clearhas(msg, 1);
2246
3279
  }
2247
- UPB_INLINE bool validate_MessageRules_has_skip(const validate_MessageRules *msg) { return _upb_hasbit(msg, 1); }
2248
3280
  UPB_INLINE bool validate_MessageRules_skip(const validate_MessageRules* msg) {
2249
3281
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
2250
3282
  }
2251
- UPB_INLINE bool validate_MessageRules_has_required(const validate_MessageRules *msg) { return _upb_hasbit(msg, 2); }
3283
+ UPB_INLINE bool validate_MessageRules_has_required(const validate_MessageRules* msg) {
3284
+ return _upb_hasbit(msg, 2);
3285
+ }
3286
+ UPB_INLINE void validate_MessageRules_clear_required(const validate_MessageRules* msg) {
3287
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3288
+ _upb_clearhas(msg, 2);
3289
+ }
2252
3290
  UPB_INLINE bool validate_MessageRules_required(const validate_MessageRules* msg) {
2253
3291
  return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2254
3292
  }
@@ -2287,50 +3325,83 @@ UPB_INLINE validate_RepeatedRules* validate_RepeatedRules_parse_ex(const char* b
2287
3325
  return ret;
2288
3326
  }
2289
3327
  UPB_INLINE char* validate_RepeatedRules_serialize(const validate_RepeatedRules* msg, upb_Arena* arena, size_t* len) {
2290
- return upb_Encode(msg, &validate_RepeatedRules_msginit, 0, arena, len);
3328
+ char* ptr;
3329
+ (void)upb_Encode(msg, &validate_RepeatedRules_msginit, 0, arena, &ptr, len);
3330
+ return ptr;
2291
3331
  }
2292
3332
  UPB_INLINE char* validate_RepeatedRules_serialize_ex(const validate_RepeatedRules* msg, int options,
2293
3333
  upb_Arena* arena, size_t* len) {
2294
- return upb_Encode(msg, &validate_RepeatedRules_msginit, options, arena, len);
3334
+ char* ptr;
3335
+ (void)upb_Encode(msg, &validate_RepeatedRules_msginit, options, arena, &ptr, len);
3336
+ return ptr;
3337
+ }
3338
+ UPB_INLINE bool validate_RepeatedRules_has_min_items(const validate_RepeatedRules* msg) {
3339
+ return _upb_hasbit(msg, 1);
3340
+ }
3341
+ UPB_INLINE void validate_RepeatedRules_clear_min_items(const validate_RepeatedRules* msg) {
3342
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), uint64_t) = 0;
3343
+ _upb_clearhas(msg, 1);
2295
3344
  }
2296
- UPB_INLINE bool validate_RepeatedRules_has_min_items(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 1); }
2297
3345
  UPB_INLINE uint64_t validate_RepeatedRules_min_items(const validate_RepeatedRules* msg) {
2298
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
3346
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), uint64_t);
3347
+ }
3348
+ UPB_INLINE bool validate_RepeatedRules_has_max_items(const validate_RepeatedRules* msg) {
3349
+ return _upb_hasbit(msg, 2);
3350
+ }
3351
+ UPB_INLINE void validate_RepeatedRules_clear_max_items(const validate_RepeatedRules* msg) {
3352
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
3353
+ _upb_clearhas(msg, 2);
2299
3354
  }
2300
- UPB_INLINE bool validate_RepeatedRules_has_max_items(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 2); }
2301
3355
  UPB_INLINE uint64_t validate_RepeatedRules_max_items(const validate_RepeatedRules* msg) {
2302
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
3356
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
3357
+ }
3358
+ UPB_INLINE bool validate_RepeatedRules_has_unique(const validate_RepeatedRules* msg) {
3359
+ return _upb_hasbit(msg, 3);
3360
+ }
3361
+ UPB_INLINE void validate_RepeatedRules_clear_unique(const validate_RepeatedRules* msg) {
3362
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3363
+ _upb_clearhas(msg, 3);
2303
3364
  }
2304
- UPB_INLINE bool validate_RepeatedRules_has_unique(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 3); }
2305
3365
  UPB_INLINE bool validate_RepeatedRules_unique(const validate_RepeatedRules* msg) {
2306
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
3366
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
3367
+ }
3368
+ UPB_INLINE bool validate_RepeatedRules_has_items(const validate_RepeatedRules* msg) {
3369
+ return _upb_hasbit(msg, 4);
3370
+ }
3371
+ UPB_INLINE void validate_RepeatedRules_clear_items(const validate_RepeatedRules* msg) {
3372
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
2307
3373
  }
2308
- UPB_INLINE bool validate_RepeatedRules_has_items(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 4); }
2309
3374
  UPB_INLINE const validate_FieldRules* validate_RepeatedRules_items(const validate_RepeatedRules* msg) {
2310
- return *UPB_PTR_AT(msg, UPB_SIZE(28, 32), const validate_FieldRules*);
3375
+ return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const validate_FieldRules*);
3376
+ }
3377
+ UPB_INLINE bool validate_RepeatedRules_has_ignore_empty(const validate_RepeatedRules* msg) {
3378
+ return _upb_hasbit(msg, 5);
3379
+ }
3380
+ UPB_INLINE void validate_RepeatedRules_clear_ignore_empty(const validate_RepeatedRules* msg) {
3381
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3382
+ _upb_clearhas(msg, 5);
2311
3383
  }
2312
- UPB_INLINE bool validate_RepeatedRules_has_ignore_empty(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 5); }
2313
3384
  UPB_INLINE bool validate_RepeatedRules_ignore_empty(const validate_RepeatedRules* msg) {
2314
- return *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool);
3385
+ return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2315
3386
  }
2316
3387
 
2317
3388
  UPB_INLINE void validate_RepeatedRules_set_min_items(validate_RepeatedRules *msg, uint64_t value) {
2318
3389
  _upb_sethas(msg, 1);
2319
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
3390
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), uint64_t) = value;
2320
3391
  }
2321
3392
  UPB_INLINE void validate_RepeatedRules_set_max_items(validate_RepeatedRules *msg, uint64_t value) {
2322
3393
  _upb_sethas(msg, 2);
2323
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
3394
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
2324
3395
  }
2325
3396
  UPB_INLINE void validate_RepeatedRules_set_unique(validate_RepeatedRules *msg, bool value) {
2326
3397
  _upb_sethas(msg, 3);
2327
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = value;
3398
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2328
3399
  }
2329
3400
  UPB_INLINE void validate_RepeatedRules_set_items(validate_RepeatedRules *msg, validate_FieldRules* value) {
2330
3401
  _upb_sethas(msg, 4);
2331
- *UPB_PTR_AT(msg, UPB_SIZE(28, 32), validate_FieldRules*) = value;
3402
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), validate_FieldRules*) = value;
2332
3403
  }
2333
- UPB_INLINE struct validate_FieldRules* validate_RepeatedRules_mutable_items(validate_RepeatedRules *msg, upb_Arena *arena) {
3404
+ UPB_INLINE struct validate_FieldRules* validate_RepeatedRules_mutable_items(validate_RepeatedRules* msg, upb_Arena* arena) {
2334
3405
  struct validate_FieldRules* sub = (struct validate_FieldRules*)validate_RepeatedRules_items(msg);
2335
3406
  if (sub == NULL) {
2336
3407
  sub = (struct validate_FieldRules*)_upb_Message_New(&validate_FieldRules_msginit, arena);
@@ -2341,7 +3412,7 @@ UPB_INLINE struct validate_FieldRules* validate_RepeatedRules_mutable_items(vali
2341
3412
  }
2342
3413
  UPB_INLINE void validate_RepeatedRules_set_ignore_empty(validate_RepeatedRules *msg, bool value) {
2343
3414
  _upb_sethas(msg, 5);
2344
- *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool) = value;
3415
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = value;
2345
3416
  }
2346
3417
 
2347
3418
  /* validate.MapRules */
@@ -2369,54 +3440,92 @@ UPB_INLINE validate_MapRules* validate_MapRules_parse_ex(const char* buf, size_t
2369
3440
  return ret;
2370
3441
  }
2371
3442
  UPB_INLINE char* validate_MapRules_serialize(const validate_MapRules* msg, upb_Arena* arena, size_t* len) {
2372
- return upb_Encode(msg, &validate_MapRules_msginit, 0, arena, len);
3443
+ char* ptr;
3444
+ (void)upb_Encode(msg, &validate_MapRules_msginit, 0, arena, &ptr, len);
3445
+ return ptr;
2373
3446
  }
2374
3447
  UPB_INLINE char* validate_MapRules_serialize_ex(const validate_MapRules* msg, int options,
2375
3448
  upb_Arena* arena, size_t* len) {
2376
- return upb_Encode(msg, &validate_MapRules_msginit, options, arena, len);
3449
+ char* ptr;
3450
+ (void)upb_Encode(msg, &validate_MapRules_msginit, options, arena, &ptr, len);
3451
+ return ptr;
3452
+ }
3453
+ UPB_INLINE bool validate_MapRules_has_min_pairs(const validate_MapRules* msg) {
3454
+ return _upb_hasbit(msg, 1);
3455
+ }
3456
+ UPB_INLINE void validate_MapRules_clear_min_pairs(const validate_MapRules* msg) {
3457
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
3458
+ _upb_clearhas(msg, 1);
2377
3459
  }
2378
- UPB_INLINE bool validate_MapRules_has_min_pairs(const validate_MapRules *msg) { return _upb_hasbit(msg, 1); }
2379
3460
  UPB_INLINE uint64_t validate_MapRules_min_pairs(const validate_MapRules* msg) {
2380
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
3461
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
3462
+ }
3463
+ UPB_INLINE bool validate_MapRules_has_max_pairs(const validate_MapRules* msg) {
3464
+ return _upb_hasbit(msg, 2);
3465
+ }
3466
+ UPB_INLINE void validate_MapRules_clear_max_pairs(const validate_MapRules* msg) {
3467
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = 0;
3468
+ _upb_clearhas(msg, 2);
2381
3469
  }
2382
- UPB_INLINE bool validate_MapRules_has_max_pairs(const validate_MapRules *msg) { return _upb_hasbit(msg, 2); }
2383
3470
  UPB_INLINE uint64_t validate_MapRules_max_pairs(const validate_MapRules* msg) {
2384
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
3471
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t);
3472
+ }
3473
+ UPB_INLINE bool validate_MapRules_has_no_sparse(const validate_MapRules* msg) {
3474
+ return _upb_hasbit(msg, 3);
3475
+ }
3476
+ UPB_INLINE void validate_MapRules_clear_no_sparse(const validate_MapRules* msg) {
3477
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3478
+ _upb_clearhas(msg, 3);
2385
3479
  }
2386
- UPB_INLINE bool validate_MapRules_has_no_sparse(const validate_MapRules *msg) { return _upb_hasbit(msg, 3); }
2387
3480
  UPB_INLINE bool validate_MapRules_no_sparse(const validate_MapRules* msg) {
2388
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
3481
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
3482
+ }
3483
+ UPB_INLINE bool validate_MapRules_has_keys(const validate_MapRules* msg) {
3484
+ return _upb_hasbit(msg, 4);
3485
+ }
3486
+ UPB_INLINE void validate_MapRules_clear_keys(const validate_MapRules* msg) {
3487
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
2389
3488
  }
2390
- UPB_INLINE bool validate_MapRules_has_keys(const validate_MapRules *msg) { return _upb_hasbit(msg, 4); }
2391
3489
  UPB_INLINE const validate_FieldRules* validate_MapRules_keys(const validate_MapRules* msg) {
2392
- return *UPB_PTR_AT(msg, UPB_SIZE(28, 32), const validate_FieldRules*);
3490
+ return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const validate_FieldRules*);
3491
+ }
3492
+ UPB_INLINE bool validate_MapRules_has_values(const validate_MapRules* msg) {
3493
+ return _upb_hasbit(msg, 5);
3494
+ }
3495
+ UPB_INLINE void validate_MapRules_clear_values(const validate_MapRules* msg) {
3496
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const upb_Message*) = NULL;
2393
3497
  }
2394
- UPB_INLINE bool validate_MapRules_has_values(const validate_MapRules *msg) { return _upb_hasbit(msg, 5); }
2395
3498
  UPB_INLINE const validate_FieldRules* validate_MapRules_values(const validate_MapRules* msg) {
2396
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), const validate_FieldRules*);
3499
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const validate_FieldRules*);
3500
+ }
3501
+ UPB_INLINE bool validate_MapRules_has_ignore_empty(const validate_MapRules* msg) {
3502
+ return _upb_hasbit(msg, 6);
3503
+ }
3504
+ UPB_INLINE void validate_MapRules_clear_ignore_empty(const validate_MapRules* msg) {
3505
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3506
+ _upb_clearhas(msg, 6);
2397
3507
  }
2398
- UPB_INLINE bool validate_MapRules_has_ignore_empty(const validate_MapRules *msg) { return _upb_hasbit(msg, 6); }
2399
3508
  UPB_INLINE bool validate_MapRules_ignore_empty(const validate_MapRules* msg) {
2400
- return *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool);
3509
+ return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2401
3510
  }
2402
3511
 
2403
3512
  UPB_INLINE void validate_MapRules_set_min_pairs(validate_MapRules *msg, uint64_t value) {
2404
3513
  _upb_sethas(msg, 1);
2405
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
3514
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
2406
3515
  }
2407
3516
  UPB_INLINE void validate_MapRules_set_max_pairs(validate_MapRules *msg, uint64_t value) {
2408
3517
  _upb_sethas(msg, 2);
2409
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
3518
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = value;
2410
3519
  }
2411
3520
  UPB_INLINE void validate_MapRules_set_no_sparse(validate_MapRules *msg, bool value) {
2412
3521
  _upb_sethas(msg, 3);
2413
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = value;
3522
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2414
3523
  }
2415
3524
  UPB_INLINE void validate_MapRules_set_keys(validate_MapRules *msg, validate_FieldRules* value) {
2416
3525
  _upb_sethas(msg, 4);
2417
- *UPB_PTR_AT(msg, UPB_SIZE(28, 32), validate_FieldRules*) = value;
3526
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), validate_FieldRules*) = value;
2418
3527
  }
2419
- UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_keys(validate_MapRules *msg, upb_Arena *arena) {
3528
+ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_keys(validate_MapRules* msg, upb_Arena* arena) {
2420
3529
  struct validate_FieldRules* sub = (struct validate_FieldRules*)validate_MapRules_keys(msg);
2421
3530
  if (sub == NULL) {
2422
3531
  sub = (struct validate_FieldRules*)_upb_Message_New(&validate_FieldRules_msginit, arena);
@@ -2427,9 +3536,9 @@ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_keys(validate_M
2427
3536
  }
2428
3537
  UPB_INLINE void validate_MapRules_set_values(validate_MapRules *msg, validate_FieldRules* value) {
2429
3538
  _upb_sethas(msg, 5);
2430
- *UPB_PTR_AT(msg, UPB_SIZE(32, 40), validate_FieldRules*) = value;
3539
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), validate_FieldRules*) = value;
2431
3540
  }
2432
- UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_values(validate_MapRules *msg, upb_Arena *arena) {
3541
+ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_values(validate_MapRules* msg, upb_Arena* arena) {
2433
3542
  struct validate_FieldRules* sub = (struct validate_FieldRules*)validate_MapRules_values(msg);
2434
3543
  if (sub == NULL) {
2435
3544
  sub = (struct validate_FieldRules*)_upb_Message_New(&validate_FieldRules_msginit, arena);
@@ -2440,7 +3549,7 @@ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_values(validate
2440
3549
  }
2441
3550
  UPB_INLINE void validate_MapRules_set_ignore_empty(validate_MapRules *msg, bool value) {
2442
3551
  _upb_sethas(msg, 6);
2443
- *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool) = value;
3552
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = value;
2444
3553
  }
2445
3554
 
2446
3555
  /* validate.AnyRules */
@@ -2468,42 +3577,60 @@ UPB_INLINE validate_AnyRules* validate_AnyRules_parse_ex(const char* buf, size_t
2468
3577
  return ret;
2469
3578
  }
2470
3579
  UPB_INLINE char* validate_AnyRules_serialize(const validate_AnyRules* msg, upb_Arena* arena, size_t* len) {
2471
- return upb_Encode(msg, &validate_AnyRules_msginit, 0, arena, len);
3580
+ char* ptr;
3581
+ (void)upb_Encode(msg, &validate_AnyRules_msginit, 0, arena, &ptr, len);
3582
+ return ptr;
2472
3583
  }
2473
3584
  UPB_INLINE char* validate_AnyRules_serialize_ex(const validate_AnyRules* msg, int options,
2474
3585
  upb_Arena* arena, size_t* len) {
2475
- return upb_Encode(msg, &validate_AnyRules_msginit, options, arena, len);
3586
+ char* ptr;
3587
+ (void)upb_Encode(msg, &validate_AnyRules_msginit, options, arena, &ptr, len);
3588
+ return ptr;
3589
+ }
3590
+ UPB_INLINE bool validate_AnyRules_has_required(const validate_AnyRules* msg) {
3591
+ return _upb_hasbit(msg, 1);
3592
+ }
3593
+ UPB_INLINE void validate_AnyRules_clear_required(const validate_AnyRules* msg) {
3594
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3595
+ _upb_clearhas(msg, 1);
2476
3596
  }
2477
- UPB_INLINE bool validate_AnyRules_has_required(const validate_AnyRules *msg) { return _upb_hasbit(msg, 1); }
2478
3597
  UPB_INLINE bool validate_AnyRules_required(const validate_AnyRules* msg) {
2479
3598
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
2480
3599
  }
2481
- UPB_INLINE upb_StringView const* validate_AnyRules_in(const validate_AnyRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
2482
- UPB_INLINE upb_StringView const* validate_AnyRules_not_in(const validate_AnyRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); }
3600
+ UPB_INLINE void validate_AnyRules_clear_in(const validate_AnyRules* msg) {
3601
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
3602
+ }
3603
+ UPB_INLINE upb_StringView const* validate_AnyRules_in(const validate_AnyRules* msg, size_t* len) {
3604
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
3605
+ }
3606
+ UPB_INLINE void validate_AnyRules_clear_not_in(const validate_AnyRules* msg) {
3607
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
3608
+ }
3609
+ UPB_INLINE upb_StringView const* validate_AnyRules_not_in(const validate_AnyRules* msg, size_t* len) {
3610
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
3611
+ }
2483
3612
 
2484
3613
  UPB_INLINE void validate_AnyRules_set_required(validate_AnyRules *msg, bool value) {
2485
3614
  _upb_sethas(msg, 1);
2486
3615
  *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2487
3616
  }
2488
- UPB_INLINE upb_StringView* validate_AnyRules_mutable_in(validate_AnyRules *msg, size_t *len) {
3617
+ UPB_INLINE upb_StringView* validate_AnyRules_mutable_in(validate_AnyRules* msg, size_t* len) {
2489
3618
  return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
2490
3619
  }
2491
- UPB_INLINE upb_StringView* validate_AnyRules_resize_in(validate_AnyRules *msg, size_t len, upb_Arena *arena) {
3620
+ UPB_INLINE upb_StringView* validate_AnyRules_resize_in(validate_AnyRules* msg, size_t len, upb_Arena* arena) {
2492
3621
  return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(3, 4), arena);
2493
3622
  }
2494
- UPB_INLINE bool validate_AnyRules_add_in(validate_AnyRules *msg, upb_StringView val, upb_Arena *arena) {
2495
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), UPB_SIZE(3, 4), &val,
2496
- arena);
3623
+ UPB_INLINE bool validate_AnyRules_add_in(validate_AnyRules* msg, upb_StringView val, upb_Arena* arena) {
3624
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), UPB_SIZE(3, 4), &val, arena);
2497
3625
  }
2498
- UPB_INLINE upb_StringView* validate_AnyRules_mutable_not_in(validate_AnyRules *msg, size_t *len) {
3626
+ UPB_INLINE upb_StringView* validate_AnyRules_mutable_not_in(validate_AnyRules* msg, size_t* len) {
2499
3627
  return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
2500
3628
  }
2501
- UPB_INLINE upb_StringView* validate_AnyRules_resize_not_in(validate_AnyRules *msg, size_t len, upb_Arena *arena) {
3629
+ UPB_INLINE upb_StringView* validate_AnyRules_resize_not_in(validate_AnyRules* msg, size_t len, upb_Arena* arena) {
2502
3630
  return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(3, 4), arena);
2503
3631
  }
2504
- UPB_INLINE bool validate_AnyRules_add_not_in(validate_AnyRules *msg, upb_StringView val, upb_Arena *arena) {
2505
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), UPB_SIZE(3, 4), &val,
2506
- arena);
3632
+ UPB_INLINE bool validate_AnyRules_add_not_in(validate_AnyRules* msg, upb_StringView val, upb_Arena* arena) {
3633
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), UPB_SIZE(3, 4), &val, arena);
2507
3634
  }
2508
3635
 
2509
3636
  /* validate.DurationRules */
@@ -2531,40 +3658,89 @@ UPB_INLINE validate_DurationRules* validate_DurationRules_parse_ex(const char* b
2531
3658
  return ret;
2532
3659
  }
2533
3660
  UPB_INLINE char* validate_DurationRules_serialize(const validate_DurationRules* msg, upb_Arena* arena, size_t* len) {
2534
- return upb_Encode(msg, &validate_DurationRules_msginit, 0, arena, len);
3661
+ char* ptr;
3662
+ (void)upb_Encode(msg, &validate_DurationRules_msginit, 0, arena, &ptr, len);
3663
+ return ptr;
2535
3664
  }
2536
3665
  UPB_INLINE char* validate_DurationRules_serialize_ex(const validate_DurationRules* msg, int options,
2537
3666
  upb_Arena* arena, size_t* len) {
2538
- return upb_Encode(msg, &validate_DurationRules_msginit, options, arena, len);
3667
+ char* ptr;
3668
+ (void)upb_Encode(msg, &validate_DurationRules_msginit, options, arena, &ptr, len);
3669
+ return ptr;
3670
+ }
3671
+ UPB_INLINE bool validate_DurationRules_has_required(const validate_DurationRules* msg) {
3672
+ return _upb_hasbit(msg, 1);
3673
+ }
3674
+ UPB_INLINE void validate_DurationRules_clear_required(const validate_DurationRules* msg) {
3675
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3676
+ _upb_clearhas(msg, 1);
2539
3677
  }
2540
- UPB_INLINE bool validate_DurationRules_has_required(const validate_DurationRules *msg) { return _upb_hasbit(msg, 1); }
2541
3678
  UPB_INLINE bool validate_DurationRules_required(const validate_DurationRules* msg) {
2542
3679
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
2543
3680
  }
2544
- UPB_INLINE bool validate_DurationRules_has_const(const validate_DurationRules *msg) { return _upb_hasbit(msg, 2); }
3681
+ UPB_INLINE bool validate_DurationRules_has_const(const validate_DurationRules* msg) {
3682
+ return _upb_hasbit(msg, 2);
3683
+ }
3684
+ UPB_INLINE void validate_DurationRules_clear_const(const validate_DurationRules* msg) {
3685
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
3686
+ }
2545
3687
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_const(const validate_DurationRules* msg) {
2546
3688
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*);
2547
3689
  }
2548
- UPB_INLINE bool validate_DurationRules_has_lt(const validate_DurationRules *msg) { return _upb_hasbit(msg, 3); }
3690
+ UPB_INLINE bool validate_DurationRules_has_lt(const validate_DurationRules* msg) {
3691
+ return _upb_hasbit(msg, 3);
3692
+ }
3693
+ UPB_INLINE void validate_DurationRules_clear_lt(const validate_DurationRules* msg) {
3694
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const upb_Message*) = NULL;
3695
+ }
2549
3696
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_lt(const validate_DurationRules* msg) {
2550
3697
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Duration*);
2551
3698
  }
2552
- UPB_INLINE bool validate_DurationRules_has_lte(const validate_DurationRules *msg) { return _upb_hasbit(msg, 4); }
3699
+ UPB_INLINE bool validate_DurationRules_has_lte(const validate_DurationRules* msg) {
3700
+ return _upb_hasbit(msg, 4);
3701
+ }
3702
+ UPB_INLINE void validate_DurationRules_clear_lte(const validate_DurationRules* msg) {
3703
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const upb_Message*) = NULL;
3704
+ }
2553
3705
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_lte(const validate_DurationRules* msg) {
2554
3706
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Duration*);
2555
3707
  }
2556
- UPB_INLINE bool validate_DurationRules_has_gt(const validate_DurationRules *msg) { return _upb_hasbit(msg, 5); }
3708
+ UPB_INLINE bool validate_DurationRules_has_gt(const validate_DurationRules* msg) {
3709
+ return _upb_hasbit(msg, 5);
3710
+ }
3711
+ UPB_INLINE void validate_DurationRules_clear_gt(const validate_DurationRules* msg) {
3712
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const upb_Message*) = NULL;
3713
+ }
2557
3714
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_gt(const validate_DurationRules* msg) {
2558
3715
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_Duration*);
2559
3716
  }
2560
- UPB_INLINE bool validate_DurationRules_has_gte(const validate_DurationRules *msg) { return _upb_hasbit(msg, 6); }
3717
+ UPB_INLINE bool validate_DurationRules_has_gte(const validate_DurationRules* msg) {
3718
+ return _upb_hasbit(msg, 6);
3719
+ }
3720
+ UPB_INLINE void validate_DurationRules_clear_gte(const validate_DurationRules* msg) {
3721
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const upb_Message*) = NULL;
3722
+ }
2561
3723
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_gte(const validate_DurationRules* msg) {
2562
3724
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct google_protobuf_Duration*);
2563
3725
  }
2564
- UPB_INLINE bool validate_DurationRules_has_in(const validate_DurationRules *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); }
2565
- UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_in(const validate_DurationRules *msg, size_t *len) { return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len); }
2566
- UPB_INLINE bool validate_DurationRules_has_not_in(const validate_DurationRules *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56)); }
2567
- UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_not_in(const validate_DurationRules *msg, size_t *len) { return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); }
3726
+ UPB_INLINE bool validate_DurationRules_has_in(const validate_DurationRules* msg) {
3727
+ return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48));
3728
+ }
3729
+ UPB_INLINE void validate_DurationRules_clear_in(const validate_DurationRules* msg) {
3730
+ _upb_array_detach(msg, UPB_SIZE(24, 48));
3731
+ }
3732
+ UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_in(const validate_DurationRules* msg, size_t* len) {
3733
+ return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len);
3734
+ }
3735
+ UPB_INLINE bool validate_DurationRules_has_not_in(const validate_DurationRules* msg) {
3736
+ return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56));
3737
+ }
3738
+ UPB_INLINE void validate_DurationRules_clear_not_in(const validate_DurationRules* msg) {
3739
+ _upb_array_detach(msg, UPB_SIZE(28, 56));
3740
+ }
3741
+ UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_not_in(const validate_DurationRules* msg, size_t* len) {
3742
+ return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len);
3743
+ }
2568
3744
 
2569
3745
  UPB_INLINE void validate_DurationRules_set_required(validate_DurationRules *msg, bool value) {
2570
3746
  _upb_sethas(msg, 1);
@@ -2574,7 +3750,7 @@ UPB_INLINE void validate_DurationRules_set_const(validate_DurationRules *msg, st
2574
3750
  _upb_sethas(msg, 2);
2575
3751
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
2576
3752
  }
2577
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_const(validate_DurationRules *msg, upb_Arena *arena) {
3753
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_const(validate_DurationRules* msg, upb_Arena* arena) {
2578
3754
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_const(msg);
2579
3755
  if (sub == NULL) {
2580
3756
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2587,7 +3763,7 @@ UPB_INLINE void validate_DurationRules_set_lt(validate_DurationRules *msg, struc
2587
3763
  _upb_sethas(msg, 3);
2588
3764
  *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Duration*) = value;
2589
3765
  }
2590
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lt(validate_DurationRules *msg, upb_Arena *arena) {
3766
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lt(validate_DurationRules* msg, upb_Arena* arena) {
2591
3767
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_lt(msg);
2592
3768
  if (sub == NULL) {
2593
3769
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2600,7 +3776,7 @@ UPB_INLINE void validate_DurationRules_set_lte(validate_DurationRules *msg, stru
2600
3776
  _upb_sethas(msg, 4);
2601
3777
  *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Duration*) = value;
2602
3778
  }
2603
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lte(validate_DurationRules *msg, upb_Arena *arena) {
3779
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lte(validate_DurationRules* msg, upb_Arena* arena) {
2604
3780
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_lte(msg);
2605
3781
  if (sub == NULL) {
2606
3782
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2613,7 +3789,7 @@ UPB_INLINE void validate_DurationRules_set_gt(validate_DurationRules *msg, struc
2613
3789
  _upb_sethas(msg, 5);
2614
3790
  *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_Duration*) = value;
2615
3791
  }
2616
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gt(validate_DurationRules *msg, upb_Arena *arena) {
3792
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gt(validate_DurationRules* msg, upb_Arena* arena) {
2617
3793
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_gt(msg);
2618
3794
  if (sub == NULL) {
2619
3795
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2626,7 +3802,7 @@ UPB_INLINE void validate_DurationRules_set_gte(validate_DurationRules *msg, stru
2626
3802
  _upb_sethas(msg, 6);
2627
3803
  *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct google_protobuf_Duration*) = value;
2628
3804
  }
2629
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gte(validate_DurationRules *msg, upb_Arena *arena) {
3805
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gte(validate_DurationRules* msg, upb_Arena* arena) {
2630
3806
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_gte(msg);
2631
3807
  if (sub == NULL) {
2632
3808
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2635,29 +3811,27 @@ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gte(v
2635
3811
  }
2636
3812
  return sub;
2637
3813
  }
2638
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_in(validate_DurationRules *msg, size_t *len) {
3814
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_in(validate_DurationRules* msg, size_t* len) {
2639
3815
  return (struct google_protobuf_Duration**)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len);
2640
3816
  }
2641
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_in(validate_DurationRules *msg, size_t len, upb_Arena *arena) {
3817
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_in(validate_DurationRules* msg, size_t len, upb_Arena* arena) {
2642
3818
  return (struct google_protobuf_Duration**)_upb_Array_Resize_accessor2(msg, UPB_SIZE(24, 48), len, UPB_SIZE(2, 3), arena);
2643
3819
  }
2644
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_in(validate_DurationRules *msg, upb_Arena *arena) {
3820
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_in(validate_DurationRules* msg, upb_Arena* arena) {
2645
3821
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
2646
- bool ok = _upb_Array_Append_accessor2(
2647
- msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena);
3822
+ bool ok = _upb_Array_Append_accessor2(msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena);
2648
3823
  if (!ok) return NULL;
2649
3824
  return sub;
2650
3825
  }
2651
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_not_in(validate_DurationRules *msg, size_t *len) {
3826
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_not_in(validate_DurationRules* msg, size_t* len) {
2652
3827
  return (struct google_protobuf_Duration**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
2653
3828
  }
2654
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_not_in(validate_DurationRules *msg, size_t len, upb_Arena *arena) {
3829
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_not_in(validate_DurationRules* msg, size_t len, upb_Arena* arena) {
2655
3830
  return (struct google_protobuf_Duration**)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(2, 3), arena);
2656
3831
  }
2657
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_not_in(validate_DurationRules *msg, upb_Arena *arena) {
3832
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_not_in(validate_DurationRules* msg, upb_Arena* arena) {
2658
3833
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
2659
- bool ok = _upb_Array_Append_accessor2(
2660
- msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
3834
+ bool ok = _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
2661
3835
  if (!ok) return NULL;
2662
3836
  return sub;
2663
3837
  }
@@ -2687,45 +3861,97 @@ UPB_INLINE validate_TimestampRules* validate_TimestampRules_parse_ex(const char*
2687
3861
  return ret;
2688
3862
  }
2689
3863
  UPB_INLINE char* validate_TimestampRules_serialize(const validate_TimestampRules* msg, upb_Arena* arena, size_t* len) {
2690
- return upb_Encode(msg, &validate_TimestampRules_msginit, 0, arena, len);
3864
+ char* ptr;
3865
+ (void)upb_Encode(msg, &validate_TimestampRules_msginit, 0, arena, &ptr, len);
3866
+ return ptr;
2691
3867
  }
2692
3868
  UPB_INLINE char* validate_TimestampRules_serialize_ex(const validate_TimestampRules* msg, int options,
2693
3869
  upb_Arena* arena, size_t* len) {
2694
- return upb_Encode(msg, &validate_TimestampRules_msginit, options, arena, len);
3870
+ char* ptr;
3871
+ (void)upb_Encode(msg, &validate_TimestampRules_msginit, options, arena, &ptr, len);
3872
+ return ptr;
3873
+ }
3874
+ UPB_INLINE bool validate_TimestampRules_has_required(const validate_TimestampRules* msg) {
3875
+ return _upb_hasbit(msg, 1);
3876
+ }
3877
+ UPB_INLINE void validate_TimestampRules_clear_required(const validate_TimestampRules* msg) {
3878
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3879
+ _upb_clearhas(msg, 1);
2695
3880
  }
2696
- UPB_INLINE bool validate_TimestampRules_has_required(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 1); }
2697
3881
  UPB_INLINE bool validate_TimestampRules_required(const validate_TimestampRules* msg) {
2698
3882
  return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2699
3883
  }
2700
- UPB_INLINE bool validate_TimestampRules_has_const(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 2); }
3884
+ UPB_INLINE bool validate_TimestampRules_has_const(const validate_TimestampRules* msg) {
3885
+ return _upb_hasbit(msg, 2);
3886
+ }
3887
+ UPB_INLINE void validate_TimestampRules_clear_const(const validate_TimestampRules* msg) {
3888
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const upb_Message*) = NULL;
3889
+ }
2701
3890
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_const(const validate_TimestampRules* msg) {
2702
3891
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const struct google_protobuf_Timestamp*);
2703
3892
  }
2704
- UPB_INLINE bool validate_TimestampRules_has_lt(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 3); }
3893
+ UPB_INLINE bool validate_TimestampRules_has_lt(const validate_TimestampRules* msg) {
3894
+ return _upb_hasbit(msg, 3);
3895
+ }
3896
+ UPB_INLINE void validate_TimestampRules_clear_lt(const validate_TimestampRules* msg) {
3897
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), const upb_Message*) = NULL;
3898
+ }
2705
3899
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_lt(const validate_TimestampRules* msg) {
2706
3900
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), const struct google_protobuf_Timestamp*);
2707
3901
  }
2708
- UPB_INLINE bool validate_TimestampRules_has_lte(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 4); }
3902
+ UPB_INLINE bool validate_TimestampRules_has_lte(const validate_TimestampRules* msg) {
3903
+ return _upb_hasbit(msg, 4);
3904
+ }
3905
+ UPB_INLINE void validate_TimestampRules_clear_lte(const validate_TimestampRules* msg) {
3906
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const upb_Message*) = NULL;
3907
+ }
2709
3908
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_lte(const validate_TimestampRules* msg) {
2710
3909
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_Timestamp*);
2711
3910
  }
2712
- UPB_INLINE bool validate_TimestampRules_has_gt(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 5); }
3911
+ UPB_INLINE bool validate_TimestampRules_has_gt(const validate_TimestampRules* msg) {
3912
+ return _upb_hasbit(msg, 5);
3913
+ }
3914
+ UPB_INLINE void validate_TimestampRules_clear_gt(const validate_TimestampRules* msg) {
3915
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const upb_Message*) = NULL;
3916
+ }
2713
3917
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_gt(const validate_TimestampRules* msg) {
2714
3918
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_Timestamp*);
2715
3919
  }
2716
- UPB_INLINE bool validate_TimestampRules_has_gte(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 6); }
3920
+ UPB_INLINE bool validate_TimestampRules_has_gte(const validate_TimestampRules* msg) {
3921
+ return _upb_hasbit(msg, 6);
3922
+ }
3923
+ UPB_INLINE void validate_TimestampRules_clear_gte(const validate_TimestampRules* msg) {
3924
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const upb_Message*) = NULL;
3925
+ }
2717
3926
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_gte(const validate_TimestampRules* msg) {
2718
3927
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct google_protobuf_Timestamp*);
2719
3928
  }
2720
- UPB_INLINE bool validate_TimestampRules_has_lt_now(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 7); }
3929
+ UPB_INLINE bool validate_TimestampRules_has_lt_now(const validate_TimestampRules* msg) {
3930
+ return _upb_hasbit(msg, 7);
3931
+ }
3932
+ UPB_INLINE void validate_TimestampRules_clear_lt_now(const validate_TimestampRules* msg) {
3933
+ *UPB_PTR_AT(msg, UPB_SIZE(3, 3), bool) = 0;
3934
+ _upb_clearhas(msg, 7);
3935
+ }
2721
3936
  UPB_INLINE bool validate_TimestampRules_lt_now(const validate_TimestampRules* msg) {
2722
3937
  return *UPB_PTR_AT(msg, UPB_SIZE(3, 3), bool);
2723
3938
  }
2724
- UPB_INLINE bool validate_TimestampRules_has_gt_now(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 8); }
3939
+ UPB_INLINE bool validate_TimestampRules_has_gt_now(const validate_TimestampRules* msg) {
3940
+ return _upb_hasbit(msg, 8);
3941
+ }
3942
+ UPB_INLINE void validate_TimestampRules_clear_gt_now(const validate_TimestampRules* msg) {
3943
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool) = 0;
3944
+ _upb_clearhas(msg, 8);
3945
+ }
2725
3946
  UPB_INLINE bool validate_TimestampRules_gt_now(const validate_TimestampRules* msg) {
2726
3947
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool);
2727
3948
  }
2728
- UPB_INLINE bool validate_TimestampRules_has_within(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 9); }
3949
+ UPB_INLINE bool validate_TimestampRules_has_within(const validate_TimestampRules* msg) {
3950
+ return _upb_hasbit(msg, 9);
3951
+ }
3952
+ UPB_INLINE void validate_TimestampRules_clear_within(const validate_TimestampRules* msg) {
3953
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const upb_Message*) = NULL;
3954
+ }
2729
3955
  UPB_INLINE const struct google_protobuf_Duration* validate_TimestampRules_within(const validate_TimestampRules* msg) {
2730
3956
  return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const struct google_protobuf_Duration*);
2731
3957
  }
@@ -2738,7 +3964,7 @@ UPB_INLINE void validate_TimestampRules_set_const(validate_TimestampRules *msg,
2738
3964
  _upb_sethas(msg, 2);
2739
3965
  *UPB_PTR_AT(msg, UPB_SIZE(8, 8), struct google_protobuf_Timestamp*) = value;
2740
3966
  }
2741
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_const(validate_TimestampRules *msg, upb_Arena *arena) {
3967
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_const(validate_TimestampRules* msg, upb_Arena* arena) {
2742
3968
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_const(msg);
2743
3969
  if (sub == NULL) {
2744
3970
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2751,7 +3977,7 @@ UPB_INLINE void validate_TimestampRules_set_lt(validate_TimestampRules *msg, str
2751
3977
  _upb_sethas(msg, 3);
2752
3978
  *UPB_PTR_AT(msg, UPB_SIZE(12, 16), struct google_protobuf_Timestamp*) = value;
2753
3979
  }
2754
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lt(validate_TimestampRules *msg, upb_Arena *arena) {
3980
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lt(validate_TimestampRules* msg, upb_Arena* arena) {
2755
3981
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_lt(msg);
2756
3982
  if (sub == NULL) {
2757
3983
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2764,7 +3990,7 @@ UPB_INLINE void validate_TimestampRules_set_lte(validate_TimestampRules *msg, st
2764
3990
  _upb_sethas(msg, 4);
2765
3991
  *UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_Timestamp*) = value;
2766
3992
  }
2767
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lte(validate_TimestampRules *msg, upb_Arena *arena) {
3993
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lte(validate_TimestampRules* msg, upb_Arena* arena) {
2768
3994
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_lte(msg);
2769
3995
  if (sub == NULL) {
2770
3996
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2777,7 +4003,7 @@ UPB_INLINE void validate_TimestampRules_set_gt(validate_TimestampRules *msg, str
2777
4003
  _upb_sethas(msg, 5);
2778
4004
  *UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_Timestamp*) = value;
2779
4005
  }
2780
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gt(validate_TimestampRules *msg, upb_Arena *arena) {
4006
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gt(validate_TimestampRules* msg, upb_Arena* arena) {
2781
4007
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_gt(msg);
2782
4008
  if (sub == NULL) {
2783
4009
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2790,7 +4016,7 @@ UPB_INLINE void validate_TimestampRules_set_gte(validate_TimestampRules *msg, st
2790
4016
  _upb_sethas(msg, 6);
2791
4017
  *UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct google_protobuf_Timestamp*) = value;
2792
4018
  }
2793
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gte(validate_TimestampRules *msg, upb_Arena *arena) {
4019
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gte(validate_TimestampRules* msg, upb_Arena* arena) {
2794
4020
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_gte(msg);
2795
4021
  if (sub == NULL) {
2796
4022
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2811,7 +4037,7 @@ UPB_INLINE void validate_TimestampRules_set_within(validate_TimestampRules *msg,
2811
4037
  _upb_sethas(msg, 9);
2812
4038
  *UPB_PTR_AT(msg, UPB_SIZE(28, 48), struct google_protobuf_Duration*) = value;
2813
4039
  }
2814
- UPB_INLINE struct google_protobuf_Duration* validate_TimestampRules_mutable_within(validate_TimestampRules *msg, upb_Arena *arena) {
4040
+ UPB_INLINE struct google_protobuf_Duration* validate_TimestampRules_mutable_within(validate_TimestampRules* msg, upb_Arena* arena) {
2815
4041
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_TimestampRules_within(msg);
2816
4042
  if (sub == NULL) {
2817
4043
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2821,14 +4047,53 @@ UPB_INLINE struct google_protobuf_Duration* validate_TimestampRules_mutable_with
2821
4047
  return sub;
2822
4048
  }
2823
4049
 
2824
- UPB_INLINE bool validate_has_disabled(const struct google_protobuf_MessageOptions *msg) { return _upb_Message_Getext(msg, &validate_disabled_ext) != NULL; }
2825
- UPB_INLINE bool validate_disabled(const struct google_protobuf_MessageOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_disabled_ext); return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false; }
2826
- UPB_INLINE bool validate_has_ignored(const struct google_protobuf_MessageOptions *msg) { return _upb_Message_Getext(msg, &validate_ignored_ext) != NULL; }
2827
- UPB_INLINE bool validate_ignored(const struct google_protobuf_MessageOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_ignored_ext); return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false; }
2828
- UPB_INLINE bool validate_has_required(const struct google_protobuf_OneofOptions *msg) { return _upb_Message_Getext(msg, &validate_required_ext) != NULL; }
2829
- UPB_INLINE bool validate_required(const struct google_protobuf_OneofOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_required_ext); return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false; }
2830
- UPB_INLINE bool validate_has_rules(const struct google_protobuf_FieldOptions *msg) { return _upb_Message_Getext(msg, &validate_rules_ext) != NULL; }
2831
- UPB_INLINE const validate_FieldRules* validate_rules(const struct google_protobuf_FieldOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_rules_ext); UPB_ASSERT(ext); return *UPB_PTR_AT(&ext->data, 0, const validate_FieldRules*); }
4050
+ UPB_INLINE bool validate_has_disabled(const struct google_protobuf_MessageOptions* msg) {
4051
+ return _upb_Message_Getext(msg, &validate_disabled_ext) != NULL;
4052
+ }
4053
+ UPB_INLINE void validate_clear_disabled(struct google_protobuf_MessageOptions* msg) {
4054
+ _upb_Message_Clearext(msg, &validate_disabled_ext);
4055
+ }
4056
+ UPB_INLINE bool validate_disabled(const struct google_protobuf_MessageOptions* msg) {
4057
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_disabled_ext);
4058
+ return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false;
4059
+ }
4060
+ UPB_INLINE bool validate_has_ignored(const struct google_protobuf_MessageOptions* msg) {
4061
+ return _upb_Message_Getext(msg, &validate_ignored_ext) != NULL;
4062
+ }
4063
+ UPB_INLINE void validate_clear_ignored(struct google_protobuf_MessageOptions* msg) {
4064
+ _upb_Message_Clearext(msg, &validate_ignored_ext);
4065
+ }
4066
+ UPB_INLINE bool validate_ignored(const struct google_protobuf_MessageOptions* msg) {
4067
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_ignored_ext);
4068
+ return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false;
4069
+ }
4070
+ UPB_INLINE bool validate_has_required(const struct google_protobuf_OneofOptions* msg) {
4071
+ return _upb_Message_Getext(msg, &validate_required_ext) != NULL;
4072
+ }
4073
+ UPB_INLINE void validate_clear_required(struct google_protobuf_OneofOptions* msg) {
4074
+ _upb_Message_Clearext(msg, &validate_required_ext);
4075
+ }
4076
+ UPB_INLINE bool validate_required(const struct google_protobuf_OneofOptions* msg) {
4077
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_required_ext);
4078
+ return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false;
4079
+ }
4080
+ UPB_INLINE bool validate_has_rules(const struct google_protobuf_FieldOptions* msg) {
4081
+ return _upb_Message_Getext(msg, &validate_rules_ext) != NULL;
4082
+ }
4083
+ UPB_INLINE void validate_clear_rules(struct google_protobuf_FieldOptions* msg) {
4084
+ _upb_Message_Clearext(msg, &validate_rules_ext);
4085
+ }
4086
+ UPB_INLINE const validate_FieldRules* validate_rules(const struct google_protobuf_FieldOptions* msg) {
4087
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_rules_ext);
4088
+ UPB_ASSERT(ext);
4089
+ return *UPB_PTR_AT(&ext->data, 0, const validate_FieldRules*);
4090
+ }
4091
+ UPB_INLINE void validate_set_rules(struct google_protobuf_FieldOptions* msg, const validate_FieldRules* ext, upb_Arena* arena) {
4092
+ const upb_Message_Extension* msg_ext =
4093
+ _upb_Message_GetOrCreateExtension(msg, &validate_rules_ext, arena);
4094
+ UPB_ASSERT(msg_ext);
4095
+ *UPB_PTR_AT(&msg_ext->data, 0, const validate_FieldRules*) = ext;
4096
+ }
2832
4097
  extern const upb_MiniTable_File validate_validate_proto_upb_file_layout;
2833
4098
 
2834
4099
  #ifdef __cplusplus