grpc 1.73.0 → 1.75.0

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 (786) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +116 -53
  3. data/include/grpc/create_channel_from_endpoint.h +54 -0
  4. data/include/grpc/credentials.h +18 -6
  5. data/include/grpc/event_engine/event_engine.h +74 -17
  6. data/include/grpc/grpc_posix.h +20 -1
  7. data/include/grpc/impl/channel_arg_names.h +2 -4
  8. data/include/grpc/module.modulemap +1 -0
  9. data/include/grpc/support/json.h +24 -0
  10. data/src/core/call/client_call.cc +4 -4
  11. data/src/core/call/filter_fusion.h +1230 -0
  12. data/src/core/call/interception_chain.h +7 -11
  13. data/src/core/call/metadata.cc +22 -0
  14. data/src/core/call/metadata.h +24 -2
  15. data/src/core/channelz/channel_trace.cc +213 -115
  16. data/src/core/channelz/channel_trace.h +380 -86
  17. data/src/core/channelz/channelz.cc +274 -192
  18. data/src/core/channelz/channelz.h +224 -72
  19. data/src/core/channelz/channelz_registry.cc +2 -163
  20. data/src/core/channelz/channelz_registry.h +37 -6
  21. data/src/core/channelz/property_list.cc +353 -0
  22. data/src/core/channelz/property_list.h +204 -0
  23. data/src/core/channelz/v2tov1/convert.cc +683 -0
  24. data/src/core/channelz/v2tov1/convert.h +58 -0
  25. data/src/core/channelz/v2tov1/legacy_api.cc +425 -0
  26. data/src/core/channelz/v2tov1/legacy_api.h +32 -0
  27. data/src/core/channelz/v2tov1/property_list.cc +118 -0
  28. data/src/core/channelz/v2tov1/property_list.h +52 -0
  29. data/src/core/channelz/ztrace_collector.h +3 -2
  30. data/src/core/client_channel/backup_poller.cc +17 -2
  31. data/src/core/client_channel/client_channel.cc +17 -28
  32. data/src/core/client_channel/client_channel_filter.cc +24 -33
  33. data/src/core/client_channel/client_channel_filter.h +2 -2
  34. data/src/core/client_channel/client_channel_internal.h +2 -1
  35. data/src/core/client_channel/config_selector.h +8 -2
  36. data/src/core/client_channel/dynamic_filters.cc +5 -6
  37. data/src/core/client_channel/dynamic_filters.h +1 -1
  38. data/src/core/client_channel/global_subchannel_pool.cc +4 -1
  39. data/src/core/client_channel/load_balanced_call_destination.cc +6 -5
  40. data/src/core/client_channel/retry_filter.cc +21 -27
  41. data/src/core/client_channel/retry_filter.h +10 -7
  42. data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
  43. data/src/core/client_channel/retry_filter_legacy_call_data.h +1 -1
  44. data/src/core/client_channel/retry_interceptor.cc +30 -44
  45. data/src/core/client_channel/retry_interceptor.h +18 -17
  46. data/src/core/client_channel/retry_throttle.cc +46 -61
  47. data/src/core/client_channel/retry_throttle.h +17 -39
  48. data/src/core/client_channel/subchannel.cc +57 -25
  49. data/src/core/client_channel/subchannel.h +10 -0
  50. data/src/core/config/config_vars.cc +2 -0
  51. data/src/core/config/core_configuration.cc +4 -1
  52. data/src/core/config/core_configuration.h +23 -0
  53. data/src/core/credentials/call/call_creds_registry.h +125 -0
  54. data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
  55. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +6 -48
  56. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
  57. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
  58. data/src/core/credentials/call/jwt_util.cc +70 -0
  59. data/src/core/credentials/call/jwt_util.h +32 -0
  60. data/src/core/credentials/transport/alts/alts_credentials.cc +5 -0
  61. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +2 -0
  62. data/src/core/credentials/transport/channel_creds_registry_init.cc +4 -2
  63. data/src/core/credentials/transport/google_default/google_default_credentials.cc +72 -4
  64. data/src/core/credentials/transport/ssl/ssl_credentials.cc +1 -2
  65. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +8 -3
  66. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +29 -24
  67. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +19 -8
  68. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +96 -54
  69. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +15 -2
  70. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +1 -0
  71. data/src/core/credentials/transport/tls/spiffe_utils.cc +371 -0
  72. data/src/core/credentials/transport/tls/spiffe_utils.h +171 -0
  73. data/src/core/credentials/transport/tls/ssl_utils.cc +11 -10
  74. data/src/core/credentials/transport/tls/ssl_utils.h +4 -2
  75. data/src/core/credentials/transport/tls/tls_credentials.cc +2 -0
  76. data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -26
  77. data/src/core/credentials/transport/tls/tls_security_connector.h +12 -12
  78. data/src/core/credentials/transport/xds/xds_credentials.cc +0 -3
  79. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -2
  80. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +8 -8
  81. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +16 -16
  82. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -6
  83. data/src/core/ext/filters/http/client_authority_filter.cc +3 -6
  84. data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
  85. data/src/core/ext/filters/http/message_compress/compression_filter.h +25 -22
  86. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -6
  87. data/src/core/ext/filters/http/server/http_server_filter.h +12 -11
  88. data/src/core/ext/filters/message_size/message_size_filter.cc +4 -4
  89. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
  90. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -5
  91. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +120 -35
  92. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -5
  93. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +165 -117
  94. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -3
  95. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
  96. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
  97. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
  98. data/src/core/ext/transport/chttp2/transport/flow_control.h +23 -17
  99. data/src/core/ext/transport/chttp2/transport/frame.cc +99 -6
  100. data/src/core/ext/transport/chttp2/transport/frame.h +40 -2
  101. data/src/core/ext/transport/chttp2/transport/frame_data.cc +1 -1
  102. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +7 -8
  103. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -5
  104. data/src/core/ext/transport/chttp2/transport/header_assembler.h +290 -0
  105. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +1 -1
  106. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
  107. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
  108. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +12 -1
  109. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1233 -0
  110. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +712 -0
  111. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +11 -38
  112. data/src/core/ext/transport/chttp2/transport/http2_settings.h +65 -51
  113. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +61 -0
  114. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +142 -0
  115. data/{third_party/abseil-cpp/absl/strings/cord_buffer.cc → src/core/ext/transport/chttp2/transport/http2_stats_collector.cc} +14 -14
  116. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
  117. data/src/core/ext/transport/chttp2/transport/http2_status.h +6 -1
  118. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +121 -0
  119. data/src/core/ext/transport/chttp2/transport/http2_transport.h +76 -0
  120. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +0 -29
  121. data/src/core/ext/transport/chttp2/transport/internal.h +18 -8
  122. data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
  123. data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
  124. data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
  125. data/src/core/ext/transport/chttp2/transport/parsing.cc +4 -5
  126. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +19 -0
  127. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +152 -0
  128. data/src/core/ext/transport/chttp2/transport/ping_promise.h +197 -0
  129. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +5 -9
  130. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +11 -0
  131. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +607 -0
  132. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +39 -1
  133. data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
  134. data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
  135. data/src/core/ext/transport/chttp2/transport/writable_streams.h +254 -0
  136. data/src/core/ext/transport/chttp2/transport/writing.cc +41 -13
  137. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +4959 -0
  138. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +1111 -0
  139. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +108 -0
  140. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
  141. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
  142. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
  143. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
  144. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
  145. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
  146. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +1072 -0
  147. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +230 -0
  148. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
  149. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +716 -0
  150. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.h +227 -0
  151. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
  152. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
  153. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +133 -0
  154. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
  155. data/src/core/filter/auth/auth_filters.h +2 -27
  156. data/src/core/filter/auth/client_auth_filter.cc +0 -118
  157. data/src/core/filter/filter_args.h +9 -23
  158. data/src/core/filter/fused_filters.cc +154 -0
  159. data/src/core/handshaker/handshaker.cc +23 -14
  160. data/src/core/handshaker/handshaker.h +3 -0
  161. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -1
  162. data/src/core/handshaker/security/legacy_secure_endpoint.cc +7 -6
  163. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +965 -0
  164. data/src/core/handshaker/security/secure_endpoint.cc +98 -38
  165. data/src/core/handshaker/security/secure_endpoint.h +8 -0
  166. data/src/core/handshaker/security/security_handshaker.cc +4 -1
  167. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +7 -1
  168. data/src/core/lib/channel/channel_args.cc +15 -0
  169. data/src/core/lib/channel/channel_args.h +3 -0
  170. data/src/core/lib/channel/channel_stack.cc +22 -23
  171. data/src/core/lib/channel/channel_stack.h +9 -7
  172. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
  173. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
  174. data/src/core/lib/channel/promise_based_filter.cc +15 -25
  175. data/src/core/lib/channel/promise_based_filter.h +11 -10
  176. data/src/core/lib/debug/trace_impl.h +0 -1
  177. data/src/core/lib/event_engine/ares_resolver.cc +165 -46
  178. data/src/core/lib/event_engine/ares_resolver.h +51 -3
  179. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +12 -6
  180. data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -4
  181. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +263 -0
  182. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.h +107 -0
  183. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +31 -3
  184. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +14 -6
  185. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
  186. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
  187. data/src/core/lib/event_engine/event_engine.cc +7 -0
  188. data/src/core/lib/event_engine/extensions/channelz.h +10 -6
  189. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -0
  190. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +139 -169
  191. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +17 -19
  192. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +90 -131
  193. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +13 -13
  194. data/src/core/lib/event_engine/posix_engine/event_poller.h +18 -23
  195. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +11 -23
  196. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -2
  197. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
  198. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
  199. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +30 -19
  200. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +6 -2
  201. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +6 -1
  202. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +4 -4
  203. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +3 -4
  204. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +147 -94
  205. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -19
  206. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +435 -229
  207. data/src/core/lib/event_engine/posix_engine/posix_engine.h +78 -50
  208. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +46 -38
  209. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +6 -4
  210. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -142
  211. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +6 -5
  212. data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
  213. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
  214. data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
  215. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
  216. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
  217. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -719
  218. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +11 -171
  219. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +33 -22
  220. data/src/core/lib/event_engine/posix_engine/timer_manager.h +13 -11
  221. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +117 -151
  222. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +26 -94
  223. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +26 -25
  224. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +6 -2
  225. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +36 -62
  226. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +6 -2
  227. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +7 -6
  228. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +12 -6
  229. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -1
  230. data/src/core/lib/event_engine/shim.cc +9 -0
  231. data/src/core/lib/event_engine/shim.h +3 -0
  232. data/src/core/lib/event_engine/thread_pool/thread_pool.h +7 -3
  233. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +0 -17
  234. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +4 -2
  235. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -2
  236. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +6 -1
  237. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -0
  238. data/src/core/lib/event_engine/windows/windows_endpoint.h +2 -6
  239. data/src/core/lib/event_engine/windows/windows_engine.cc +0 -1
  240. data/src/core/lib/event_engine/windows/windows_engine.h +1 -3
  241. data/src/core/lib/event_engine/windows/windows_listener.cc +14 -2
  242. data/src/core/lib/experiments/experiments.cc +165 -99
  243. data/src/core/lib/experiments/experiments.h +65 -52
  244. data/src/core/lib/iomgr/combiner.cc +1 -1
  245. data/src/core/lib/iomgr/endpoint.cc +4 -3
  246. data/src/core/lib/iomgr/endpoint.h +7 -4
  247. data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
  248. data/src/core/lib/iomgr/ev_epoll1_linux.cc +7 -2
  249. data/src/core/lib/iomgr/ev_poll_posix.cc +7 -2
  250. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +4 -6
  251. data/src/core/lib/iomgr/exec_ctx.h +3 -9
  252. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  253. data/src/core/lib/iomgr/socket_utils_posix.cc +1 -1
  254. data/src/core/lib/iomgr/socket_utils_posix.h +1 -1
  255. data/src/core/lib/iomgr/tcp_client_posix.cc +1 -1
  256. data/src/core/lib/iomgr/tcp_posix.cc +15 -9
  257. data/src/core/lib/iomgr/tcp_windows.cc +3 -2
  258. data/src/core/lib/promise/activity.h +3 -2
  259. data/src/core/lib/promise/arena_promise.h +23 -7
  260. data/src/core/lib/promise/detail/promise_factory.h +10 -0
  261. data/src/core/lib/promise/detail/promise_like.h +118 -11
  262. data/src/core/lib/promise/detail/promise_variant.h +50 -0
  263. data/src/core/lib/promise/detail/seq_state.h +687 -548
  264. data/src/core/lib/promise/if.h +20 -0
  265. data/src/core/lib/promise/inter_activity_latch.h +147 -0
  266. data/src/core/lib/promise/inter_activity_mutex.h +547 -0
  267. data/src/core/lib/promise/loop.h +65 -3
  268. data/src/core/lib/promise/map.h +24 -0
  269. data/src/core/lib/promise/match_promise.h +103 -0
  270. data/src/core/lib/promise/mpsc.cc +425 -0
  271. data/src/core/lib/promise/mpsc.h +490 -0
  272. data/src/core/lib/promise/party.cc +55 -6
  273. data/src/core/lib/promise/party.h +68 -3
  274. data/src/core/lib/promise/poll.h +10 -0
  275. data/src/core/lib/promise/race.h +31 -0
  276. data/src/core/lib/promise/seq.h +4 -1
  277. data/src/core/lib/promise/status_flag.h +7 -0
  278. data/src/core/lib/promise/try_seq.h +4 -1
  279. data/src/core/lib/promise/wait_set.cc +28 -0
  280. data/src/core/lib/promise/wait_set.h +86 -0
  281. data/src/core/lib/resource_quota/arena.h +19 -0
  282. data/src/core/lib/resource_quota/memory_quota.cc +90 -3
  283. data/src/core/lib/resource_quota/memory_quota.h +20 -9
  284. data/src/core/lib/resource_quota/periodic_update.cc +14 -0
  285. data/src/core/lib/resource_quota/periodic_update.h +8 -0
  286. data/src/core/lib/resource_quota/resource_quota.cc +15 -4
  287. data/src/core/lib/resource_quota/resource_quota.h +3 -0
  288. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
  289. data/src/core/lib/slice/slice.h +5 -0
  290. data/src/core/lib/surface/call.cc +5 -5
  291. data/src/core/lib/surface/call.h +6 -5
  292. data/src/core/lib/surface/channel_create.cc +88 -13
  293. data/src/core/lib/surface/channel_create.h +4 -0
  294. data/src/core/lib/surface/channel_init.cc +164 -47
  295. data/src/core/lib/surface/channel_init.h +64 -1
  296. data/src/core/lib/surface/completion_queue.cc +2 -4
  297. data/src/core/lib/surface/filter_stack_call.cc +19 -10
  298. data/src/core/lib/surface/init.cc +6 -15
  299. data/src/core/lib/surface/legacy_channel.cc +3 -5
  300. data/src/core/lib/surface/legacy_channel.h +3 -1
  301. data/src/core/lib/surface/version.cc +2 -2
  302. data/src/core/lib/transport/promise_endpoint.cc +110 -0
  303. data/src/core/lib/transport/promise_endpoint.h +307 -0
  304. data/src/core/load_balancing/child_policy_handler.cc +2 -4
  305. data/src/core/load_balancing/delegating_helper.h +2 -3
  306. data/src/core/load_balancing/endpoint_list.cc +29 -2
  307. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +3 -3
  308. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -1
  309. data/src/core/load_balancing/health_check_client.cc +1 -5
  310. data/src/core/load_balancing/lb_policy.h +1 -3
  311. data/src/core/load_balancing/oob_backend_metric.cc +1 -5
  312. data/src/core/load_balancing/pick_first/pick_first.cc +15 -5
  313. data/src/core/load_balancing/xds/cds.cc +10 -1
  314. data/src/core/load_balancing/xds/xds_cluster_impl.cc +5 -3
  315. data/src/core/net/socket_mutator.cc +19 -0
  316. data/src/core/net/socket_mutator.h +25 -0
  317. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
  318. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  319. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -1
  320. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +2 -1
  321. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +8 -5
  322. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -1
  323. data/src/core/resolver/xds/xds_config.cc +6 -3
  324. data/src/core/resolver/xds/xds_config.h +9 -4
  325. data/src/core/resolver/xds/xds_dependency_manager.cc +22 -7
  326. data/src/core/resolver/xds/xds_dependency_manager.h +2 -1
  327. data/src/core/resolver/xds/xds_resolver.cc +31 -11
  328. data/src/core/server/server.cc +84 -13
  329. data/src/core/server/server.h +21 -2
  330. data/src/core/server/server_call_tracer_filter.cc +0 -66
  331. data/src/core/server/server_call_tracer_filter.h +64 -0
  332. data/src/core/server/server_config_selector_filter.cc +1 -1
  333. data/src/core/server/xds_server_config_fetcher.cc +63 -25
  334. data/src/core/service_config/service_config.h +1 -1
  335. data/src/core/service_config/service_config_channel_arg_filter.cc +3 -60
  336. data/src/core/service_config/service_config_channel_arg_filter.h +82 -0
  337. data/src/core/service_config/service_config_impl.h +1 -1
  338. data/src/core/telemetry/call_tracer.cc +20 -14
  339. data/src/core/telemetry/call_tracer.h +22 -17
  340. data/src/core/telemetry/context_list_entry.cc +38 -0
  341. data/src/core/telemetry/context_list_entry.h +42 -12
  342. data/src/core/telemetry/metrics.h +8 -8
  343. data/src/core/telemetry/stats_data.cc +369 -343
  344. data/src/core/telemetry/stats_data.h +341 -244
  345. data/src/core/telemetry/tcp_tracer.h +1 -1
  346. data/src/core/transport/auth_context.cc +20 -0
  347. data/src/core/transport/auth_context.h +4 -0
  348. data/src/core/transport/auth_context_comparator_registry.h +69 -0
  349. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -3
  350. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +11 -3
  351. data/src/core/tsi/fake_transport_security.cc +17 -0
  352. data/src/core/tsi/ssl_transport_security.cc +205 -32
  353. data/src/core/tsi/ssl_transport_security.h +19 -10
  354. data/src/core/tsi/ssl_transport_security_utils.cc +21 -0
  355. data/src/core/tsi/ssl_transport_security_utils.h +4 -0
  356. data/src/core/tsi/transport_security_grpc.cc +8 -0
  357. data/src/core/tsi/transport_security_grpc.h +15 -0
  358. data/src/core/util/backoff.cc +1 -5
  359. data/src/core/util/backoff.h +1 -0
  360. data/src/core/util/down_cast.h +1 -1
  361. data/src/core/util/function_signature.h +15 -1
  362. data/src/core/util/http_client/httpcli.cc +12 -5
  363. data/src/core/util/http_client/httpcli.h +4 -1
  364. data/src/core/util/http_client/httpcli_security_connector.cc +3 -1
  365. data/src/core/util/latent_see.cc +178 -146
  366. data/src/core/util/latent_see.h +249 -189
  367. data/src/core/util/log.cc +4 -0
  368. data/src/core/util/memory_usage.h +268 -0
  369. data/src/core/util/per_cpu.cc +2 -0
  370. data/src/core/util/per_cpu.h +7 -0
  371. data/src/core/util/shared_bit_gen.h +20 -0
  372. data/src/core/util/single_set_ptr.h +7 -4
  373. data/src/core/util/upb_utils.h +42 -0
  374. data/src/core/util/uri.cc +3 -2
  375. data/src/core/util/useful.h +144 -2
  376. data/src/core/util/wait_for_single_owner.cc +31 -0
  377. data/src/core/util/wait_for_single_owner.h +24 -0
  378. data/src/core/util/windows/directory_reader.cc +1 -0
  379. data/src/core/util/windows/thd.cc +1 -3
  380. data/src/core/util/work_serializer.cc +1 -1
  381. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +32 -5
  382. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +5 -0
  383. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -0
  384. data/src/core/xds/grpc/xds_bootstrap_grpc.h +5 -0
  385. data/src/core/xds/grpc/xds_certificate_provider.cc +5 -6
  386. data/src/core/xds/grpc/xds_client_grpc.cc +6 -2
  387. data/src/core/xds/grpc/xds_common_types_parser.cc +138 -50
  388. data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
  389. data/src/core/xds/grpc/xds_http_filter.h +7 -0
  390. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +22 -0
  391. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -0
  392. data/src/core/xds/grpc/xds_route_config_parser.cc +15 -38
  393. data/src/core/xds/grpc/xds_server_grpc.cc +63 -13
  394. data/src/core/xds/grpc/xds_server_grpc.h +10 -2
  395. data/src/core/xds/grpc/xds_server_grpc_interface.h +4 -0
  396. data/src/core/xds/grpc/xds_transport_grpc.cc +18 -0
  397. data/src/core/xds/xds_client/xds_bootstrap.h +2 -0
  398. data/src/core/xds/xds_client/xds_client.cc +26 -5
  399. data/src/ruby/ext/grpc/extconf.rb +2 -0
  400. data/src/ruby/ext/grpc/rb_call.c +1 -8
  401. data/src/ruby/ext/grpc/rb_channel.c +70 -557
  402. data/src/ruby/ext/grpc/rb_channel.h +0 -3
  403. data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
  404. data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
  405. data/src/ruby/ext/grpc/rb_grpc.c +9 -5
  406. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  407. data/src/ruby/ext/grpc/rb_loader.c +0 -4
  408. data/src/ruby/ext/grpc/rb_server.c +31 -50
  409. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
  410. data/src/ruby/lib/grpc/version.rb +1 -1
  411. data/src/ruby/spec/core_spec.rb +22 -0
  412. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  413. data/third_party/abseil-cpp/absl/algorithm/container.h +2 -19
  414. data/third_party/abseil-cpp/absl/base/attributes.h +76 -7
  415. data/third_party/abseil-cpp/absl/base/call_once.h +11 -12
  416. data/third_party/abseil-cpp/absl/base/config.h +20 -129
  417. data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  418. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  419. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  420. data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
  421. data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  422. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
  423. data/third_party/abseil-cpp/absl/base/internal/{nullability_impl.h → nullability_deprecated.h} +45 -8
  424. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
  425. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
  426. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  427. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
  428. data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
  429. data/third_party/abseil-cpp/absl/base/nullability.h +84 -72
  430. data/third_party/abseil-cpp/absl/base/options.h +3 -80
  431. data/third_party/abseil-cpp/absl/base/policy_checks.h +7 -7
  432. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  433. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  434. data/third_party/abseil-cpp/absl/container/btree_map.h +4 -2
  435. data/third_party/abseil-cpp/absl/container/btree_set.h +4 -2
  436. data/third_party/abseil-cpp/absl/container/fixed_array.h +7 -14
  437. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -0
  438. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -1
  439. data/third_party/abseil-cpp/absl/container/inlined_vector.h +8 -5
  440. data/third_party/abseil-cpp/absl/container/internal/btree.h +132 -29
  441. data/third_party/abseil-cpp/absl/container/internal/btree_container.h +175 -71
  442. data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
  443. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
  444. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +9 -10
  445. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
  446. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
  447. data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  448. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
  449. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
  450. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
  451. data/third_party/abseil-cpp/absl/container/internal/layout.h +26 -42
  452. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  453. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1354 -183
  454. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +881 -1424
  455. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
  456. data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
  457. data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
  458. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  459. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
  460. data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  461. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  462. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  463. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
  464. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  465. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
  466. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  467. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  468. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  469. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  470. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
  471. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  472. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  473. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
  474. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
  475. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  476. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +19 -9
  477. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  478. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  479. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +2 -2
  480. data/third_party/abseil-cpp/absl/flags/flag.h +4 -3
  481. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  482. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -1
  483. data/third_party/abseil-cpp/absl/flags/internal/flag.h +7 -6
  484. data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
  485. data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
  486. data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
  487. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
  488. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
  489. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  490. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  491. data/third_party/abseil-cpp/absl/hash/hash.h +18 -0
  492. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -5
  493. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -61
  494. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +25 -68
  495. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
  496. data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  497. data/third_party/abseil-cpp/absl/log/check.h +2 -1
  498. data/third_party/abseil-cpp/absl/log/globals.h +4 -5
  499. data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  500. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +22 -22
  501. data/third_party/abseil-cpp/absl/log/internal/check_op.h +65 -62
  502. data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  503. data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
  504. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +85 -43
  505. data/third_party/abseil-cpp/absl/log/internal/log_message.h +84 -59
  506. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  507. data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -2
  508. data/third_party/abseil-cpp/absl/log/internal/proto.h +3 -3
  509. data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
  510. data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  511. data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
  512. data/third_party/abseil-cpp/absl/log/log.h +48 -35
  513. data/third_party/abseil-cpp/absl/log/log_sink_registry.h +2 -2
  514. data/third_party/abseil-cpp/absl/meta/type_traits.h +46 -175
  515. data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
  516. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
  517. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
  518. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  519. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
  520. data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
  521. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
  522. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
  523. data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
  524. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  525. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  526. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
  527. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  528. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  529. data/third_party/abseil-cpp/absl/random/random.h +88 -53
  530. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  531. data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
  532. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  533. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
  534. data/third_party/abseil-cpp/absl/status/status.cc +4 -8
  535. data/third_party/abseil-cpp/absl/status/status.h +8 -8
  536. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  537. data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
  538. data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
  539. data/third_party/abseil-cpp/absl/strings/ascii.cc +9 -9
  540. data/third_party/abseil-cpp/absl/strings/ascii.h +18 -18
  541. data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -22
  542. data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
  543. data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
  544. data/third_party/abseil-cpp/absl/strings/cord.h +94 -83
  545. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  546. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  547. data/third_party/abseil-cpp/absl/strings/escaping.cc +130 -149
  548. data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
  549. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  550. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +6 -8
  551. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  552. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
  553. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  554. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  555. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  556. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  557. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  558. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  559. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  560. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  561. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  562. data/third_party/abseil-cpp/absl/strings/numbers.cc +53 -32
  563. data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
  564. data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
  565. data/third_party/abseil-cpp/absl/strings/str_cat.h +32 -32
  566. data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
  567. data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
  568. data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
  569. data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
  570. data/third_party/abseil-cpp/absl/strings/string_view.h +27 -32
  571. data/third_party/abseil-cpp/absl/strings/strip.h +4 -4
  572. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
  573. data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
  574. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  575. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  576. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  577. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  578. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  579. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  580. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  581. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +1 -1
  582. data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
  583. data/third_party/abseil-cpp/absl/synchronization/notification.h +1 -1
  584. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
  585. data/third_party/abseil-cpp/absl/time/duration.cc +12 -7
  586. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  587. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
  588. data/third_party/abseil-cpp/absl/time/time.h +20 -15
  589. data/third_party/abseil-cpp/absl/types/optional.h +7 -747
  590. data/third_party/abseil-cpp/absl/types/span.h +13 -11
  591. data/third_party/abseil-cpp/absl/types/variant.h +5 -784
  592. data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
  593. data/third_party/cares/cares/include/ares.h +925 -460
  594. data/third_party/cares/cares/include/ares_dns.h +86 -71
  595. data/third_party/cares/cares/include/ares_dns_record.h +1118 -0
  596. data/third_party/cares/cares/include/ares_nameser.h +215 -189
  597. data/third_party/cares/cares/include/ares_version.h +37 -14
  598. data/third_party/cares/cares/src/lib/ares_addrinfo2hostent.c +305 -0
  599. data/third_party/cares/cares/src/lib/ares_addrinfo_localhost.c +245 -0
  600. data/third_party/cares/cares/src/lib/ares_android.c +216 -164
  601. data/third_party/cares/cares/src/lib/ares_android.h +25 -14
  602. data/third_party/cares/cares/src/lib/ares_cancel.c +68 -44
  603. data/third_party/cares/cares/src/lib/ares_close_sockets.c +137 -0
  604. data/third_party/cares/cares/src/lib/ares_conn.c +511 -0
  605. data/third_party/cares/cares/src/lib/ares_conn.h +196 -0
  606. data/third_party/cares/cares/src/lib/ares_cookie.c +461 -0
  607. data/third_party/cares/cares/src/lib/ares_data.c +93 -181
  608. data/third_party/cares/cares/src/lib/ares_data.h +50 -39
  609. data/third_party/cares/cares/src/lib/ares_destroy.c +127 -89
  610. data/third_party/cares/cares/src/lib/ares_free_hostent.c +35 -24
  611. data/third_party/cares/cares/src/lib/ares_free_string.c +24 -16
  612. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +45 -38
  613. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +549 -663
  614. data/third_party/cares/cares/src/lib/ares_getenv.c +25 -15
  615. data/third_party/cares/cares/src/lib/ares_getenv.h +26 -18
  616. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +163 -221
  617. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +222 -223
  618. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +328 -338
  619. data/third_party/cares/cares/src/lib/ares_hosts_file.c +952 -0
  620. data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +25 -19
  621. data/third_party/cares/cares/src/lib/ares_init.c +425 -2091
  622. data/third_party/cares/cares/src/lib/ares_ipv6.h +63 -33
  623. data/third_party/cares/cares/src/lib/ares_library_init.c +110 -54
  624. data/third_party/cares/cares/src/lib/ares_metrics.c +261 -0
  625. data/third_party/cares/cares/src/lib/ares_options.c +418 -332
  626. data/third_party/cares/cares/src/lib/ares_parse_into_addrinfo.c +179 -0
  627. data/third_party/cares/cares/src/lib/ares_private.h +558 -356
  628. data/third_party/cares/cares/src/lib/ares_process.c +1224 -1369
  629. data/third_party/cares/cares/src/lib/ares_qcache.c +430 -0
  630. data/third_party/cares/cares/src/lib/ares_query.c +126 -121
  631. data/third_party/cares/cares/src/lib/ares_search.c +564 -262
  632. data/third_party/cares/cares/src/lib/ares_send.c +264 -93
  633. data/third_party/cares/cares/src/lib/ares_set_socket_functions.c +588 -0
  634. data/third_party/cares/cares/src/lib/ares_setup.h +115 -111
  635. data/third_party/cares/cares/src/lib/ares_socket.c +425 -0
  636. data/third_party/cares/cares/src/lib/ares_socket.h +163 -0
  637. data/third_party/cares/cares/src/lib/ares_sortaddrinfo.c +447 -0
  638. data/third_party/cares/cares/src/lib/ares_strerror.c +83 -48
  639. data/third_party/cares/cares/src/lib/ares_sysconfig.c +639 -0
  640. data/third_party/cares/cares/src/lib/ares_sysconfig_files.c +839 -0
  641. data/third_party/cares/cares/src/lib/ares_sysconfig_mac.c +373 -0
  642. data/third_party/cares/cares/src/lib/ares_sysconfig_win.c +621 -0
  643. data/third_party/cares/cares/src/lib/ares_timeout.c +136 -73
  644. data/third_party/cares/cares/src/lib/ares_update_servers.c +1362 -0
  645. data/third_party/cares/cares/src/lib/ares_version.c +29 -4
  646. data/third_party/cares/cares/src/lib/config-dos.h +88 -89
  647. data/third_party/cares/cares/src/lib/config-win32.h +122 -77
  648. data/third_party/cares/cares/src/lib/dsa/ares_array.c +394 -0
  649. data/third_party/cares/cares/src/lib/dsa/ares_htable.c +447 -0
  650. data/third_party/cares/cares/src/lib/dsa/ares_htable.h +174 -0
  651. data/third_party/cares/cares/src/lib/dsa/ares_htable_asvp.c +224 -0
  652. data/third_party/cares/cares/src/lib/dsa/ares_htable_dict.c +228 -0
  653. data/third_party/cares/cares/src/lib/dsa/ares_htable_strvp.c +210 -0
  654. data/third_party/cares/cares/src/lib/dsa/ares_htable_szvp.c +188 -0
  655. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpstr.c +186 -0
  656. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpvp.c +194 -0
  657. data/third_party/cares/cares/src/lib/dsa/ares_llist.c +382 -0
  658. data/third_party/cares/cares/src/lib/dsa/ares_slist.c +479 -0
  659. data/third_party/cares/cares/src/lib/dsa/ares_slist.h +207 -0
  660. data/third_party/cares/cares/src/lib/event/ares_event.h +191 -0
  661. data/third_party/cares/cares/src/lib/event/ares_event_configchg.c +743 -0
  662. data/third_party/cares/cares/src/lib/event/ares_event_epoll.c +192 -0
  663. data/third_party/cares/cares/src/lib/event/ares_event_kqueue.c +248 -0
  664. data/third_party/cares/cares/src/lib/event/ares_event_poll.c +140 -0
  665. data/third_party/cares/cares/src/lib/event/ares_event_select.c +159 -0
  666. data/third_party/cares/cares/src/lib/event/ares_event_thread.c +567 -0
  667. data/third_party/cares/cares/src/lib/event/ares_event_wake_pipe.c +166 -0
  668. data/third_party/cares/cares/src/lib/event/ares_event_win32.c +978 -0
  669. data/third_party/cares/cares/src/lib/event/ares_event_win32.h +161 -0
  670. data/third_party/cares/cares/src/lib/include/ares_array.h +276 -0
  671. data/third_party/cares/cares/src/lib/include/ares_buf.h +732 -0
  672. data/third_party/cares/cares/src/lib/include/ares_htable_asvp.h +130 -0
  673. data/third_party/cares/cares/src/lib/include/ares_htable_dict.h +123 -0
  674. data/third_party/cares/cares/src/lib/include/ares_htable_strvp.h +130 -0
  675. data/third_party/cares/cares/src/lib/include/ares_htable_szvp.h +118 -0
  676. data/third_party/cares/cares/src/lib/include/ares_htable_vpstr.h +111 -0
  677. data/third_party/cares/cares/src/lib/include/ares_htable_vpvp.h +128 -0
  678. data/third_party/cares/cares/src/lib/include/ares_llist.h +239 -0
  679. data/third_party/cares/cares/src/lib/include/ares_mem.h +38 -0
  680. data/third_party/cares/cares/src/lib/include/ares_str.h +244 -0
  681. data/third_party/cares/cares/src/lib/inet_net_pton.c +202 -157
  682. data/third_party/cares/cares/src/lib/inet_ntop.c +87 -69
  683. data/third_party/cares/cares/src/lib/legacy/ares_create_query.c +78 -0
  684. data/third_party/cares/cares/src/lib/legacy/ares_expand_name.c +99 -0
  685. data/third_party/cares/cares/src/lib/legacy/ares_expand_string.c +107 -0
  686. data/third_party/cares/cares/src/lib/legacy/ares_fds.c +80 -0
  687. data/third_party/cares/cares/src/lib/legacy/ares_getsock.c +85 -0
  688. data/third_party/cares/cares/src/lib/legacy/ares_parse_a_reply.c +107 -0
  689. data/third_party/cares/cares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
  690. data/third_party/cares/cares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
  691. data/third_party/cares/cares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
  692. data/third_party/cares/cares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
  693. data/third_party/cares/cares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
  694. data/third_party/cares/cares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
  695. data/third_party/cares/cares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
  696. data/third_party/cares/cares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
  697. data/third_party/cares/cares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
  698. data/third_party/cares/cares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
  699. data/third_party/cares/cares/src/lib/record/ares_dns_mapping.c +982 -0
  700. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.c +307 -0
  701. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.h +72 -0
  702. data/third_party/cares/cares/src/lib/record/ares_dns_name.c +673 -0
  703. data/third_party/cares/cares/src/lib/record/ares_dns_parse.c +1329 -0
  704. data/third_party/cares/cares/src/lib/record/ares_dns_private.h +273 -0
  705. data/third_party/cares/cares/src/lib/record/ares_dns_record.c +1661 -0
  706. data/third_party/cares/cares/src/lib/record/ares_dns_write.c +1229 -0
  707. data/third_party/cares/cares/src/lib/str/ares_buf.c +1498 -0
  708. data/third_party/cares/cares/src/lib/str/ares_str.c +508 -0
  709. data/third_party/cares/cares/src/lib/str/ares_strsplit.c +90 -0
  710. data/third_party/cares/cares/src/lib/str/ares_strsplit.h +51 -0
  711. data/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
  712. data/third_party/cares/cares/src/lib/util/ares_iface_ips.c +628 -0
  713. data/third_party/cares/cares/src/lib/util/ares_iface_ips.h +139 -0
  714. data/third_party/cares/cares/src/lib/util/ares_math.c +158 -0
  715. data/third_party/cares/cares/src/lib/util/ares_math.h +45 -0
  716. data/third_party/cares/cares/src/lib/util/ares_rand.c +389 -0
  717. data/third_party/cares/cares/src/lib/util/ares_rand.h +36 -0
  718. data/third_party/cares/cares/src/lib/util/ares_threads.c +614 -0
  719. data/third_party/cares/cares/src/lib/util/ares_threads.h +60 -0
  720. data/third_party/cares/cares/src/lib/util/ares_time.h +48 -0
  721. data/third_party/cares/cares/src/lib/util/ares_timeval.c +95 -0
  722. data/third_party/cares/cares/src/lib/util/ares_uri.c +1626 -0
  723. data/third_party/cares/cares/src/lib/util/ares_uri.h +252 -0
  724. data/third_party/cares/cares/src/lib/windows_port.c +16 -9
  725. metadata +192 -68
  726. data/src/core/lib/event_engine/forkable.cc +0 -105
  727. data/src/core/lib/event_engine/forkable.h +0 -67
  728. data/src/core/lib/iomgr/python_util.h +0 -46
  729. data/src/core/util/ring_buffer.h +0 -122
  730. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  731. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  732. data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
  733. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  734. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  735. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  736. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  737. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  738. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
  739. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
  740. data/third_party/cares/cares/include/ares_rules.h +0 -125
  741. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +0 -266
  742. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +0 -240
  743. data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
  744. data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
  745. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -229
  746. data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
  747. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -258
  748. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -507
  749. data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
  750. data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
  751. data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -311
  752. data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
  753. data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
  754. data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
  755. data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
  756. data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
  757. data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
  758. data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
  759. data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
  760. data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
  761. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -90
  762. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -92
  763. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
  764. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
  765. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
  766. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
  767. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
  768. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
  769. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
  770. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
  771. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +0 -184
  772. data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
  773. data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
  774. data/third_party/cares/cares/src/lib/ares_rand.c +0 -279
  775. data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
  776. data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
  777. data/third_party/cares/cares/src/lib/ares_strdup.c +0 -42
  778. data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
  779. data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -94
  780. data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -42
  781. data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
  782. data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
  783. data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
  784. data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
  785. data/third_party/cares/cares/src/lib/setup_once.h +0 -554
  786. data/third_party/cares/cares/src/tools/ares_getopt.h +0 -53
