grpc 1.75.0.pre1 → 1.76.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +18 -5
  3. data/include/grpc/credentials.h +21 -5
  4. data/src/core/call/call_filters.cc +4 -4
  5. data/src/core/call/call_filters.h +36 -36
  6. data/src/core/call/call_spine.h +27 -27
  7. data/src/core/call/client_call.cc +6 -5
  8. data/src/core/call/filter_fusion.h +5 -5
  9. data/src/core/call/metadata_batch.h +3 -3
  10. data/src/core/call/security_context.cc +1 -1
  11. data/src/core/call/server_call.cc +4 -4
  12. data/src/core/call/server_call.h +1 -1
  13. data/src/core/channelz/channelz.cc +12 -18
  14. data/src/core/channelz/channelz.h +32 -16
  15. data/src/core/channelz/channelz_registry.h +11 -0
  16. data/src/core/channelz/property_list.cc +18 -0
  17. data/src/core/channelz/property_list.h +10 -1
  18. data/src/core/channelz/text_encode.cc +66 -0
  19. data/src/core/channelz/text_encode.h +29 -0
  20. data/src/core/channelz/v2tov1/convert.cc +11 -0
  21. data/src/core/channelz/v2tov1/legacy_api.cc +15 -8
  22. data/src/core/channelz/ztrace_collector.h +247 -86
  23. data/src/core/client_channel/backup_poller.cc +5 -6
  24. data/src/core/client_channel/client_channel.cc +20 -13
  25. data/src/core/client_channel/client_channel_filter.cc +53 -45
  26. data/src/core/client_channel/client_channel_filter.h +2 -2
  27. data/src/core/client_channel/client_channel_internal.h +3 -4
  28. data/src/core/client_channel/config_selector.h +3 -3
  29. data/src/core/client_channel/dynamic_filters.cc +3 -3
  30. data/src/core/client_channel/global_subchannel_pool.cc +0 -37
  31. data/src/core/client_channel/global_subchannel_pool.h +0 -27
  32. data/src/core/client_channel/load_balanced_call_destination.cc +7 -7
  33. data/src/core/client_channel/local_subchannel_pool.cc +4 -4
  34. data/src/core/client_channel/retry_filter.h +3 -3
  35. data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
  36. data/src/core/client_channel/subchannel.cc +8 -8
  37. data/src/core/client_channel/subchannel_stream_client.cc +4 -4
  38. data/src/core/config/config_vars.cc +30 -1
  39. data/src/core/config/config_vars.h +21 -0
  40. data/src/core/config/core_configuration.cc +5 -5
  41. data/src/core/config/core_configuration.h +7 -7
  42. data/src/core/config/load_config.cc +12 -0
  43. data/src/core/config/load_config.h +2 -0
  44. data/src/core/credentials/call/call_credentials.h +2 -2
  45. data/src/core/credentials/call/call_creds_util.cc +4 -3
  46. data/src/core/credentials/call/composite/composite_call_credentials.cc +4 -4
  47. data/src/core/credentials/call/external/aws_external_account_credentials.cc +3 -3
  48. data/src/core/credentials/call/external/external_account_credentials.cc +1 -1
  49. data/src/core/credentials/call/external/url_external_account_credentials.cc +1 -1
  50. data/src/core/credentials/call/iam/iam_credentials.cc +4 -4
  51. data/src/core/credentials/call/jwt/json_token.cc +3 -3
  52. data/src/core/credentials/call/jwt/jwt_credentials.cc +2 -2
  53. data/src/core/credentials/call/jwt/jwt_verifier.cc +14 -13
  54. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +20 -12
  55. data/src/core/credentials/call/plugin/plugin_credentials.cc +2 -2
  56. data/src/core/credentials/transport/alts/alts_credentials.cc +4 -4
  57. data/src/core/credentials/transport/alts/alts_security_connector.cc +14 -12
  58. data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +22 -2
  59. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +10 -1
  60. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +31 -0
  61. data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +8 -3
  62. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +5 -5
  63. data/src/core/credentials/transport/fake/fake_security_connector.cc +2 -2
  64. data/src/core/credentials/transport/google_default/google_default_credentials.cc +78 -28
  65. data/src/core/credentials/transport/insecure/insecure_security_connector.cc +3 -3
  66. data/src/core/credentials/transport/local/local_security_connector.cc +8 -8
  67. data/src/core/credentials/transport/security_connector.cc +5 -5
  68. data/src/core/credentials/transport/ssl/ssl_credentials.cc +12 -12
  69. data/src/core/credentials/transport/ssl/ssl_credentials.h +2 -2
  70. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +3 -3
  71. data/src/core/credentials/transport/tls/certificate_provider_registry.cc +2 -2
  72. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +24 -24
  73. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +5 -5
  74. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +2 -2
  75. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +2 -2
  76. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +2 -2
  77. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +17 -17
  78. data/src/core/credentials/transport/tls/ssl_utils.cc +14 -9
  79. data/src/core/credentials/transport/tls/tls_credentials.cc +2 -2
  80. data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -11
  81. data/src/core/credentials/transport/transport_credentials.cc +2 -2
  82. data/src/core/credentials/transport/transport_credentials.h +2 -2
  83. data/src/core/credentials/transport/xds/xds_credentials.cc +5 -5
  84. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +2 -0
  85. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +1 -1
  86. data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
  87. data/src/core/ext/filters/http/message_compress/compression_filter.h +3 -3
  88. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -7
  89. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
  90. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -9
  91. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +10 -7
  92. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
  93. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
  94. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +96 -88
  95. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  96. data/src/core/ext/transport/chttp2/transport/flow_control.h +12 -7
  97. data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +60 -0
  98. data/src/core/ext/transport/chttp2/transport/frame.cc +32 -10
  99. data/src/core/ext/transport/chttp2/transport/frame.h +16 -2
  100. data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -2
  101. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -4
  102. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -2
  103. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -2
  104. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +3 -3
  105. data/src/core/ext/transport/chttp2/transport/header_assembler.h +28 -12
  106. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -2
  107. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -2
  108. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
  109. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -2
  110. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +2 -2
  111. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +27 -27
  112. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
  113. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
  114. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +543 -366
  115. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +198 -277
  116. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +3 -0
  117. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +11 -0
  118. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +179 -0
  119. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +51 -23
  120. data/src/core/ext/transport/chttp2/transport/http2_transport.h +13 -6
  121. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +115 -71
  122. data/src/core/ext/transport/chttp2/transport/internal.h +6 -14
  123. data/src/core/ext/transport/chttp2/transport/message_assembler.h +7 -7
  124. data/src/core/ext/transport/chttp2/transport/parsing.cc +17 -15
  125. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
  126. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +62 -26
  127. data/src/core/ext/transport/chttp2/transport/ping_promise.h +58 -22
  128. data/src/core/ext/transport/chttp2/transport/stream.h +207 -0
  129. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +328 -187
  130. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +7 -7
  131. data/src/core/ext/transport/chttp2/transport/transport_common.cc +17 -1
  132. data/src/core/ext/transport/chttp2/transport/transport_common.h +52 -0
  133. data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
  134. data/src/core/ext/transport/chttp2/transport/writable_streams.h +181 -79
  135. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
  136. data/src/core/ext/transport/chttp2/transport/writing.cc +3 -3
  137. data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
  138. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +3 -3
  139. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +740 -0
  140. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +218 -0
  141. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +46 -0
  142. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +87 -55
  143. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +23 -21
  144. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.c +80 -0
  145. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.h +47 -0
  146. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.c +129 -0
  147. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.h +72 -0
  148. data/src/core/filter/auth/server_auth_filter.cc +2 -2
  149. data/src/core/handshaker/handshaker.cc +3 -3
  150. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +2 -2
  151. data/src/core/handshaker/security/legacy_secure_endpoint.cc +2 -2
  152. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +31 -8
  153. data/src/core/handshaker/security/secure_endpoint.cc +16 -6
  154. data/src/core/handshaker/security/security_handshaker.cc +3 -3
  155. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -2
  156. data/src/core/lib/channel/channel_stack.cc +8 -5
  157. data/src/core/lib/channel/channel_stack.h +3 -0
  158. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -0
  159. data/src/core/lib/channel/connected_channel.cc +2 -2
  160. data/src/core/lib/channel/promise_based_filter.cc +69 -64
  161. data/src/core/lib/channel/promise_based_filter.h +16 -15
  162. data/src/core/lib/compression/compression_internal.cc +2 -2
  163. data/src/core/lib/compression/message_compress.cc +7 -7
  164. data/src/core/lib/event_engine/ares_resolver.cc +22 -20
  165. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -2
  166. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +2 -2
  167. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -2
  168. data/src/core/lib/event_engine/extensions/channelz.h +2 -2
  169. data/src/core/lib/event_engine/extensions/supports_fd.h +5 -5
  170. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +8 -8
  171. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +10 -10
  172. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -2
  173. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +23 -22
  174. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -11
  175. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +168 -170
  176. data/src/core/lib/event_engine/posix_engine/posix_engine.h +33 -54
  177. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -3
  178. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +5 -5
  179. data/src/core/lib/event_engine/posix_engine/posix_interface.h +1 -1
  180. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1 -1
  181. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +3 -3
  182. data/src/core/lib/event_engine/resolved_address.cc +3 -3
  183. data/src/core/lib/event_engine/shim.cc +8 -11
  184. data/src/core/lib/event_engine/shim.h +2 -1
  185. data/src/core/lib/event_engine/slice.cc +2 -2
  186. data/src/core/lib/event_engine/tcp_socket_utils.cc +11 -11
  187. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +7 -7
  188. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +31 -31
  189. data/src/core/lib/event_engine/windows/iocp.cc +10 -10
  190. data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
  191. data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -11
  192. data/src/core/lib/event_engine/windows/windows_engine.cc +16 -14
  193. data/src/core/lib/event_engine/windows/windows_listener.cc +7 -7
  194. data/src/core/lib/experiments/experiments.cc +105 -18
  195. data/src/core/lib/experiments/experiments.h +43 -11
  196. data/src/core/lib/iomgr/call_combiner.cc +3 -3
  197. data/src/core/lib/iomgr/endpoint_cfstream.cc +6 -6
  198. data/src/core/lib/iomgr/endpoint_pair_posix.cc +5 -5
  199. data/src/core/lib/iomgr/endpoint_pair_windows.cc +15 -14
  200. data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -15
  201. data/src/core/lib/iomgr/ev_poll_posix.cc +11 -11
  202. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +5 -4
  203. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
  204. data/src/core/lib/iomgr/iocp_windows.cc +8 -8
  205. data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
  206. data/src/core/lib/iomgr/lockfree_event.cc +2 -2
  207. data/src/core/lib/iomgr/polling_entity.cc +3 -3
  208. data/src/core/lib/iomgr/socket_utils_common_posix.cc +2 -2
  209. data/src/core/lib/iomgr/socket_windows.cc +4 -4
  210. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
  211. data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
  212. data/src/core/lib/iomgr/tcp_posix.cc +42 -42
  213. data/src/core/lib/iomgr/tcp_server.cc +5 -0
  214. data/src/core/lib/iomgr/tcp_server.h +7 -0
  215. data/src/core/lib/iomgr/tcp_server_posix.cc +47 -27
  216. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
  217. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -5
  218. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
  219. data/src/core/lib/iomgr/tcp_server_windows.cc +68 -29
  220. data/src/core/lib/iomgr/tcp_windows.cc +7 -7
  221. data/src/core/lib/iomgr/timer_generic.cc +2 -2
  222. data/src/core/lib/iomgr/timer_manager.cc +2 -2
  223. data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
  224. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
  225. data/src/core/lib/promise/activity.cc +2 -2
  226. data/src/core/lib/promise/activity.h +6 -6
  227. data/src/core/lib/promise/context.h +2 -2
  228. data/src/core/lib/promise/detail/join_state.h +9 -9
  229. data/src/core/lib/promise/detail/seq_state.h +13 -13
  230. data/src/core/lib/promise/detail/status.h +2 -2
  231. data/src/core/lib/promise/for_each.h +5 -5
  232. data/src/core/lib/promise/interceptor_list.h +2 -2
  233. data/src/core/lib/promise/latch.h +7 -7
  234. data/src/core/lib/promise/mpsc.cc +26 -26
  235. data/src/core/lib/promise/mpsc.h +2 -2
  236. data/src/core/lib/promise/observable.h +4 -4
  237. data/src/core/lib/promise/party.cc +32 -25
  238. data/src/core/lib/promise/party.h +16 -19
  239. data/src/core/lib/promise/pipe.h +15 -15
  240. data/src/core/lib/promise/poll.h +5 -4
  241. data/src/core/lib/promise/promise.h +0 -2
  242. data/src/core/lib/promise/sleep.cc +3 -1
  243. data/src/core/lib/promise/status_flag.h +7 -7
  244. data/src/core/lib/promise/try_join.h +2 -2
  245. data/src/core/lib/promise/try_seq.h +2 -2
  246. data/src/core/lib/resource_quota/arena.h +15 -2
  247. data/src/core/lib/resource_quota/connection_quota.cc +9 -7
  248. data/src/core/lib/resource_quota/memory_quota.cc +45 -24
  249. data/src/core/lib/resource_quota/memory_quota.h +48 -16
  250. data/src/core/lib/resource_quota/telemetry.h +54 -0
  251. data/src/core/lib/resource_quota/thread_quota.cc +2 -2
  252. data/src/core/lib/resource_tracker/resource_tracker.cc +33 -0
  253. data/src/core/lib/resource_tracker/resource_tracker.h +46 -0
  254. data/src/core/lib/security/authorization/audit_logging.cc +5 -5
  255. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
  256. data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
  257. data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
  258. data/src/core/lib/surface/call.cc +16 -14
  259. data/src/core/lib/surface/call.h +1 -1
  260. data/src/core/lib/surface/call_utils.cc +2 -2
  261. data/src/core/lib/surface/call_utils.h +2 -2
  262. data/src/core/lib/surface/channel.cc +4 -4
  263. data/src/core/lib/surface/channel_create.cc +10 -6
  264. data/src/core/lib/surface/channel_init.cc +80 -23
  265. data/src/core/lib/surface/channel_init.h +26 -11
  266. data/src/core/lib/surface/completion_queue.cc +17 -16
  267. data/src/core/lib/surface/completion_queue_factory.cc +7 -7
  268. data/src/core/lib/surface/connection_context.h +45 -2
  269. data/src/core/lib/surface/filter_stack_call.cc +12 -23
  270. data/src/core/lib/surface/filter_stack_call.h +3 -4
  271. data/src/core/lib/surface/legacy_channel.cc +7 -7
  272. data/src/core/lib/surface/validate_metadata.h +2 -2
  273. data/src/core/lib/surface/version.cc +2 -2
  274. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  275. data/src/core/lib/transport/bdp_estimator.h +3 -3
  276. data/src/core/lib/transport/promise_endpoint.cc +3 -3
  277. data/src/core/lib/transport/promise_endpoint.h +8 -8
  278. data/src/core/lib/transport/timeout_encoding.cc +4 -4
  279. data/src/core/load_balancing/child_policy_handler.cc +4 -4
  280. data/src/core/load_balancing/endpoint_list.cc +2 -2
  281. data/src/core/load_balancing/grpclb/grpclb.cc +24 -24
  282. data/src/core/load_balancing/health_check_client.cc +4 -4
  283. data/src/core/load_balancing/health_check_client_internal.h +2 -2
  284. data/src/core/load_balancing/lb_policy_registry.cc +2 -2
  285. data/src/core/load_balancing/oob_backend_metric.cc +4 -4
  286. data/src/core/load_balancing/oob_backend_metric_internal.h +2 -2
  287. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
  288. data/src/core/load_balancing/pick_first/pick_first.cc +14 -14
  289. data/src/core/load_balancing/priority/priority.cc +23 -24
  290. data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -3
  291. data/src/core/load_balancing/rls/rls.cc +13 -13
  292. data/src/core/load_balancing/round_robin/round_robin.cc +9 -9
  293. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +3 -3
  294. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +33 -26
  295. data/src/core/load_balancing/weighted_target/weighted_target.cc +5 -5
  296. data/src/core/load_balancing/xds/cds.cc +76 -32
  297. data/src/core/load_balancing/xds/xds_cluster_impl.cc +3 -3
  298. data/src/core/load_balancing/xds/xds_override_host.cc +4 -4
  299. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  300. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +33 -33
  301. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +10 -10
  302. data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -3
  303. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +2 -2
  304. data/src/core/resolver/endpoint_addresses.cc +3 -3
  305. data/src/core/resolver/endpoint_addresses.h +3 -0
  306. data/src/core/resolver/fake/fake_resolver.cc +2 -2
  307. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +41 -54
  308. data/src/core/resolver/polling_resolver.cc +3 -3
  309. data/src/core/resolver/resolver_registry.cc +5 -4
  310. data/src/core/resolver/xds/xds_dependency_manager.cc +5 -5
  311. data/src/core/resolver/xds/xds_resolver.cc +9 -9
  312. data/src/core/server/server.cc +38 -38
  313. data/src/core/server/server_call_tracer_filter.h +4 -4
  314. data/src/core/server/server_config_selector_filter.cc +2 -2
  315. data/src/core/server/xds_server_config_fetcher.cc +9 -8
  316. data/src/core/service_config/service_config_impl.h +2 -2
  317. data/src/core/telemetry/call_tracer.cc +39 -49
  318. data/src/core/telemetry/call_tracer.h +199 -22
  319. data/src/core/telemetry/histogram.h +205 -0
  320. data/src/core/telemetry/instrument.cc +719 -0
  321. data/src/core/telemetry/instrument.h +932 -0
  322. data/src/core/telemetry/metrics.cc +13 -5
  323. data/src/core/telemetry/metrics.h +3 -1
  324. data/src/core/telemetry/stats_data.cc +0 -19
  325. data/src/core/telemetry/stats_data.h +0 -19
  326. data/src/core/transport/auth_context.cc +2 -2
  327. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +78 -45
  328. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -0
  329. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +3 -3
  330. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +39 -31
  331. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
  332. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -3
  333. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +7 -7
  334. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -3
  335. data/src/core/tsi/fake_transport_security.cc +4 -4
  336. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -4
  337. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -9
  338. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -3
  339. data/src/core/tsi/ssl_transport_security.cc +26 -25
  340. data/src/core/tsi/ssl_transport_security_utils.cc +9 -9
  341. data/src/core/util/chunked_vector.h +4 -4
  342. data/src/core/util/event_log.cc +2 -2
  343. data/src/core/util/gcp_metadata_query.cc +2 -2
  344. data/src/core/util/grpc_check.cc +22 -0
  345. data/src/core/util/grpc_check.h +103 -0
  346. data/src/core/util/http_client/httpcli.cc +3 -3
  347. data/src/core/util/http_client/parser.cc +4 -4
  348. data/src/core/util/latent_see.h +7 -4
  349. data/src/core/util/lru_cache.h +4 -4
  350. data/src/core/util/memory_usage.h +16 -0
  351. data/src/core/util/posix/directory_reader.cc +3 -2
  352. data/src/core/util/posix/sync.cc +24 -24
  353. data/src/core/util/postmortem_emit.cc +52 -0
  354. data/src/core/util/postmortem_emit.h +30 -0
  355. data/src/core/util/ref_counted_ptr.h +5 -0
  356. data/src/core/util/trie_lookup.h +170 -0
  357. data/src/core/util/unique_ptr_with_bitset.h +5 -5
  358. data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -1
  359. data/src/core/xds/grpc/xds_certificate_provider.cc +3 -3
  360. data/src/core/xds/grpc/xds_client_grpc.cc +34 -15
  361. data/src/core/xds/grpc/xds_client_grpc.h +4 -1
  362. data/src/core/xds/grpc/xds_cluster_parser.cc +2 -2
  363. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
  364. data/src/core/xds/grpc/xds_endpoint_parser.cc +2 -2
  365. data/src/core/xds/grpc/xds_http_filter_registry.cc +4 -3
  366. data/src/core/xds/grpc/xds_listener_parser.cc +3 -3
  367. data/src/core/xds/grpc/xds_matcher.cc +277 -0
  368. data/src/core/xds/grpc/xds_matcher.h +432 -0
  369. data/src/core/xds/grpc/xds_matcher_action.cc +47 -0
  370. data/src/core/xds/grpc/xds_matcher_action.h +48 -0
  371. data/src/core/xds/grpc/xds_matcher_context.cc +29 -0
  372. data/src/core/xds/grpc/xds_matcher_context.h +46 -0
  373. data/src/core/xds/grpc/xds_matcher_input.cc +79 -0
  374. data/src/core/xds/grpc/xds_matcher_input.h +105 -0
  375. data/src/core/xds/grpc/xds_matcher_parse.cc +356 -0
  376. data/src/core/xds/grpc/xds_matcher_parse.h +39 -0
  377. data/src/core/xds/grpc/xds_metadata.cc +4 -3
  378. data/src/core/xds/grpc/xds_route_config_parser.cc +6 -6
  379. data/src/core/xds/grpc/xds_routing.cc +3 -3
  380. data/src/core/xds/grpc/xds_transport_grpc.cc +10 -10
  381. data/src/core/xds/xds_client/lrs_client.cc +6 -6
  382. data/src/core/xds/xds_client/xds_client.cc +9 -9
  383. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  384. data/src/ruby/lib/grpc/version.rb +1 -1
  385. data/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  386. data/third_party/abseil-cpp/absl/container/node_hash_map.h +687 -0
  387. metadata +37 -2