@@ -0,0 +1,1072 @@
1
+ /* This file was generated by upb_generator from the input file:
2
+ *
3
+ * src/proto/grpc/channelz/v2/property_list.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_PROPERTY_LIST_PROTO_UPB_H__UPB_H_
10
+ #define SRC_PROTO_GRPC_CHANNELZ_V2_PROPERTY_LIST_PROTO_UPB_H__UPB_H_
11
+
12
+ #include "upb/generated_code_support.h"
13
+
14
+ #include "src/proto/grpc/channelz/v2/property_list.upb_minitable.h"
15
+
16
+ #include "google/protobuf/any.upb_minitable.h"
17
+ #include "google/protobuf/duration.upb_minitable.h"
18
+ #include "google/protobuf/empty.upb_minitable.h"
19
+ #include "google/protobuf/timestamp.upb_minitable.h"
20
+
21
+ // Must be last.
22
+ #include "upb/port/def.inc"
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ typedef struct grpc_channelz_v2_PropertyList { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyList;
29
+ typedef struct grpc_channelz_v2_PropertyList_Element { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyList_Element;
30
+ typedef struct grpc_channelz_v2_PropertyGrid { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyGrid;
31
+ typedef struct grpc_channelz_v2_PropertyGrid_Row { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyGrid_Row;
32
+ typedef struct grpc_channelz_v2_PropertyTable { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyTable;
33
+ typedef struct grpc_channelz_v2_PropertyTable_Row { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyTable_Row;
34
+ typedef struct grpc_channelz_v2_PropertyValue { upb_Message UPB_PRIVATE(base); } grpc_channelz_v2_PropertyValue;
35
+ struct google_protobuf_Any;
36
+ struct google_protobuf_Duration;
37
+ struct google_protobuf_Empty;
38
+ struct google_protobuf_Timestamp;
39
+
40
+
41
+
42
+ /* grpc.channelz.v2.PropertyList */
43
+
44
+ UPB_INLINE grpc_channelz_v2_PropertyList* grpc_channelz_v2_PropertyList_new(upb_Arena* arena) {
45
+ return (grpc_channelz_v2_PropertyList*)_upb_Message_New(&grpc__channelz__v2__PropertyList_msg_init, arena);
46
+ }
47
+ UPB_INLINE grpc_channelz_v2_PropertyList* grpc_channelz_v2_PropertyList_parse(const char* buf, size_t size, upb_Arena* arena) {
48
+ grpc_channelz_v2_PropertyList* ret = grpc_channelz_v2_PropertyList_new(arena);
49
+ if (!ret) return NULL;
50
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyList_msg_init, NULL, 0, arena) !=
51
+ kUpb_DecodeStatus_Ok) {
52
+ return NULL;
53
+ }
54
+ return ret;
55
+ }
56
+ UPB_INLINE grpc_channelz_v2_PropertyList* grpc_channelz_v2_PropertyList_parse_ex(const char* buf, size_t size,
57
+ const upb_ExtensionRegistry* extreg,
58
+ int options, upb_Arena* arena) {
59
+ grpc_channelz_v2_PropertyList* ret = grpc_channelz_v2_PropertyList_new(arena);
60
+ if (!ret) return NULL;
61
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyList_msg_init, extreg, options,
62
+ arena) != kUpb_DecodeStatus_Ok) {
63
+ return NULL;
64
+ }
65
+ return ret;
66
+ }
67
+ UPB_INLINE char* grpc_channelz_v2_PropertyList_serialize(const grpc_channelz_v2_PropertyList* msg, upb_Arena* arena, size_t* len) {
68
+ char* ptr;
69
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyList_msg_init, 0, arena, &ptr, len);
70
+ return ptr;
71
+ }
72
+ UPB_INLINE char* grpc_channelz_v2_PropertyList_serialize_ex(const grpc_channelz_v2_PropertyList* msg, int options,
73
+ upb_Arena* arena, size_t* len) {
74
+ char* ptr;
75
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyList_msg_init, options, arena, &ptr, len);
76
+ return ptr;
77
+ }
78
+ UPB_INLINE void grpc_channelz_v2_PropertyList_clear_properties(grpc_channelz_v2_PropertyList* msg) {
79
+ 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)};
80
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
81
+ }
82
+ UPB_INLINE const grpc_channelz_v2_PropertyList_Element* const* grpc_channelz_v2_PropertyList_properties(const grpc_channelz_v2_PropertyList* msg, size_t* size) {
83
+ 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)};
84
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyList__Element_msg_init);
85
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
86
+ if (arr) {
87
+ if (size) *size = arr->UPB_PRIVATE(size);
88
+ return (const grpc_channelz_v2_PropertyList_Element* const*)upb_Array_DataPtr(arr);
89
+ } else {
90
+ if (size) *size = 0;
91
+ return NULL;
92
+ }
93
+ }
94
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyList_properties_upb_array(const grpc_channelz_v2_PropertyList* msg, size_t* size) {
95
+ 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)};
96
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyList__Element_msg_init);
97
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
98
+ if (size) {
99
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
100
+ }
101
+ return arr;
102
+ }
103
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyList_properties_mutable_upb_array(grpc_channelz_v2_PropertyList* msg, size_t* size, upb_Arena* arena) {
104
+ 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)};
105
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyList__Element_msg_init);
106
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
107
+ &field, arena);
108
+ if (size) {
109
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
110
+ }
111
+ return arr;
112
+ }
113
+
114
+ UPB_INLINE grpc_channelz_v2_PropertyList_Element** grpc_channelz_v2_PropertyList_mutable_properties(grpc_channelz_v2_PropertyList* msg, size_t* size) {
115
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
116
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyList__Element_msg_init);
117
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
118
+ if (arr) {
119
+ if (size) *size = arr->UPB_PRIVATE(size);
120
+ return (grpc_channelz_v2_PropertyList_Element**)upb_Array_MutableDataPtr(arr);
121
+ } else {
122
+ if (size) *size = 0;
123
+ return NULL;
124
+ }
125
+ }
126
+ UPB_INLINE grpc_channelz_v2_PropertyList_Element** grpc_channelz_v2_PropertyList_resize_properties(grpc_channelz_v2_PropertyList* msg, size_t size, upb_Arena* arena) {
127
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
128
+ return (grpc_channelz_v2_PropertyList_Element**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
129
+ &field, size, arena);
130
+ }
131
+ UPB_INLINE struct grpc_channelz_v2_PropertyList_Element* grpc_channelz_v2_PropertyList_add_properties(grpc_channelz_v2_PropertyList* msg, upb_Arena* arena) {
132
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
133
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyList__Element_msg_init);
134
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
135
+ UPB_UPCAST(msg), &field, arena);
136
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
137
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
138
+ return NULL;
139
+ }
140
+ struct grpc_channelz_v2_PropertyList_Element* sub = (struct grpc_channelz_v2_PropertyList_Element*)_upb_Message_New(&grpc__channelz__v2__PropertyList__Element_msg_init, arena);
141
+ if (!arr || !sub) return NULL;
142
+ UPB_PRIVATE(_upb_Array_Set)
143
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
144
+ return sub;
145
+ }
146
+
147
+ /* grpc.channelz.v2.PropertyList.Element */
148
+
149
+ UPB_INLINE grpc_channelz_v2_PropertyList_Element* grpc_channelz_v2_PropertyList_Element_new(upb_Arena* arena) {
150
+ return (grpc_channelz_v2_PropertyList_Element*)_upb_Message_New(&grpc__channelz__v2__PropertyList__Element_msg_init, arena);
151
+ }
152
+ UPB_INLINE grpc_channelz_v2_PropertyList_Element* grpc_channelz_v2_PropertyList_Element_parse(const char* buf, size_t size, upb_Arena* arena) {
153
+ grpc_channelz_v2_PropertyList_Element* ret = grpc_channelz_v2_PropertyList_Element_new(arena);
154
+ if (!ret) return NULL;
155
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyList__Element_msg_init, NULL, 0, arena) !=
156
+ kUpb_DecodeStatus_Ok) {
157
+ return NULL;
158
+ }
159
+ return ret;
160
+ }
161
+ UPB_INLINE grpc_channelz_v2_PropertyList_Element* grpc_channelz_v2_PropertyList_Element_parse_ex(const char* buf, size_t size,
162
+ const upb_ExtensionRegistry* extreg,
163
+ int options, upb_Arena* arena) {
164
+ grpc_channelz_v2_PropertyList_Element* ret = grpc_channelz_v2_PropertyList_Element_new(arena);
165
+ if (!ret) return NULL;
166
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyList__Element_msg_init, extreg, options,
167
+ arena) != kUpb_DecodeStatus_Ok) {
168
+ return NULL;
169
+ }
170
+ return ret;
171
+ }
172
+ UPB_INLINE char* grpc_channelz_v2_PropertyList_Element_serialize(const grpc_channelz_v2_PropertyList_Element* msg, upb_Arena* arena, size_t* len) {
173
+ char* ptr;
174
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyList__Element_msg_init, 0, arena, &ptr, len);
175
+ return ptr;
176
+ }
177
+ UPB_INLINE char* grpc_channelz_v2_PropertyList_Element_serialize_ex(const grpc_channelz_v2_PropertyList_Element* msg, int options,
178
+ upb_Arena* arena, size_t* len) {
179
+ char* ptr;
180
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyList__Element_msg_init, options, arena, &ptr, len);
181
+ return ptr;
182
+ }
183
+ UPB_INLINE void grpc_channelz_v2_PropertyList_Element_clear_key(grpc_channelz_v2_PropertyList_Element* msg) {
184
+ const upb_MiniTableField field = {1, 16, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
185
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
186
+ }
187
+ UPB_INLINE upb_StringView grpc_channelz_v2_PropertyList_Element_key(const grpc_channelz_v2_PropertyList_Element* msg) {
188
+ upb_StringView default_val = upb_StringView_FromString("");
189
+ upb_StringView ret;
190
+ const upb_MiniTableField field = {1, 16, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
191
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
192
+ &default_val, &ret);
193
+ return ret;
194
+ }
195
+ UPB_INLINE void grpc_channelz_v2_PropertyList_Element_clear_value(grpc_channelz_v2_PropertyList_Element* msg) {
196
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
197
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
198
+ }
199
+ UPB_INLINE const grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyList_Element_value(const grpc_channelz_v2_PropertyList_Element* msg) {
200
+ const grpc_channelz_v2_PropertyValue* default_val = NULL;
201
+ const grpc_channelz_v2_PropertyValue* ret;
202
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
203
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
204
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
205
+ &default_val, &ret);
206
+ return ret;
207
+ }
208
+ UPB_INLINE bool grpc_channelz_v2_PropertyList_Element_has_value(const grpc_channelz_v2_PropertyList_Element* msg) {
209
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
210
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
211
+ }
212
+
213
+ UPB_INLINE void grpc_channelz_v2_PropertyList_Element_set_key(grpc_channelz_v2_PropertyList_Element *msg, upb_StringView value) {
214
+ const upb_MiniTableField field = {1, 16, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
215
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
216
+ }
217
+ UPB_INLINE void grpc_channelz_v2_PropertyList_Element_set_value(grpc_channelz_v2_PropertyList_Element *msg, grpc_channelz_v2_PropertyValue* value) {
218
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
219
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
220
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
221
+ }
222
+ UPB_INLINE struct grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyList_Element_mutable_value(grpc_channelz_v2_PropertyList_Element* msg, upb_Arena* arena) {
223
+ struct grpc_channelz_v2_PropertyValue* sub = (struct grpc_channelz_v2_PropertyValue*)grpc_channelz_v2_PropertyList_Element_value(msg);
224
+ if (sub == NULL) {
225
+ sub = (struct grpc_channelz_v2_PropertyValue*)_upb_Message_New(&grpc__channelz__v2__PropertyValue_msg_init, arena);
226
+ if (sub) grpc_channelz_v2_PropertyList_Element_set_value(msg, sub);
227
+ }
228
+ return sub;
229
+ }
230
+
231
+ /* grpc.channelz.v2.PropertyGrid */
232
+
233
+ UPB_INLINE grpc_channelz_v2_PropertyGrid* grpc_channelz_v2_PropertyGrid_new(upb_Arena* arena) {
234
+ return (grpc_channelz_v2_PropertyGrid*)_upb_Message_New(&grpc__channelz__v2__PropertyGrid_msg_init, arena);
235
+ }
236
+ UPB_INLINE grpc_channelz_v2_PropertyGrid* grpc_channelz_v2_PropertyGrid_parse(const char* buf, size_t size, upb_Arena* arena) {
237
+ grpc_channelz_v2_PropertyGrid* ret = grpc_channelz_v2_PropertyGrid_new(arena);
238
+ if (!ret) return NULL;
239
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyGrid_msg_init, NULL, 0, arena) !=
240
+ kUpb_DecodeStatus_Ok) {
241
+ return NULL;
242
+ }
243
+ return ret;
244
+ }
245
+ UPB_INLINE grpc_channelz_v2_PropertyGrid* grpc_channelz_v2_PropertyGrid_parse_ex(const char* buf, size_t size,
246
+ const upb_ExtensionRegistry* extreg,
247
+ int options, upb_Arena* arena) {
248
+ grpc_channelz_v2_PropertyGrid* ret = grpc_channelz_v2_PropertyGrid_new(arena);
249
+ if (!ret) return NULL;
250
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyGrid_msg_init, extreg, options,
251
+ arena) != kUpb_DecodeStatus_Ok) {
252
+ return NULL;
253
+ }
254
+ return ret;
255
+ }
256
+ UPB_INLINE char* grpc_channelz_v2_PropertyGrid_serialize(const grpc_channelz_v2_PropertyGrid* msg, upb_Arena* arena, size_t* len) {
257
+ char* ptr;
258
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyGrid_msg_init, 0, arena, &ptr, len);
259
+ return ptr;
260
+ }
261
+ UPB_INLINE char* grpc_channelz_v2_PropertyGrid_serialize_ex(const grpc_channelz_v2_PropertyGrid* msg, int options,
262
+ upb_Arena* arena, size_t* len) {
263
+ char* ptr;
264
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyGrid_msg_init, options, arena, &ptr, len);
265
+ return ptr;
266
+ }
267
+ UPB_INLINE void grpc_channelz_v2_PropertyGrid_clear_columns(grpc_channelz_v2_PropertyGrid* msg) {
268
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
269
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
270
+ }
271
+ UPB_INLINE upb_StringView const* grpc_channelz_v2_PropertyGrid_columns(const grpc_channelz_v2_PropertyGrid* msg, size_t* size) {
272
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
273
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
274
+ if (arr) {
275
+ if (size) *size = arr->UPB_PRIVATE(size);
276
+ return (upb_StringView const*)upb_Array_DataPtr(arr);
277
+ } else {
278
+ if (size) *size = 0;
279
+ return NULL;
280
+ }
281
+ }
282
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyGrid_columns_upb_array(const grpc_channelz_v2_PropertyGrid* msg, size_t* size) {
283
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
284
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
285
+ if (size) {
286
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
287
+ }
288
+ return arr;
289
+ }
290
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyGrid_columns_mutable_upb_array(grpc_channelz_v2_PropertyGrid* msg, size_t* size, upb_Arena* arena) {
291
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
292
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
293
+ &field, arena);
294
+ if (size) {
295
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
296
+ }
297
+ return arr;
298
+ }
299
+ UPB_INLINE void grpc_channelz_v2_PropertyGrid_clear_rows(grpc_channelz_v2_PropertyGrid* msg) {
300
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
301
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
302
+ }
303
+ UPB_INLINE const grpc_channelz_v2_PropertyGrid_Row* const* grpc_channelz_v2_PropertyGrid_rows(const grpc_channelz_v2_PropertyGrid* msg, size_t* size) {
304
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
305
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyGrid__Row_msg_init);
306
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
307
+ if (arr) {
308
+ if (size) *size = arr->UPB_PRIVATE(size);
309
+ return (const grpc_channelz_v2_PropertyGrid_Row* const*)upb_Array_DataPtr(arr);
310
+ } else {
311
+ if (size) *size = 0;
312
+ return NULL;
313
+ }
314
+ }
315
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyGrid_rows_upb_array(const grpc_channelz_v2_PropertyGrid* msg, size_t* size) {
316
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
317
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyGrid__Row_msg_init);
318
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
319
+ if (size) {
320
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
321
+ }
322
+ return arr;
323
+ }
324
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyGrid_rows_mutable_upb_array(grpc_channelz_v2_PropertyGrid* msg, size_t* size, upb_Arena* arena) {
325
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
326
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyGrid__Row_msg_init);
327
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
328
+ &field, arena);
329
+ if (size) {
330
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
331
+ }
332
+ return arr;
333
+ }
334
+
335
+ UPB_INLINE upb_StringView* grpc_channelz_v2_PropertyGrid_mutable_columns(grpc_channelz_v2_PropertyGrid* msg, size_t* size) {
336
+ upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
337
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
338
+ if (arr) {
339
+ if (size) *size = arr->UPB_PRIVATE(size);
340
+ return (upb_StringView*)upb_Array_MutableDataPtr(arr);
341
+ } else {
342
+ if (size) *size = 0;
343
+ return NULL;
344
+ }
345
+ }
346
+ UPB_INLINE upb_StringView* grpc_channelz_v2_PropertyGrid_resize_columns(grpc_channelz_v2_PropertyGrid* msg, size_t size, upb_Arena* arena) {
347
+ upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
348
+ return (upb_StringView*)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
349
+ &field, size, arena);
350
+ }
351
+ UPB_INLINE bool grpc_channelz_v2_PropertyGrid_add_columns(grpc_channelz_v2_PropertyGrid* msg, upb_StringView val, upb_Arena* arena) {
352
+ upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
353
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
354
+ UPB_UPCAST(msg), &field, arena);
355
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
356
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
357
+ return false;
358
+ }
359
+ UPB_PRIVATE(_upb_Array_Set)
360
+ (arr, arr->UPB_PRIVATE(size) - 1, &val, sizeof(val));
361
+ return true;
362
+ }
363
+ UPB_INLINE grpc_channelz_v2_PropertyGrid_Row** grpc_channelz_v2_PropertyGrid_mutable_rows(grpc_channelz_v2_PropertyGrid* msg, size_t* size) {
364
+ upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
365
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyGrid__Row_msg_init);
366
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
367
+ if (arr) {
368
+ if (size) *size = arr->UPB_PRIVATE(size);
369
+ return (grpc_channelz_v2_PropertyGrid_Row**)upb_Array_MutableDataPtr(arr);
370
+ } else {
371
+ if (size) *size = 0;
372
+ return NULL;
373
+ }
374
+ }
375
+ UPB_INLINE grpc_channelz_v2_PropertyGrid_Row** grpc_channelz_v2_PropertyGrid_resize_rows(grpc_channelz_v2_PropertyGrid* msg, size_t size, upb_Arena* arena) {
376
+ upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
377
+ return (grpc_channelz_v2_PropertyGrid_Row**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
378
+ &field, size, arena);
379
+ }
380
+ UPB_INLINE struct grpc_channelz_v2_PropertyGrid_Row* grpc_channelz_v2_PropertyGrid_add_rows(grpc_channelz_v2_PropertyGrid* msg, upb_Arena* arena) {
381
+ upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
382
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyGrid__Row_msg_init);
383
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
384
+ UPB_UPCAST(msg), &field, arena);
385
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
386
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
387
+ return NULL;
388
+ }
389
+ struct grpc_channelz_v2_PropertyGrid_Row* sub = (struct grpc_channelz_v2_PropertyGrid_Row*)_upb_Message_New(&grpc__channelz__v2__PropertyGrid__Row_msg_init, arena);
390
+ if (!arr || !sub) return NULL;
391
+ UPB_PRIVATE(_upb_Array_Set)
392
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
393
+ return sub;
394
+ }
395
+
396
+ /* grpc.channelz.v2.PropertyGrid.Row */
397
+
398
+ UPB_INLINE grpc_channelz_v2_PropertyGrid_Row* grpc_channelz_v2_PropertyGrid_Row_new(upb_Arena* arena) {
399
+ return (grpc_channelz_v2_PropertyGrid_Row*)_upb_Message_New(&grpc__channelz__v2__PropertyGrid__Row_msg_init, arena);
400
+ }
401
+ UPB_INLINE grpc_channelz_v2_PropertyGrid_Row* grpc_channelz_v2_PropertyGrid_Row_parse(const char* buf, size_t size, upb_Arena* arena) {
402
+ grpc_channelz_v2_PropertyGrid_Row* ret = grpc_channelz_v2_PropertyGrid_Row_new(arena);
403
+ if (!ret) return NULL;
404
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyGrid__Row_msg_init, NULL, 0, arena) !=
405
+ kUpb_DecodeStatus_Ok) {
406
+ return NULL;
407
+ }
408
+ return ret;
409
+ }
410
+ UPB_INLINE grpc_channelz_v2_PropertyGrid_Row* grpc_channelz_v2_PropertyGrid_Row_parse_ex(const char* buf, size_t size,
411
+ const upb_ExtensionRegistry* extreg,
412
+ int options, upb_Arena* arena) {
413
+ grpc_channelz_v2_PropertyGrid_Row* ret = grpc_channelz_v2_PropertyGrid_Row_new(arena);
414
+ if (!ret) return NULL;
415
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyGrid__Row_msg_init, extreg, options,
416
+ arena) != kUpb_DecodeStatus_Ok) {
417
+ return NULL;
418
+ }
419
+ return ret;
420
+ }
421
+ UPB_INLINE char* grpc_channelz_v2_PropertyGrid_Row_serialize(const grpc_channelz_v2_PropertyGrid_Row* msg, upb_Arena* arena, size_t* len) {
422
+ char* ptr;
423
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyGrid__Row_msg_init, 0, arena, &ptr, len);
424
+ return ptr;
425
+ }
426
+ UPB_INLINE char* grpc_channelz_v2_PropertyGrid_Row_serialize_ex(const grpc_channelz_v2_PropertyGrid_Row* msg, int options,
427
+ upb_Arena* arena, size_t* len) {
428
+ char* ptr;
429
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyGrid__Row_msg_init, options, arena, &ptr, len);
430
+ return ptr;
431
+ }
432
+ UPB_INLINE void grpc_channelz_v2_PropertyGrid_Row_clear_label(grpc_channelz_v2_PropertyGrid_Row* msg) {
433
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
434
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
435
+ }
436
+ UPB_INLINE upb_StringView grpc_channelz_v2_PropertyGrid_Row_label(const grpc_channelz_v2_PropertyGrid_Row* msg) {
437
+ upb_StringView default_val = upb_StringView_FromString("");
438
+ upb_StringView ret;
439
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
440
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
441
+ &default_val, &ret);
442
+ return ret;
443
+ }
444
+ UPB_INLINE void grpc_channelz_v2_PropertyGrid_Row_clear_value(grpc_channelz_v2_PropertyGrid_Row* msg) {
445
+ const upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
446
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
447
+ }
448
+ UPB_INLINE const grpc_channelz_v2_PropertyValue* const* grpc_channelz_v2_PropertyGrid_Row_value(const grpc_channelz_v2_PropertyGrid_Row* msg, size_t* size) {
449
+ const upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
450
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
451
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
452
+ if (arr) {
453
+ if (size) *size = arr->UPB_PRIVATE(size);
454
+ return (const grpc_channelz_v2_PropertyValue* const*)upb_Array_DataPtr(arr);
455
+ } else {
456
+ if (size) *size = 0;
457
+ return NULL;
458
+ }
459
+ }
460
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyGrid_Row_value_upb_array(const grpc_channelz_v2_PropertyGrid_Row* msg, size_t* size) {
461
+ const upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
462
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
463
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
464
+ if (size) {
465
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
466
+ }
467
+ return arr;
468
+ }
469
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyGrid_Row_value_mutable_upb_array(grpc_channelz_v2_PropertyGrid_Row* msg, size_t* size, upb_Arena* arena) {
470
+ const upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
471
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
472
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
473
+ &field, arena);
474
+ if (size) {
475
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
476
+ }
477
+ return arr;
478
+ }
479
+
480
+ UPB_INLINE void grpc_channelz_v2_PropertyGrid_Row_set_label(grpc_channelz_v2_PropertyGrid_Row *msg, upb_StringView value) {
481
+ const upb_MiniTableField field = {1, UPB_SIZE(12, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
482
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
483
+ }
484
+ UPB_INLINE grpc_channelz_v2_PropertyValue** grpc_channelz_v2_PropertyGrid_Row_mutable_value(grpc_channelz_v2_PropertyGrid_Row* msg, size_t* size) {
485
+ upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
486
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
487
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
488
+ if (arr) {
489
+ if (size) *size = arr->UPB_PRIVATE(size);
490
+ return (grpc_channelz_v2_PropertyValue**)upb_Array_MutableDataPtr(arr);
491
+ } else {
492
+ if (size) *size = 0;
493
+ return NULL;
494
+ }
495
+ }
496
+ UPB_INLINE grpc_channelz_v2_PropertyValue** grpc_channelz_v2_PropertyGrid_Row_resize_value(grpc_channelz_v2_PropertyGrid_Row* msg, size_t size, upb_Arena* arena) {
497
+ upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
498
+ return (grpc_channelz_v2_PropertyValue**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
499
+ &field, size, arena);
500
+ }
501
+ UPB_INLINE struct grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyGrid_Row_add_value(grpc_channelz_v2_PropertyGrid_Row* msg, upb_Arena* arena) {
502
+ upb_MiniTableField field = {2, UPB_SIZE(8, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
503
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
504
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
505
+ UPB_UPCAST(msg), &field, arena);
506
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
507
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
508
+ return NULL;
509
+ }
510
+ struct grpc_channelz_v2_PropertyValue* sub = (struct grpc_channelz_v2_PropertyValue*)_upb_Message_New(&grpc__channelz__v2__PropertyValue_msg_init, arena);
511
+ if (!arr || !sub) return NULL;
512
+ UPB_PRIVATE(_upb_Array_Set)
513
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
514
+ return sub;
515
+ }
516
+
517
+ /* grpc.channelz.v2.PropertyTable */
518
+
519
+ UPB_INLINE grpc_channelz_v2_PropertyTable* grpc_channelz_v2_PropertyTable_new(upb_Arena* arena) {
520
+ return (grpc_channelz_v2_PropertyTable*)_upb_Message_New(&grpc__channelz__v2__PropertyTable_msg_init, arena);
521
+ }
522
+ UPB_INLINE grpc_channelz_v2_PropertyTable* grpc_channelz_v2_PropertyTable_parse(const char* buf, size_t size, upb_Arena* arena) {
523
+ grpc_channelz_v2_PropertyTable* ret = grpc_channelz_v2_PropertyTable_new(arena);
524
+ if (!ret) return NULL;
525
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyTable_msg_init, NULL, 0, arena) !=
526
+ kUpb_DecodeStatus_Ok) {
527
+ return NULL;
528
+ }
529
+ return ret;
530
+ }
531
+ UPB_INLINE grpc_channelz_v2_PropertyTable* grpc_channelz_v2_PropertyTable_parse_ex(const char* buf, size_t size,
532
+ const upb_ExtensionRegistry* extreg,
533
+ int options, upb_Arena* arena) {
534
+ grpc_channelz_v2_PropertyTable* ret = grpc_channelz_v2_PropertyTable_new(arena);
535
+ if (!ret) return NULL;
536
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyTable_msg_init, extreg, options,
537
+ arena) != kUpb_DecodeStatus_Ok) {
538
+ return NULL;
539
+ }
540
+ return ret;
541
+ }
542
+ UPB_INLINE char* grpc_channelz_v2_PropertyTable_serialize(const grpc_channelz_v2_PropertyTable* msg, upb_Arena* arena, size_t* len) {
543
+ char* ptr;
544
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyTable_msg_init, 0, arena, &ptr, len);
545
+ return ptr;
546
+ }
547
+ UPB_INLINE char* grpc_channelz_v2_PropertyTable_serialize_ex(const grpc_channelz_v2_PropertyTable* msg, int options,
548
+ upb_Arena* arena, size_t* len) {
549
+ char* ptr;
550
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyTable_msg_init, options, arena, &ptr, len);
551
+ return ptr;
552
+ }
553
+ UPB_INLINE void grpc_channelz_v2_PropertyTable_clear_columns(grpc_channelz_v2_PropertyTable* msg) {
554
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
555
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
556
+ }
557
+ UPB_INLINE upb_StringView const* grpc_channelz_v2_PropertyTable_columns(const grpc_channelz_v2_PropertyTable* msg, size_t* size) {
558
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
559
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
560
+ if (arr) {
561
+ if (size) *size = arr->UPB_PRIVATE(size);
562
+ return (upb_StringView const*)upb_Array_DataPtr(arr);
563
+ } else {
564
+ if (size) *size = 0;
565
+ return NULL;
566
+ }
567
+ }
568
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyTable_columns_upb_array(const grpc_channelz_v2_PropertyTable* msg, size_t* size) {
569
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
570
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
571
+ if (size) {
572
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
573
+ }
574
+ return arr;
575
+ }
576
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyTable_columns_mutable_upb_array(grpc_channelz_v2_PropertyTable* msg, size_t* size, upb_Arena* arena) {
577
+ const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
578
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
579
+ &field, arena);
580
+ if (size) {
581
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
582
+ }
583
+ return arr;
584
+ }
585
+ UPB_INLINE void grpc_channelz_v2_PropertyTable_clear_rows(grpc_channelz_v2_PropertyTable* msg) {
586
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
587
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
588
+ }
589
+ UPB_INLINE const grpc_channelz_v2_PropertyTable_Row* const* grpc_channelz_v2_PropertyTable_rows(const grpc_channelz_v2_PropertyTable* msg, size_t* size) {
590
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
591
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyTable__Row_msg_init);
592
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
593
+ if (arr) {
594
+ if (size) *size = arr->UPB_PRIVATE(size);
595
+ return (const grpc_channelz_v2_PropertyTable_Row* const*)upb_Array_DataPtr(arr);
596
+ } else {
597
+ if (size) *size = 0;
598
+ return NULL;
599
+ }
600
+ }
601
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyTable_rows_upb_array(const grpc_channelz_v2_PropertyTable* msg, size_t* size) {
602
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
603
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyTable__Row_msg_init);
604
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
605
+ if (size) {
606
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
607
+ }
608
+ return arr;
609
+ }
610
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyTable_rows_mutable_upb_array(grpc_channelz_v2_PropertyTable* msg, size_t* size, upb_Arena* arena) {
611
+ const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
612
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyTable__Row_msg_init);
613
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
614
+ &field, arena);
615
+ if (size) {
616
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
617
+ }
618
+ return arr;
619
+ }
620
+
621
+ UPB_INLINE upb_StringView* grpc_channelz_v2_PropertyTable_mutable_columns(grpc_channelz_v2_PropertyTable* msg, size_t* size) {
622
+ upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
623
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
624
+ if (arr) {
625
+ if (size) *size = arr->UPB_PRIVATE(size);
626
+ return (upb_StringView*)upb_Array_MutableDataPtr(arr);
627
+ } else {
628
+ if (size) *size = 0;
629
+ return NULL;
630
+ }
631
+ }
632
+ UPB_INLINE upb_StringView* grpc_channelz_v2_PropertyTable_resize_columns(grpc_channelz_v2_PropertyTable* msg, size_t size, upb_Arena* arena) {
633
+ upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
634
+ return (upb_StringView*)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
635
+ &field, size, arena);
636
+ }
637
+ UPB_INLINE bool grpc_channelz_v2_PropertyTable_add_columns(grpc_channelz_v2_PropertyTable* msg, upb_StringView val, upb_Arena* arena) {
638
+ upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
639
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
640
+ UPB_UPCAST(msg), &field, arena);
641
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
642
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
643
+ return false;
644
+ }
645
+ UPB_PRIVATE(_upb_Array_Set)
646
+ (arr, arr->UPB_PRIVATE(size) - 1, &val, sizeof(val));
647
+ return true;
648
+ }
649
+ UPB_INLINE grpc_channelz_v2_PropertyTable_Row** grpc_channelz_v2_PropertyTable_mutable_rows(grpc_channelz_v2_PropertyTable* msg, size_t* size) {
650
+ upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
651
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyTable__Row_msg_init);
652
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
653
+ if (arr) {
654
+ if (size) *size = arr->UPB_PRIVATE(size);
655
+ return (grpc_channelz_v2_PropertyTable_Row**)upb_Array_MutableDataPtr(arr);
656
+ } else {
657
+ if (size) *size = 0;
658
+ return NULL;
659
+ }
660
+ }
661
+ UPB_INLINE grpc_channelz_v2_PropertyTable_Row** grpc_channelz_v2_PropertyTable_resize_rows(grpc_channelz_v2_PropertyTable* msg, size_t size, upb_Arena* arena) {
662
+ upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
663
+ return (grpc_channelz_v2_PropertyTable_Row**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
664
+ &field, size, arena);
665
+ }
666
+ UPB_INLINE struct grpc_channelz_v2_PropertyTable_Row* grpc_channelz_v2_PropertyTable_add_rows(grpc_channelz_v2_PropertyTable* msg, upb_Arena* arena) {
667
+ upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
668
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyTable__Row_msg_init);
669
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
670
+ UPB_UPCAST(msg), &field, arena);
671
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
672
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
673
+ return NULL;
674
+ }
675
+ struct grpc_channelz_v2_PropertyTable_Row* sub = (struct grpc_channelz_v2_PropertyTable_Row*)_upb_Message_New(&grpc__channelz__v2__PropertyTable__Row_msg_init, arena);
676
+ if (!arr || !sub) return NULL;
677
+ UPB_PRIVATE(_upb_Array_Set)
678
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
679
+ return sub;
680
+ }
681
+
682
+ /* grpc.channelz.v2.PropertyTable.Row */
683
+
684
+ UPB_INLINE grpc_channelz_v2_PropertyTable_Row* grpc_channelz_v2_PropertyTable_Row_new(upb_Arena* arena) {
685
+ return (grpc_channelz_v2_PropertyTable_Row*)_upb_Message_New(&grpc__channelz__v2__PropertyTable__Row_msg_init, arena);
686
+ }
687
+ UPB_INLINE grpc_channelz_v2_PropertyTable_Row* grpc_channelz_v2_PropertyTable_Row_parse(const char* buf, size_t size, upb_Arena* arena) {
688
+ grpc_channelz_v2_PropertyTable_Row* ret = grpc_channelz_v2_PropertyTable_Row_new(arena);
689
+ if (!ret) return NULL;
690
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyTable__Row_msg_init, NULL, 0, arena) !=
691
+ kUpb_DecodeStatus_Ok) {
692
+ return NULL;
693
+ }
694
+ return ret;
695
+ }
696
+ UPB_INLINE grpc_channelz_v2_PropertyTable_Row* grpc_channelz_v2_PropertyTable_Row_parse_ex(const char* buf, size_t size,
697
+ const upb_ExtensionRegistry* extreg,
698
+ int options, upb_Arena* arena) {
699
+ grpc_channelz_v2_PropertyTable_Row* ret = grpc_channelz_v2_PropertyTable_Row_new(arena);
700
+ if (!ret) return NULL;
701
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyTable__Row_msg_init, extreg, options,
702
+ arena) != kUpb_DecodeStatus_Ok) {
703
+ return NULL;
704
+ }
705
+ return ret;
706
+ }
707
+ UPB_INLINE char* grpc_channelz_v2_PropertyTable_Row_serialize(const grpc_channelz_v2_PropertyTable_Row* msg, upb_Arena* arena, size_t* len) {
708
+ char* ptr;
709
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyTable__Row_msg_init, 0, arena, &ptr, len);
710
+ return ptr;
711
+ }
712
+ UPB_INLINE char* grpc_channelz_v2_PropertyTable_Row_serialize_ex(const grpc_channelz_v2_PropertyTable_Row* msg, int options,
713
+ upb_Arena* arena, size_t* len) {
714
+ char* ptr;
715
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyTable__Row_msg_init, options, arena, &ptr, len);
716
+ return ptr;
717
+ }
718
+ UPB_INLINE void grpc_channelz_v2_PropertyTable_Row_clear_value(grpc_channelz_v2_PropertyTable_Row* msg) {
719
+ 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)};
720
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
721
+ }
722
+ UPB_INLINE const grpc_channelz_v2_PropertyValue* const* grpc_channelz_v2_PropertyTable_Row_value(const grpc_channelz_v2_PropertyTable_Row* msg, size_t* size) {
723
+ 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)};
724
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
725
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
726
+ if (arr) {
727
+ if (size) *size = arr->UPB_PRIVATE(size);
728
+ return (const grpc_channelz_v2_PropertyValue* const*)upb_Array_DataPtr(arr);
729
+ } else {
730
+ if (size) *size = 0;
731
+ return NULL;
732
+ }
733
+ }
734
+ UPB_INLINE const upb_Array* _grpc_channelz_v2_PropertyTable_Row_value_upb_array(const grpc_channelz_v2_PropertyTable_Row* msg, size_t* size) {
735
+ 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)};
736
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
737
+ const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
738
+ if (size) {
739
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
740
+ }
741
+ return arr;
742
+ }
743
+ UPB_INLINE upb_Array* _grpc_channelz_v2_PropertyTable_Row_value_mutable_upb_array(grpc_channelz_v2_PropertyTable_Row* msg, size_t* size, upb_Arena* arena) {
744
+ 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)};
745
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
746
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
747
+ &field, arena);
748
+ if (size) {
749
+ *size = arr ? arr->UPB_PRIVATE(size) : 0;
750
+ }
751
+ return arr;
752
+ }
753
+
754
+ UPB_INLINE grpc_channelz_v2_PropertyValue** grpc_channelz_v2_PropertyTable_Row_mutable_value(grpc_channelz_v2_PropertyTable_Row* msg, size_t* size) {
755
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
756
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
757
+ upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
758
+ if (arr) {
759
+ if (size) *size = arr->UPB_PRIVATE(size);
760
+ return (grpc_channelz_v2_PropertyValue**)upb_Array_MutableDataPtr(arr);
761
+ } else {
762
+ if (size) *size = 0;
763
+ return NULL;
764
+ }
765
+ }
766
+ UPB_INLINE grpc_channelz_v2_PropertyValue** grpc_channelz_v2_PropertyTable_Row_resize_value(grpc_channelz_v2_PropertyTable_Row* msg, size_t size, upb_Arena* arena) {
767
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
768
+ return (grpc_channelz_v2_PropertyValue**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
769
+ &field, size, arena);
770
+ }
771
+ UPB_INLINE struct grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyTable_Row_add_value(grpc_channelz_v2_PropertyTable_Row* msg, upb_Arena* arena) {
772
+ upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
773
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&grpc__channelz__v2__PropertyValue_msg_init);
774
+ upb_Array* arr = upb_Message_GetOrCreateMutableArray(
775
+ UPB_UPCAST(msg), &field, arena);
776
+ if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
777
+ arr, arr->UPB_PRIVATE(size) + 1, arena)) {
778
+ return NULL;
779
+ }
780
+ struct grpc_channelz_v2_PropertyValue* sub = (struct grpc_channelz_v2_PropertyValue*)_upb_Message_New(&grpc__channelz__v2__PropertyValue_msg_init, arena);
781
+ if (!arr || !sub) return NULL;
782
+ UPB_PRIVATE(_upb_Array_Set)
783
+ (arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
784
+ return sub;
785
+ }
786
+
787
+ /* grpc.channelz.v2.PropertyValue */
788
+
789
+ UPB_INLINE grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyValue_new(upb_Arena* arena) {
790
+ return (grpc_channelz_v2_PropertyValue*)_upb_Message_New(&grpc__channelz__v2__PropertyValue_msg_init, arena);
791
+ }
792
+ UPB_INLINE grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyValue_parse(const char* buf, size_t size, upb_Arena* arena) {
793
+ grpc_channelz_v2_PropertyValue* ret = grpc_channelz_v2_PropertyValue_new(arena);
794
+ if (!ret) return NULL;
795
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyValue_msg_init, NULL, 0, arena) !=
796
+ kUpb_DecodeStatus_Ok) {
797
+ return NULL;
798
+ }
799
+ return ret;
800
+ }
801
+ UPB_INLINE grpc_channelz_v2_PropertyValue* grpc_channelz_v2_PropertyValue_parse_ex(const char* buf, size_t size,
802
+ const upb_ExtensionRegistry* extreg,
803
+ int options, upb_Arena* arena) {
804
+ grpc_channelz_v2_PropertyValue* ret = grpc_channelz_v2_PropertyValue_new(arena);
805
+ if (!ret) return NULL;
806
+ if (upb_Decode(buf, size, UPB_UPCAST(ret), &grpc__channelz__v2__PropertyValue_msg_init, extreg, options,
807
+ arena) != kUpb_DecodeStatus_Ok) {
808
+ return NULL;
809
+ }
810
+ return ret;
811
+ }
812
+ UPB_INLINE char* grpc_channelz_v2_PropertyValue_serialize(const grpc_channelz_v2_PropertyValue* msg, upb_Arena* arena, size_t* len) {
813
+ char* ptr;
814
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyValue_msg_init, 0, arena, &ptr, len);
815
+ return ptr;
816
+ }
817
+ UPB_INLINE char* grpc_channelz_v2_PropertyValue_serialize_ex(const grpc_channelz_v2_PropertyValue* msg, int options,
818
+ upb_Arena* arena, size_t* len) {
819
+ char* ptr;
820
+ (void)upb_Encode(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyValue_msg_init, options, arena, &ptr, len);
821
+ return ptr;
822
+ }
823
+ typedef enum {
824
+ grpc_channelz_v2_PropertyValue_kind_empty_value = 1,
825
+ grpc_channelz_v2_PropertyValue_kind_any_value = 2,
826
+ grpc_channelz_v2_PropertyValue_kind_string_value = 3,
827
+ grpc_channelz_v2_PropertyValue_kind_int64_value = 4,
828
+ grpc_channelz_v2_PropertyValue_kind_uint64_value = 5,
829
+ grpc_channelz_v2_PropertyValue_kind_double_value = 6,
830
+ grpc_channelz_v2_PropertyValue_kind_bool_value = 7,
831
+ grpc_channelz_v2_PropertyValue_kind_timestamp_value = 8,
832
+ grpc_channelz_v2_PropertyValue_kind_duration_value = 9,
833
+ grpc_channelz_v2_PropertyValue_kind_NOT_SET = 0
834
+ } grpc_channelz_v2_PropertyValue_kind_oneofcases;
835
+ UPB_INLINE grpc_channelz_v2_PropertyValue_kind_oneofcases grpc_channelz_v2_PropertyValue_kind_case(const grpc_channelz_v2_PropertyValue* msg) {
836
+ const upb_MiniTableField field = {1, 16, -9, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
837
+ return (grpc_channelz_v2_PropertyValue_kind_oneofcases)upb_Message_WhichOneofFieldNumber(
838
+ UPB_UPCAST(msg), &field);
839
+ }
840
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_kind(grpc_channelz_v2_PropertyValue* msg) {
841
+ const upb_MiniTableField field = {1, 16, -9, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
842
+ upb_Message_ClearOneof(UPB_UPCAST(msg), &grpc__channelz__v2__PropertyValue_msg_init, &field);
843
+ }
844
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_empty_value(grpc_channelz_v2_PropertyValue* msg) {
845
+ const upb_MiniTableField field = {1, 16, -9, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
846
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
847
+ }
848
+ UPB_INLINE const struct google_protobuf_Empty* grpc_channelz_v2_PropertyValue_empty_value(const grpc_channelz_v2_PropertyValue* msg) {
849
+ const struct google_protobuf_Empty* default_val = NULL;
850
+ const struct google_protobuf_Empty* ret;
851
+ const upb_MiniTableField field = {1, 16, -9, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
852
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Empty_msg_init);
853
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
854
+ &default_val, &ret);
855
+ return ret;
856
+ }
857
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_empty_value(const grpc_channelz_v2_PropertyValue* msg) {
858
+ const upb_MiniTableField field = {1, 16, -9, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
859
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
860
+ }
861
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_any_value(grpc_channelz_v2_PropertyValue* msg) {
862
+ const upb_MiniTableField field = {2, 16, -9, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
863
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
864
+ }
865
+ UPB_INLINE const struct google_protobuf_Any* grpc_channelz_v2_PropertyValue_any_value(const grpc_channelz_v2_PropertyValue* msg) {
866
+ const struct google_protobuf_Any* default_val = NULL;
867
+ const struct google_protobuf_Any* ret;
868
+ const upb_MiniTableField field = {2, 16, -9, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
869
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Any_msg_init);
870
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
871
+ &default_val, &ret);
872
+ return ret;
873
+ }
874
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_any_value(const grpc_channelz_v2_PropertyValue* msg) {
875
+ const upb_MiniTableField field = {2, 16, -9, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
876
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
877
+ }
878
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_string_value(grpc_channelz_v2_PropertyValue* msg) {
879
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
880
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
881
+ }
882
+ UPB_INLINE upb_StringView grpc_channelz_v2_PropertyValue_string_value(const grpc_channelz_v2_PropertyValue* msg) {
883
+ upb_StringView default_val = upb_StringView_FromString("");
884
+ upb_StringView ret;
885
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
886
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
887
+ &default_val, &ret);
888
+ return ret;
889
+ }
890
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_string_value(const grpc_channelz_v2_PropertyValue* msg) {
891
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
892
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
893
+ }
894
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_int64_value(grpc_channelz_v2_PropertyValue* msg) {
895
+ const upb_MiniTableField field = {4, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
896
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
897
+ }
898
+ UPB_INLINE int64_t grpc_channelz_v2_PropertyValue_int64_value(const grpc_channelz_v2_PropertyValue* msg) {
899
+ int64_t default_val = (int64_t)0ll;
900
+ int64_t ret;
901
+ const upb_MiniTableField field = {4, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
902
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
903
+ &default_val, &ret);
904
+ return ret;
905
+ }
906
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_int64_value(const grpc_channelz_v2_PropertyValue* msg) {
907
+ const upb_MiniTableField field = {4, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
908
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
909
+ }
910
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_uint64_value(grpc_channelz_v2_PropertyValue* msg) {
911
+ const upb_MiniTableField field = {5, 16, -9, kUpb_NoSub, 4, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
912
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
913
+ }
914
+ UPB_INLINE uint64_t grpc_channelz_v2_PropertyValue_uint64_value(const grpc_channelz_v2_PropertyValue* msg) {
915
+ uint64_t default_val = (uint64_t)0ull;
916
+ uint64_t ret;
917
+ const upb_MiniTableField field = {5, 16, -9, kUpb_NoSub, 4, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
918
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
919
+ &default_val, &ret);
920
+ return ret;
921
+ }
922
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_uint64_value(const grpc_channelz_v2_PropertyValue* msg) {
923
+ const upb_MiniTableField field = {5, 16, -9, kUpb_NoSub, 4, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
924
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
925
+ }
926
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_double_value(grpc_channelz_v2_PropertyValue* msg) {
927
+ const upb_MiniTableField field = {6, 16, -9, kUpb_NoSub, 1, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
928
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
929
+ }
930
+ UPB_INLINE double grpc_channelz_v2_PropertyValue_double_value(const grpc_channelz_v2_PropertyValue* msg) {
931
+ double default_val = 0;
932
+ double ret;
933
+ const upb_MiniTableField field = {6, 16, -9, kUpb_NoSub, 1, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
934
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
935
+ &default_val, &ret);
936
+ return ret;
937
+ }
938
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_double_value(const grpc_channelz_v2_PropertyValue* msg) {
939
+ const upb_MiniTableField field = {6, 16, -9, kUpb_NoSub, 1, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
940
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
941
+ }
942
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_bool_value(grpc_channelz_v2_PropertyValue* msg) {
943
+ const upb_MiniTableField field = {7, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
944
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
945
+ }
946
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_bool_value(const grpc_channelz_v2_PropertyValue* msg) {
947
+ bool default_val = false;
948
+ bool ret;
949
+ const upb_MiniTableField field = {7, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
950
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
951
+ &default_val, &ret);
952
+ return ret;
953
+ }
954
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_bool_value(const grpc_channelz_v2_PropertyValue* msg) {
955
+ const upb_MiniTableField field = {7, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
956
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
957
+ }
958
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_timestamp_value(grpc_channelz_v2_PropertyValue* msg) {
959
+ const upb_MiniTableField field = {8, 16, -9, 2, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
960
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
961
+ }
962
+ UPB_INLINE const struct google_protobuf_Timestamp* grpc_channelz_v2_PropertyValue_timestamp_value(const grpc_channelz_v2_PropertyValue* msg) {
963
+ const struct google_protobuf_Timestamp* default_val = NULL;
964
+ const struct google_protobuf_Timestamp* ret;
965
+ const upb_MiniTableField field = {8, 16, -9, 2, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
966
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Timestamp_msg_init);
967
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
968
+ &default_val, &ret);
969
+ return ret;
970
+ }
971
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_timestamp_value(const grpc_channelz_v2_PropertyValue* msg) {
972
+ const upb_MiniTableField field = {8, 16, -9, 2, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
973
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
974
+ }
975
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_clear_duration_value(grpc_channelz_v2_PropertyValue* msg) {
976
+ const upb_MiniTableField field = {9, 16, -9, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
977
+ upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
978
+ }
979
+ UPB_INLINE const struct google_protobuf_Duration* grpc_channelz_v2_PropertyValue_duration_value(const grpc_channelz_v2_PropertyValue* msg) {
980
+ const struct google_protobuf_Duration* default_val = NULL;
981
+ const struct google_protobuf_Duration* ret;
982
+ const upb_MiniTableField field = {9, 16, -9, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
983
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Duration_msg_init);
984
+ _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
985
+ &default_val, &ret);
986
+ return ret;
987
+ }
988
+ UPB_INLINE bool grpc_channelz_v2_PropertyValue_has_duration_value(const grpc_channelz_v2_PropertyValue* msg) {
989
+ const upb_MiniTableField field = {9, 16, -9, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
990
+ return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
991
+ }
992
+
993
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_empty_value(grpc_channelz_v2_PropertyValue *msg, struct google_protobuf_Empty* value) {
994
+ const upb_MiniTableField field = {1, 16, -9, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
995
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Empty_msg_init);
996
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
997
+ }
998
+ UPB_INLINE struct google_protobuf_Empty* grpc_channelz_v2_PropertyValue_mutable_empty_value(grpc_channelz_v2_PropertyValue* msg, upb_Arena* arena) {
999
+ struct google_protobuf_Empty* sub = (struct google_protobuf_Empty*)grpc_channelz_v2_PropertyValue_empty_value(msg);
1000
+ if (sub == NULL) {
1001
+ sub = (struct google_protobuf_Empty*)_upb_Message_New(&google__protobuf__Empty_msg_init, arena);
1002
+ if (sub) grpc_channelz_v2_PropertyValue_set_empty_value(msg, sub);
1003
+ }
1004
+ return sub;
1005
+ }
1006
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_any_value(grpc_channelz_v2_PropertyValue *msg, struct google_protobuf_Any* value) {
1007
+ const upb_MiniTableField field = {2, 16, -9, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
1008
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Any_msg_init);
1009
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1010
+ }
1011
+ UPB_INLINE struct google_protobuf_Any* grpc_channelz_v2_PropertyValue_mutable_any_value(grpc_channelz_v2_PropertyValue* msg, upb_Arena* arena) {
1012
+ struct google_protobuf_Any* sub = (struct google_protobuf_Any*)grpc_channelz_v2_PropertyValue_any_value(msg);
1013
+ if (sub == NULL) {
1014
+ sub = (struct google_protobuf_Any*)_upb_Message_New(&google__protobuf__Any_msg_init, arena);
1015
+ if (sub) grpc_channelz_v2_PropertyValue_set_any_value(msg, sub);
1016
+ }
1017
+ return sub;
1018
+ }
1019
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_string_value(grpc_channelz_v2_PropertyValue *msg, upb_StringView value) {
1020
+ const upb_MiniTableField field = {3, 16, -9, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
1021
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1022
+ }
1023
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_int64_value(grpc_channelz_v2_PropertyValue *msg, int64_t value) {
1024
+ const upb_MiniTableField field = {4, 16, -9, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
1025
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1026
+ }
1027
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_uint64_value(grpc_channelz_v2_PropertyValue *msg, uint64_t value) {
1028
+ const upb_MiniTableField field = {5, 16, -9, kUpb_NoSub, 4, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
1029
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1030
+ }
1031
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_double_value(grpc_channelz_v2_PropertyValue *msg, double value) {
1032
+ const upb_MiniTableField field = {6, 16, -9, kUpb_NoSub, 1, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
1033
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1034
+ }
1035
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_bool_value(grpc_channelz_v2_PropertyValue *msg, bool value) {
1036
+ const upb_MiniTableField field = {7, 16, -9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
1037
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1038
+ }
1039
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_timestamp_value(grpc_channelz_v2_PropertyValue *msg, struct google_protobuf_Timestamp* value) {
1040
+ const upb_MiniTableField field = {8, 16, -9, 2, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
1041
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Timestamp_msg_init);
1042
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1043
+ }
1044
+ UPB_INLINE struct google_protobuf_Timestamp* grpc_channelz_v2_PropertyValue_mutable_timestamp_value(grpc_channelz_v2_PropertyValue* msg, upb_Arena* arena) {
1045
+ struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)grpc_channelz_v2_PropertyValue_timestamp_value(msg);
1046
+ if (sub == NULL) {
1047
+ sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google__protobuf__Timestamp_msg_init, arena);
1048
+ if (sub) grpc_channelz_v2_PropertyValue_set_timestamp_value(msg, sub);
1049
+ }
1050
+ return sub;
1051
+ }
1052
+ UPB_INLINE void grpc_channelz_v2_PropertyValue_set_duration_value(grpc_channelz_v2_PropertyValue *msg, struct google_protobuf_Duration* value) {
1053
+ const upb_MiniTableField field = {9, 16, -9, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
1054
+ UPB_PRIVATE(_upb_MiniTable_StrongReference)(&google__protobuf__Duration_msg_init);
1055
+ upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
1056
+ }
1057
+ UPB_INLINE struct google_protobuf_Duration* grpc_channelz_v2_PropertyValue_mutable_duration_value(grpc_channelz_v2_PropertyValue* msg, upb_Arena* arena) {
1058
+ struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)grpc_channelz_v2_PropertyValue_duration_value(msg);
1059
+ if (sub == NULL) {
1060
+ sub = (struct google_protobuf_Duration*)_upb_Message_New(&google__protobuf__Duration_msg_init, arena);
1061
+ if (sub) grpc_channelz_v2_PropertyValue_set_duration_value(msg, sub);
1062
+ }
1063
+ return sub;
1064
+ }
1065
+
1066
+ #ifdef __cplusplus
1067
+ } /* extern "C" */
1068
+ #endif
1069
+
1070
+ #include "upb/port/undef.inc"
1071
+
1072
+ #endif /* SRC_PROTO_GRPC_CHANNELZ_V2_PROPERTY_LIST_PROTO_UPB_H__UPB_H_ */