@@ -0,0 +1,740 @@
1
+ /* This file was generated by upb_generator from the input file:
2
+ *
3
+ * src/proto/grpc/channelz/v2/service.proto
4
+ *
5
+ * Do not edit -- your changes will be discarded when the file is
6
+ * regenerated.
7
+ * NO CHECKED-IN PROTOBUF GENCODE */
8
+
9
+ #ifndef SRC_PROTO_GRPC_CHANNELZ_V2_SERVICE_PROTO_UPB_H__UPB_H_
10
+ #define SRC_PROTO_GRPC_CHANNELZ_V2_SERVICE_PROTO_UPB_H__UPB_H_
11
+
12
+ #include "upb/generated_code_support.h"
13
+
14
+ #include "src/proto/grpc/channelz/v2/service.upb_minitable.h"
15
+
16
+ #include "src/proto/grpc/channelz/v2/channelz.upb_minitable.h"
17
+
18
+ // Must be last.
19
+ #include "upb/port/def.inc"
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ typedef struct grpc_channelz_v2_QueryEntitiesRequest { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_QueryEntitiesRequest;
26
+ typedef struct grpc_channelz_v2_QueryEntitiesResponse { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_QueryEntitiesResponse;
27
+ typedef struct grpc_channelz_v2_GetEntityRequest { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_GetEntityRequest;
28
+ typedef struct grpc_channelz_v2_GetEntityResponse { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_GetEntityResponse;
29
+ typedef struct grpc_channelz_v2_QueryTraceRequest { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_QueryTraceRequest;
30
+ typedef struct grpc_channelz_v2_QueryTraceRequest_QueryArgValue { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_QueryTraceRequest_QueryArgValue;
31
+ typedef struct grpc_channelz_v2_QueryTraceResponse { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_QueryTraceResponse;
32
+ struct grpc_channelz_v2_Entity;
33
+ struct grpc_channelz_v2_TraceEvent;
34
+
35
+
36
+
37
+ /* grpc.channelz.v2.QueryEntitiesRequest */
38
+
39
+ UPB_INLINE grpc_channelz_v2_QueryEntitiesRequest* grpc_channelz_v2_QueryEntitiesRequest_new(upb_Arena* arena) {
40
+ return (grpc_channelz_v2_QueryEntitiesRequest*)_upb_Message_New(&grpc__channelz__v2__QueryEntitiesRequest_msg_init, arena);
41
+ }
42
+ UPB_INLINE grpc_channelz_v2_QueryEntitiesRequest* grpc_channelz_v2_QueryEntitiesRequest_parse(const char* buf, size_t size, upb_Arena* arena) {
43
+ grpc_channelz_v2_QueryEntitiesRequest* ret = grpc_channelz_v2_QueryEntitiesRequest_new(arena);
44
+ if (!ret) return NULL;
45
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryEntitiesRequest_msg_init, NULL, 0, arena) !=
46
+ kUpb_DecodeStatus_Ok) {
47
+ return NULL;
48
+ }
49
+ return ret;
50
+ }
51
+ UPB_INLINE grpc_channelz_v2_QueryEntitiesRequest* grpc_channelz_v2_QueryEntitiesRequest_parse_ex(const char* buf, size_t size,
52
+ const upb_ExtensionRegistry* extreg,
53
+ int options, upb_Arena* arena) {
54
+ grpc_channelz_v2_QueryEntitiesRequest* ret = grpc_channelz_v2_QueryEntitiesRequest_new(arena);
55
+ if (!ret) return NULL;
56
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryEntitiesRequest_msg_init, extreg, options,
57
+ arena) != kUpb_DecodeStatus_Ok) {
58
+ return NULL;
59
+ }
60
+ return ret;
61
+ }
62
+ UPB_INLINE char* grpc_channelz_v2_QueryEntitiesRequest_serialize(const grpc_channelz_v2_QueryEntitiesRequest* msg, upb_Arena* arena, size_t* len) {
63
+ char* ptr;
64
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryEntitiesRequest_msg_init, 0, arena, &ptr, len);
65
+ return ptr;
66
+ }
67
+ UPB_INLINE char* grpc_channelz_v2_QueryEntitiesRequest_serialize_ex(const grpc_channelz_v2_QueryEntitiesRequest* msg, int options,
68
+ upb_Arena* arena, size_t* len) {
69
+ char* ptr;
70
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryEntitiesRequest_msg_init, options, arena, &ptr, len);
71
+ return ptr;
72
+ }
73
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesRequest_clear_kind(grpc_channelz_v2_QueryEntitiesRequest* msg) {
74
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
75
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
76
+ }
77
+ UPB_INLINE upb_StringView grpc_channelz_v2_QueryEntitiesRequest_kind(const grpc_channelz_v2_QueryEntitiesRequest* msg) {
78
+ upb_StringView default_val = upb_StringView_FromString("");
79
+ upb_StringView ret;
80
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
81
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
82
+ &default_val, &ret);
83
+ return ret;
84
+ }
85
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesRequest_clear_parent(grpc_channelz_v2_QueryEntitiesRequest* msg) {
86
+ const upb_MiniTableField field = {2, UPB_SIZE(16, 24), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
87
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
88
+ }
89
+ UPB_INLINE int64_t grpc_channelz_v2_QueryEntitiesRequest_parent(const grpc_channelz_v2_QueryEntitiesRequest* msg) {
90
+ int64_t default_val = (int64_t)0ll;
91
+ int64_t ret;
92
+ const upb_MiniTableField field = {2, UPB_SIZE(16, 24), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
93
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
94
+ &default_val, &ret);
95
+ return ret;
96
+ }
97
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesRequest_clear_start_entity_id(grpc_channelz_v2_QueryEntitiesRequest* msg) {
98
+ const upb_MiniTableField field = {3, UPB_SIZE(24, 32), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
99
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
100
+ }
101
+ UPB_INLINE int64_t grpc_channelz_v2_QueryEntitiesRequest_start_entity_id(const grpc_channelz_v2_QueryEntitiesRequest* msg) {
102
+ int64_t default_val = (int64_t)0ll;
103
+ int64_t ret;
104
+ const upb_MiniTableField field = {3, UPB_SIZE(24, 32), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
105
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
106
+ &default_val, &ret);
107
+ return ret;
108
+ }
109
+
110
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesRequest_set_kind(grpc_channelz_v2_QueryEntitiesRequest *msg, upb_StringView value) {
111
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
112
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
113
+ }
114
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesRequest_set_parent(grpc_channelz_v2_QueryEntitiesRequest *msg, int64_t value) {
115
+ const upb_MiniTableField field = {2, UPB_SIZE(16, 24), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
116
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
117
+ }
118
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesRequest_set_start_entity_id(grpc_channelz_v2_QueryEntitiesRequest *msg, int64_t value) {
119
+ const upb_MiniTableField field = {3, UPB_SIZE(24, 32), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
120
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
121
+ }
122
+
123
+ /* grpc.channelz.v2.QueryEntitiesResponse */
124
+
125
+ UPB_INLINE grpc_channelz_v2_QueryEntitiesResponse* grpc_channelz_v2_QueryEntitiesResponse_new(upb_Arena* arena) {
126
+ return (grpc_channelz_v2_QueryEntitiesResponse*)_upb_Message_New(&grpc__channelz__v2__QueryEntitiesResponse_msg_init, arena);
127
+ }
128
+ UPB_INLINE grpc_channelz_v2_QueryEntitiesResponse* grpc_channelz_v2_QueryEntitiesResponse_parse(const char* buf, size_t size, upb_Arena* arena) {
129
+ grpc_channelz_v2_QueryEntitiesResponse* ret = grpc_channelz_v2_QueryEntitiesResponse_new(arena);
130
+ if (!ret) return NULL;
131
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryEntitiesResponse_msg_init, NULL, 0, arena) !=
132
+ kUpb_DecodeStatus_Ok) {
133
+ return NULL;
134
+ }
135
+ return ret;
136
+ }
137
+ UPB_INLINE grpc_channelz_v2_QueryEntitiesResponse* grpc_channelz_v2_QueryEntitiesResponse_parse_ex(const char* buf, size_t size,
138
+ const upb_ExtensionRegistry* extreg,
139
+ int options, upb_Arena* arena) {
140
+ grpc_channelz_v2_QueryEntitiesResponse* ret = grpc_channelz_v2_QueryEntitiesResponse_new(arena);
141
+ if (!ret) return NULL;
142
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryEntitiesResponse_msg_init, extreg, options,
143
+ arena) != kUpb_DecodeStatus_Ok) {
144
+ return NULL;
145
+ }
146
+ return ret;
147
+ }
148
+ UPB_INLINE char* grpc_channelz_v2_QueryEntitiesResponse_serialize(const grpc_channelz_v2_QueryEntitiesResponse* msg, upb_Arena* arena, size_t* len) {
149
+ char* ptr;
150
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryEntitiesResponse_msg_init, 0, arena, &ptr, len);
151
+ return ptr;
152
+ }
153
+ UPB_INLINE char* grpc_channelz_v2_QueryEntitiesResponse_serialize_ex(const grpc_channelz_v2_QueryEntitiesResponse* msg, int options,
154
+ upb_Arena* arena, size_t* len) {
155
+ char* ptr;
156
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryEntitiesResponse_msg_init, options, arena, &ptr, len);
157
+ return ptr;
158
+ }
159
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesResponse_clear_entities(grpc_channelz_v2_QueryEntitiesResponse* msg) {
160
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
161
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
162
+ }
163
+ UPB_INLINE const struct grpc_channelz_v2_Entity* const* grpc_channelz_v2_QueryEntitiesResponse_entities(const grpc_channelz_v2_QueryEntitiesResponse* msg, size_t* size) {
164
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
165
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
166
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
167
+ if (arr) {
168
+ if (size) *size = arr->UPB_PRIVATE(size);
169
+ return (const struct grpc_channelz_v2_Entity* const*)upb_Array_DataPtr(arr);
170
+ } else {
171
+ if (size) *size = 0;
172
+ return NULL;
173
+ }
174
+ }
175
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_QueryEntitiesResponse_entities_upb_array(const grpc_channelz_v2_QueryEntitiesResponse* msg, size_t* size) {
176
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
177
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
178
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
179
+ if (size) {
180
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
181
+ }
182
+ return arr;
183
+ }
184
+ UPB_INLINE upb_Array* _grpc_channelz_v2_QueryEntitiesResponse_entities_mutable_upb_array(grpc_channelz_v2_QueryEntitiesResponse* msg, size_t* size, upb_Arena* arena) {
185
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
186
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
187
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
188
+ &field, arena);
189
+ if (size) {
190
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
191
+ }
192
+ return arr;
193
+ }
194
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesResponse_clear_end(grpc_channelz_v2_QueryEntitiesResponse* msg) {
195
+ const upb_MiniTableField field = {2, 8, 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
196
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
197
+ }
198
+ UPB_INLINE bool grpc_channelz_v2_QueryEntitiesResponse_end(const grpc_channelz_v2_QueryEntitiesResponse* msg) {
199
+ bool default_val = false;
200
+ bool ret;
201
+ const upb_MiniTableField field = {2, 8, 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
202
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
203
+ &default_val, &ret);
204
+ return ret;
205
+ }
206
+
207
+ UPB_INLINE struct grpc_channelz_v2_Entity** grpc_channelz_v2_QueryEntitiesResponse_mutable_entities(grpc_channelz_v2_QueryEntitiesResponse* msg, size_t* size) {
208
+ upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
209
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
210
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
211
+ if (arr) {
212
+ if (size) *size = arr->UPB_PRIVATE(size);
213
+ return (struct grpc_channelz_v2_Entity**)upb_Array_MutableDataPtr(arr);
214
+ } else {
215
+ if (size) *size = 0;
216
+ return NULL;
217
+ }
218
+ }
219
+ UPB_INLINE struct grpc_channelz_v2_Entity** grpc_channelz_v2_QueryEntitiesResponse_resize_entities(grpc_channelz_v2_QueryEntitiesResponse* msg, size_t size, upb_Arena* arena) {
220
+ upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
221
+ return (struct grpc_channelz_v2_Entity**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
222
+ &field, size, arena);
223
+ }
224
+ UPB_INLINE struct grpc_channelz_v2_Entity* grpc_channelz_v2_QueryEntitiesResponse_add_entities(grpc_channelz_v2_QueryEntitiesResponse* msg, upb_Arena* arena) {
225
+ upb_MiniTableField field = {1, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
226
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
227
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
228
+ UPB_UPCAST(msg), &field, arena);
229
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
230
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
231
+ return NULL;
232
+ }
233
+ struct grpc_channelz_v2_Entity* sub = (struct grpc_channelz_v2_Entity*)_upb_Message_New(&grpc__channelz__v2__Entity_msg_init, arena);
234
+ if (!arr || !sub) return NULL;
235
+ UPB_PRIVATE(_upb_Array_Set)
236
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
237
+ return sub;
238
+ }
239
+ UPB_INLINE void grpc_channelz_v2_QueryEntitiesResponse_set_end(grpc_channelz_v2_QueryEntitiesResponse *msg, bool value) {
240
+ const upb_MiniTableField field = {2, 8, 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
241
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
242
+ }
243
+
244
+ /* grpc.channelz.v2.GetEntityRequest */
245
+
246
+ UPB_INLINE grpc_channelz_v2_GetEntityRequest* grpc_channelz_v2_GetEntityRequest_new(upb_Arena* arena) {
247
+ return (grpc_channelz_v2_GetEntityRequest*)_upb_Message_New(&grpc__channelz__v2__GetEntityRequest_msg_init, arena);
248
+ }
249
+ UPB_INLINE grpc_channelz_v2_GetEntityRequest* grpc_channelz_v2_GetEntityRequest_parse(const char* buf, size_t size, upb_Arena* arena) {
250
+ grpc_channelz_v2_GetEntityRequest* ret = grpc_channelz_v2_GetEntityRequest_new(arena);
251
+ if (!ret) return NULL;
252
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__GetEntityRequest_msg_init, NULL, 0, arena) !=
253
+ kUpb_DecodeStatus_Ok) {
254
+ return NULL;
255
+ }
256
+ return ret;
257
+ }
258
+ UPB_INLINE grpc_channelz_v2_GetEntityRequest* grpc_channelz_v2_GetEntityRequest_parse_ex(const char* buf, size_t size,
259
+ const upb_ExtensionRegistry* extreg,
260
+ int options, upb_Arena* arena) {
261
+ grpc_channelz_v2_GetEntityRequest* ret = grpc_channelz_v2_GetEntityRequest_new(arena);
262
+ if (!ret) return NULL;
263
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__GetEntityRequest_msg_init, extreg, options,
264
+ arena) != kUpb_DecodeStatus_Ok) {
265
+ return NULL;
266
+ }
267
+ return ret;
268
+ }
269
+ UPB_INLINE char* grpc_channelz_v2_GetEntityRequest_serialize(const grpc_channelz_v2_GetEntityRequest* msg, upb_Arena* arena, size_t* len) {
270
+ char* ptr;
271
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__GetEntityRequest_msg_init, 0, arena, &ptr, len);
272
+ return ptr;
273
+ }
274
+ UPB_INLINE char* grpc_channelz_v2_GetEntityRequest_serialize_ex(const grpc_channelz_v2_GetEntityRequest* msg, int options,
275
+ upb_Arena* arena, size_t* len) {
276
+ char* ptr;
277
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__GetEntityRequest_msg_init, options, arena, &ptr, len);
278
+ return ptr;
279
+ }
280
+ UPB_INLINE void grpc_channelz_v2_GetEntityRequest_clear_id(grpc_channelz_v2_GetEntityRequest* msg) {
281
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
282
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
283
+ }
284
+ UPB_INLINE int64_t grpc_channelz_v2_GetEntityRequest_id(const grpc_channelz_v2_GetEntityRequest* msg) {
285
+ int64_t default_val = (int64_t)0ll;
286
+ int64_t ret;
287
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
288
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
289
+ &default_val, &ret);
290
+ return ret;
291
+ }
292
+
293
+ UPB_INLINE void grpc_channelz_v2_GetEntityRequest_set_id(grpc_channelz_v2_GetEntityRequest *msg, int64_t value) {
294
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
295
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
296
+ }
297
+
298
+ /* grpc.channelz.v2.GetEntityResponse */
299
+
300
+ UPB_INLINE grpc_channelz_v2_GetEntityResponse* grpc_channelz_v2_GetEntityResponse_new(upb_Arena* arena) {
301
+ return (grpc_channelz_v2_GetEntityResponse*)_upb_Message_New(&grpc__channelz__v2__GetEntityResponse_msg_init, arena);
302
+ }
303
+ UPB_INLINE grpc_channelz_v2_GetEntityResponse* grpc_channelz_v2_GetEntityResponse_parse(const char* buf, size_t size, upb_Arena* arena) {
304
+ grpc_channelz_v2_GetEntityResponse* ret = grpc_channelz_v2_GetEntityResponse_new(arena);
305
+ if (!ret) return NULL;
306
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__GetEntityResponse_msg_init, NULL, 0, arena) !=
307
+ kUpb_DecodeStatus_Ok) {
308
+ return NULL;
309
+ }
310
+ return ret;
311
+ }
312
+ UPB_INLINE grpc_channelz_v2_GetEntityResponse* grpc_channelz_v2_GetEntityResponse_parse_ex(const char* buf, size_t size,
313
+ const upb_ExtensionRegistry* extreg,
314
+ int options, upb_Arena* arena) {
315
+ grpc_channelz_v2_GetEntityResponse* ret = grpc_channelz_v2_GetEntityResponse_new(arena);
316
+ if (!ret) return NULL;
317
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__GetEntityResponse_msg_init, extreg, options,
318
+ arena) != kUpb_DecodeStatus_Ok) {
319
+ return NULL;
320
+ }
321
+ return ret;
322
+ }
323
+ UPB_INLINE char* grpc_channelz_v2_GetEntityResponse_serialize(const grpc_channelz_v2_GetEntityResponse* msg, upb_Arena* arena, size_t* len) {
324
+ char* ptr;
325
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__GetEntityResponse_msg_init, 0, arena, &ptr, len);
326
+ return ptr;
327
+ }
328
+ UPB_INLINE char* grpc_channelz_v2_GetEntityResponse_serialize_ex(const grpc_channelz_v2_GetEntityResponse* msg, int options,
329
+ upb_Arena* arena, size_t* len) {
330
+ char* ptr;
331
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__GetEntityResponse_msg_init, options, arena, &ptr, len);
332
+ return ptr;
333
+ }
334
+ UPB_INLINE void grpc_channelz_v2_GetEntityResponse_clear_entity(grpc_channelz_v2_GetEntityResponse* msg) {
335
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
336
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
337
+ }
338
+ UPB_INLINE const struct grpc_channelz_v2_Entity* grpc_channelz_v2_GetEntityResponse_entity(const grpc_channelz_v2_GetEntityResponse* msg) {
339
+ const struct grpc_channelz_v2_Entity* default_val = NULL;
340
+ const struct grpc_channelz_v2_Entity* ret;
341
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
342
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
343
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
344
+ &default_val, &ret);
345
+ return ret;
346
+ }
347
+ UPB_INLINE bool grpc_channelz_v2_GetEntityResponse_has_entity(const grpc_channelz_v2_GetEntityResponse* msg) {
348
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
349
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
350
+ }
351
+
352
+ UPB_INLINE void grpc_channelz_v2_GetEntityResponse_set_entity(grpc_channelz_v2_GetEntityResponse *msg, struct grpc_channelz_v2_Entity* value) {
353
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 16), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
354
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__Entity_msg_init);
355
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
356
+ }
357
+ UPB_INLINE struct grpc_channelz_v2_Entity* grpc_channelz_v2_GetEntityResponse_mutable_entity(grpc_channelz_v2_GetEntityResponse* msg, upb_Arena* arena) {
358
+ struct grpc_channelz_v2_Entity* sub = (struct grpc_channelz_v2_Entity*)grpc_channelz_v2_GetEntityResponse_entity(msg);
359
+ if (sub == NULL) {
360
+ sub = (struct grpc_channelz_v2_Entity*)_upb_Message_New(&grpc__channelz__v2__Entity_msg_init, arena);
361
+ if (sub) grpc_channelz_v2_GetEntityResponse_set_entity(msg, sub);
362
+ }
363
+ return sub;
364
+ }
365
+
366
+ /* grpc.channelz.v2.QueryTraceRequest */
367
+
368
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest* grpc_channelz_v2_QueryTraceRequest_new(upb_Arena* arena) {
369
+ return (grpc_channelz_v2_QueryTraceRequest*)_upb_Message_New(&grpc__channelz__v2__QueryTraceRequest_msg_init, arena);
370
+ }
371
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest* grpc_channelz_v2_QueryTraceRequest_parse(const char* buf, size_t size, upb_Arena* arena) {
372
+ grpc_channelz_v2_QueryTraceRequest* ret = grpc_channelz_v2_QueryTraceRequest_new(arena);
373
+ if (!ret) return NULL;
374
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryTraceRequest_msg_init, NULL, 0, arena) !=
375
+ kUpb_DecodeStatus_Ok) {
376
+ return NULL;
377
+ }
378
+ return ret;
379
+ }
380
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest* grpc_channelz_v2_QueryTraceRequest_parse_ex(const char* buf, size_t size,
381
+ const upb_ExtensionRegistry* extreg,
382
+ int options, upb_Arena* arena) {
383
+ grpc_channelz_v2_QueryTraceRequest* ret = grpc_channelz_v2_QueryTraceRequest_new(arena);
384
+ if (!ret) return NULL;
385
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryTraceRequest_msg_init, extreg, options,
386
+ arena) != kUpb_DecodeStatus_Ok) {
387
+ return NULL;
388
+ }
389
+ return ret;
390
+ }
391
+ UPB_INLINE char* grpc_channelz_v2_QueryTraceRequest_serialize(const grpc_channelz_v2_QueryTraceRequest* msg, upb_Arena* arena, size_t* len) {
392
+ char* ptr;
393
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceRequest_msg_init, 0, arena, &ptr, len);
394
+ return ptr;
395
+ }
396
+ UPB_INLINE char* grpc_channelz_v2_QueryTraceRequest_serialize_ex(const grpc_channelz_v2_QueryTraceRequest* msg, int options,
397
+ upb_Arena* arena, size_t* len) {
398
+ char* ptr;
399
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceRequest_msg_init, options, arena, &ptr, len);
400
+ return ptr;
401
+ }
402
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_clear_id(grpc_channelz_v2_QueryTraceRequest* msg) {
403
+ const upb_MiniTableField field = {1, 24, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
404
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
405
+ }
406
+ UPB_INLINE int64_t grpc_channelz_v2_QueryTraceRequest_id(const grpc_channelz_v2_QueryTraceRequest* msg) {
407
+ int64_t default_val = (int64_t)0ll;
408
+ int64_t ret;
409
+ const upb_MiniTableField field = {1, 24, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
410
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
411
+ &default_val, &ret);
412
+ return ret;
413
+ }
414
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_clear_name(grpc_channelz_v2_QueryTraceRequest* msg) {
415
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
416
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
417
+ }
418
+ UPB_INLINE upb_StringView grpc_channelz_v2_QueryTraceRequest_name(const grpc_channelz_v2_QueryTraceRequest* msg) {
419
+ upb_StringView default_val = upb_StringView_FromString("");
420
+ upb_StringView ret;
421
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
422
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
423
+ &default_val, &ret);
424
+ return ret;
425
+ }
426
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_clear_args(grpc_channelz_v2_QueryTraceRequest* msg) {
427
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
428
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
429
+ }
430
+ UPB_INLINE size_t grpc_channelz_v2_QueryTraceRequest_args_size(const grpc_channelz_v2_QueryTraceRequest* msg) {
431
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
432
+ const upb_Map* map = upb_Message_GetMap(UPB_UPCAST(msg), &field);
433
+ return map ? _upb_Map_Size(map) : 0;
434
+ }
435
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_args_get(const grpc_channelz_v2_QueryTraceRequest* msg, upb_StringView key, grpc_channelz_v2_QueryTraceRequest_QueryArgValue** val) {
436
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
437
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__ArgsEntry_msg_init);
438
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init);
439
+ const upb_Map* map = upb_Message_GetMap(UPB_UPCAST(msg), &field);
440
+ if (!map) return false;
441
+ return _upb_Map_Get(map, &key, 0, val, sizeof(*val));
442
+ }
443
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_args_next(const grpc_channelz_v2_QueryTraceRequest* msg, upb_StringView* key, const grpc_channelz_v2_QueryTraceRequest_QueryArgValue** val,
444
+ size_t* iter) {
445
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
446
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__ArgsEntry_msg_init);
447
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init);
448
+ const upb_Map* map = upb_Message_GetMap(UPB_UPCAST(msg), &field);
449
+ if (!map) return false;
450
+ upb_MessageValue k;
451
+ upb_MessageValue v;
452
+ if (!upb_Map_Next(map, &k, &v, iter)) return false;
453
+ memcpy(key, &k, sizeof(*key));
454
+ memcpy(val, &v, sizeof(*val));
455
+ return true;
456
+ }
457
+ UPB_INLINE const upb_Map* _grpc_channelz_v2_QueryTraceRequest_args_upb_map(grpc_channelz_v2_QueryTraceRequest* msg) {
458
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
459
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__ArgsEntry_msg_init);
460
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init);
461
+ return upb_Message_GetMap(UPB_UPCAST(msg), &field);
462
+ }
463
+ UPB_INLINE upb_Map* _grpc_channelz_v2_QueryTraceRequest_args_mutable_upb_map(grpc_channelz_v2_QueryTraceRequest* msg, upb_Arena* a) {
464
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
465
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__ArgsEntry_msg_init);
466
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init);
467
+ return _upb_Message_GetOrCreateMutableMap(UPB_UPCAST(msg), &field, 0, sizeof(grpc_channelz_v2_QueryTraceRequest_QueryArgValue*), a);
468
+ }
469
+
470
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_set_id(grpc_channelz_v2_QueryTraceRequest *msg, int64_t value) {
471
+ const upb_MiniTableField field = {1, 24, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
472
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
473
+ }
474
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_set_name(grpc_channelz_v2_QueryTraceRequest *msg, upb_StringView value) {
475
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
476
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
477
+ }
478
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_args_clear(grpc_channelz_v2_QueryTraceRequest* msg) {
479
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
480
+ upb_Map* map = (upb_Map*)upb_Message_GetMap(UPB_UPCAST(msg), &field);
481
+ if (!map) return;
482
+ _upb_Map_Clear(map);
483
+ }
484
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_args_set(grpc_channelz_v2_QueryTraceRequest* msg, upb_StringView key, grpc_channelz_v2_QueryTraceRequest_QueryArgValue* val, upb_Arena* a) {
485
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
486
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__ArgsEntry_msg_init);
487
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init);
488
+ upb_Map* map = _upb_Message_GetOrCreateMutableMap(UPB_UPCAST(msg),
489
+ &field, 0, sizeof(val), a);
490
+ return _upb_Map_Insert(map, &key, 0, &val, sizeof(val), a) !=
491
+ kUpb_MapInsertStatus_OutOfMemory;
492
+ }
493
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_args_delete(grpc_channelz_v2_QueryTraceRequest* msg, upb_StringView key) {
494
+ const upb_MiniTableField field = {4, UPB_SIZE(8, 32), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
495
+ upb_Map* map = (upb_Map*)upb_Message_GetMap(UPB_UPCAST(msg), &field);
496
+ if (!map) return false;
497
+ return _upb_Map_Delete(map, &key, 0, NULL);
498
+ }
499
+
500
+ /* grpc.channelz.v2.QueryTraceRequest.QueryArgValue */
501
+
502
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest_QueryArgValue* grpc_channelz_v2_QueryTraceRequest_QueryArgValue_new(upb_Arena* arena) {
503
+ return (grpc_channelz_v2_QueryTraceRequest_QueryArgValue*)_upb_Message_New(&grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init, arena);
504
+ }
505
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest_QueryArgValue* grpc_channelz_v2_QueryTraceRequest_QueryArgValue_parse(const char* buf, size_t size, upb_Arena* arena) {
506
+ grpc_channelz_v2_QueryTraceRequest_QueryArgValue* ret = grpc_channelz_v2_QueryTraceRequest_QueryArgValue_new(arena);
507
+ if (!ret) return NULL;
508
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init, NULL, 0, arena) !=
509
+ kUpb_DecodeStatus_Ok) {
510
+ return NULL;
511
+ }
512
+ return ret;
513
+ }
514
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest_QueryArgValue* grpc_channelz_v2_QueryTraceRequest_QueryArgValue_parse_ex(const char* buf, size_t size,
515
+ const upb_ExtensionRegistry* extreg,
516
+ int options, upb_Arena* arena) {
517
+ grpc_channelz_v2_QueryTraceRequest_QueryArgValue* ret = grpc_channelz_v2_QueryTraceRequest_QueryArgValue_new(arena);
518
+ if (!ret) return NULL;
519
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init, extreg, options,
520
+ arena) != kUpb_DecodeStatus_Ok) {
521
+ return NULL;
522
+ }
523
+ return ret;
524
+ }
525
+ UPB_INLINE char* grpc_channelz_v2_QueryTraceRequest_QueryArgValue_serialize(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg, upb_Arena* arena, size_t* len) {
526
+ char* ptr;
527
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init, 0, arena, &ptr, len);
528
+ return ptr;
529
+ }
530
+ UPB_INLINE char* grpc_channelz_v2_QueryTraceRequest_QueryArgValue_serialize_ex(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg, int options,
531
+ upb_Arena* arena, size_t* len) {
532
+ char* ptr;
533
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init, options, arena, &ptr, len);
534
+ return ptr;
535
+ }
536
+ typedef enum {
537
+ grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_int_value = 1,
538
+ grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_string_value = 2,
539
+ grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_bool_value = 3,
540
+ grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_NOT_SET = 0
541
+ } grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_oneofcases;
542
+ UPB_INLINE grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_oneofcases grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_case(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
543
+ const upb_MiniTableField field = {1, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
544
+ return (grpc_channelz_v2_QueryTraceRequest_QueryArgValue_value_oneofcases)upb_Message_WhichOneofFieldNumber(
545
+ UPB_UPCAST(msg), &field);
546
+ }
547
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_clear_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
548
+ const upb_MiniTableField field = {1, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
549
+ upb_Message_ClearOneof(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceRequest__QueryArgValue_msg_init, &field);
550
+ }
551
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_clear_int_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
552
+ const upb_MiniTableField field = {1, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
553
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
554
+ }
555
+ UPB_INLINE int64_t grpc_channelz_v2_QueryTraceRequest_QueryArgValue_int_value(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
556
+ int64_t default_val = (int64_t)0ll;
557
+ int64_t ret;
558
+ const upb_MiniTableField field = {1, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
559
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
560
+ &default_val, &ret);
561
+ return ret;
562
+ }
563
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_QueryArgValue_has_int_value(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
564
+ const upb_MiniTableField field = {1, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
565
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
566
+ }
567
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_clear_string_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
568
+ const upb_MiniTableField field = {2, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
569
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
570
+ }
571
+ UPB_INLINE upb_StringView grpc_channelz_v2_QueryTraceRequest_QueryArgValue_string_value(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
572
+ upb_StringView default_val = upb_StringView_FromString("");
573
+ upb_StringView ret;
574
+ const upb_MiniTableField field = {2, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
575
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
576
+ &default_val, &ret);
577
+ return ret;
578
+ }
579
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_QueryArgValue_has_string_value(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
580
+ const upb_MiniTableField field = {2, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
581
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
582
+ }
583
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_clear_bool_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
584
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
585
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
586
+ }
587
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_QueryArgValue_bool_value(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
588
+ bool default_val = false;
589
+ bool ret;
590
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
591
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
592
+ &default_val, &ret);
593
+ return ret;
594
+ }
595
+ UPB_INLINE bool grpc_channelz_v2_QueryTraceRequest_QueryArgValue_has_bool_value(const grpc_channelz_v2_QueryTraceRequest_QueryArgValue* msg) {
596
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
597
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
598
+ }
599
+
600
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_set_int_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue *msg, int64_t value) {
601
+ const upb_MiniTableField field = {1, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
602
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
603
+ }
604
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_set_string_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue *msg, upb_StringView value) {
605
+ const upb_MiniTableField field = {2, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
606
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
607
+ }
608
+ UPB_INLINE void grpc_channelz_v2_QueryTraceRequest_QueryArgValue_set_bool_value(grpc_channelz_v2_QueryTraceRequest_QueryArgValue *msg, bool value) {
609
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
610
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
611
+ }
612
+
613
+ /* grpc.channelz.v2.QueryTraceResponse */
614
+
615
+ UPB_INLINE grpc_channelz_v2_QueryTraceResponse* grpc_channelz_v2_QueryTraceResponse_new(upb_Arena* arena) {
616
+ return (grpc_channelz_v2_QueryTraceResponse*)_upb_Message_New(&grpc__channelz__v2__QueryTraceResponse_msg_init, arena);
617
+ }
618
+ UPB_INLINE grpc_channelz_v2_QueryTraceResponse* grpc_channelz_v2_QueryTraceResponse_parse(const char* buf, size_t size, upb_Arena* arena) {
619
+ grpc_channelz_v2_QueryTraceResponse* ret = grpc_channelz_v2_QueryTraceResponse_new(arena);
620
+ if (!ret) return NULL;
621
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryTraceResponse_msg_init, NULL, 0, arena) !=
622
+ kUpb_DecodeStatus_Ok) {
623
+ return NULL;
624
+ }
625
+ return ret;
626
+ }
627
+ UPB_INLINE grpc_channelz_v2_QueryTraceResponse* grpc_channelz_v2_QueryTraceResponse_parse_ex(const char* buf, size_t size,
628
+ const upb_ExtensionRegistry* extreg,
629
+ int options, upb_Arena* arena) {
630
+ grpc_channelz_v2_QueryTraceResponse* ret = grpc_channelz_v2_QueryTraceResponse_new(arena);
631
+ if (!ret) return NULL;
632
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__QueryTraceResponse_msg_init, extreg, options,
633
+ arena) != kUpb_DecodeStatus_Ok) {
634
+ return NULL;
635
+ }
636
+ return ret;
637
+ }
638
+ UPB_INLINE char* grpc_channelz_v2_QueryTraceResponse_serialize(const grpc_channelz_v2_QueryTraceResponse* msg, upb_Arena* arena, size_t* len) {
639
+ char* ptr;
640
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceResponse_msg_init, 0, arena, &ptr, len);
641
+ return ptr;
642
+ }
643
+ UPB_INLINE char* grpc_channelz_v2_QueryTraceResponse_serialize_ex(const grpc_channelz_v2_QueryTraceResponse* msg, int options,
644
+ upb_Arena* arena, size_t* len) {
645
+ char* ptr;
646
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__QueryTraceResponse_msg_init, options, arena, &ptr, len);
647
+ return ptr;
648
+ }
649
+ UPB_INLINE void grpc_channelz_v2_QueryTraceResponse_clear_events(grpc_channelz_v2_QueryTraceResponse* msg) {
650
+ const upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
651
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
652
+ }
653
+ UPB_INLINE const struct grpc_channelz_v2_TraceEvent* const* grpc_channelz_v2_QueryTraceResponse_events(const grpc_channelz_v2_QueryTraceResponse* msg, size_t* size) {
654
+ const upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
655
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__TraceEvent_msg_init);
656
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
657
+ if (arr) {
658
+ if (size) *size = arr->UPB_PRIVATE(size);
659
+ return (const struct grpc_channelz_v2_TraceEvent* const*)upb_Array_DataPtr(arr);
660
+ } else {
661
+ if (size) *size = 0;
662
+ return NULL;
663
+ }
664
+ }
665
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_QueryTraceResponse_events_upb_array(const grpc_channelz_v2_QueryTraceResponse* msg, size_t* size) {
666
+ const upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
667
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__TraceEvent_msg_init);
668
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
669
+ if (size) {
670
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
671
+ }
672
+ return arr;
673
+ }
674
+ UPB_INLINE upb_Array* _grpc_channelz_v2_QueryTraceResponse_events_mutable_upb_array(grpc_channelz_v2_QueryTraceResponse* msg, size_t* size, upb_Arena* arena) {
675
+ const upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
676
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__TraceEvent_msg_init);
677
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
678
+ &field, arena);
679
+ if (size) {
680
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
681
+ }
682
+ return arr;
683
+ }
684
+ UPB_INLINE void grpc_channelz_v2_QueryTraceResponse_clear_num_events_matched(grpc_channelz_v2_QueryTraceResponse* msg) {
685
+ const upb_MiniTableField field = {2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
686
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
687
+ }
688
+ UPB_INLINE int64_t grpc_channelz_v2_QueryTraceResponse_num_events_matched(const grpc_channelz_v2_QueryTraceResponse* msg) {
689
+ int64_t default_val = (int64_t)0ll;
690
+ int64_t ret;
691
+ const upb_MiniTableField field = {2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
692
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
693
+ &default_val, &ret);
694
+ return ret;
695
+ }
696
+
697
+ UPB_INLINE struct grpc_channelz_v2_TraceEvent** grpc_channelz_v2_QueryTraceResponse_mutable_events(grpc_channelz_v2_QueryTraceResponse* msg, size_t* size) {
698
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
699
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__TraceEvent_msg_init);
700
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
701
+ if (arr) {
702
+ if (size) *size = arr->UPB_PRIVATE(size);
703
+ return (struct grpc_channelz_v2_TraceEvent**)upb_Array_MutableDataPtr(arr);
704
+ } else {
705
+ if (size) *size = 0;
706
+ return NULL;
707
+ }
708
+ }
709
+ UPB_INLINE struct grpc_channelz_v2_TraceEvent** grpc_channelz_v2_QueryTraceResponse_resize_events(grpc_channelz_v2_QueryTraceResponse* msg, size_t size, upb_Arena* arena) {
710
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
711
+ return (struct grpc_channelz_v2_TraceEvent**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
712
+ &field, size, arena);
713
+ }
714
+ UPB_INLINE struct grpc_channelz_v2_TraceEvent* grpc_channelz_v2_QueryTraceResponse_add_events(grpc_channelz_v2_QueryTraceResponse* msg, upb_Arena* arena) {
715
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
716
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__TraceEvent_msg_init);
717
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
718
+ UPB_UPCAST(msg), &field, arena);
719
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
720
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
721
+ return NULL;
722
+ }
723
+ struct grpc_channelz_v2_TraceEvent* sub = (struct grpc_channelz_v2_TraceEvent*)_upb_Message_New(&grpc__channelz__v2__TraceEvent_msg_init, arena);
724
+ if (!arr || !sub) return NULL;
725
+ UPB_PRIVATE(_upb_Array_Set)
726
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
727
+ return sub;
728
+ }
729
+ UPB_INLINE void grpc_channelz_v2_QueryTraceResponse_set_num_events_matched(grpc_channelz_v2_QueryTraceResponse *msg, int64_t value) {
730
+ const upb_MiniTableField field = {2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
731
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
732
+ }
733
+
734
+ #ifdef __cplusplus
735
+ } /* extern "C" */
736
+ #endif
737
+
738
+ #include "upb/port/undef.inc"
739
+
740
+ #endif /* SRC_PROTO_GRPC_CHANNELZ_V2_SERVICE_PROTO_UPB_H__UPB_H_ */