grpc 1.31.1 → 1.32.0.pre1

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

Potentially problematic release.


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

Files changed (431) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +595 -15723
  3. data/include/grpc/grpc_security.h +31 -14
  4. data/include/grpc/impl/codegen/README.md +22 -0
  5. data/include/grpc/impl/codegen/port_platform.h +6 -1
  6. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -2
  7. data/src/core/ext/filters/client_channel/client_channel.cc +64 -20
  8. data/src/core/ext/filters/client_channel/client_channel.h +1 -1
  9. data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -3
  10. data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -1
  11. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +2 -3
  12. data/src/core/ext/filters/client_channel/lb_policy.h +2 -0
  13. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -4
  14. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +20 -13
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -13
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -3
  17. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -37
  18. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -13
  19. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +29 -10
  20. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +5 -4
  21. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +20 -9
  22. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +18 -12
  23. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +22 -14
  24. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +18 -9
  25. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +54 -56
  26. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +3 -3
  27. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  28. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  29. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -1
  30. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  31. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +363 -14
  32. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -1
  33. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +5 -4
  34. data/src/core/ext/filters/client_channel/server_address.cc +40 -7
  35. data/src/core/ext/filters/client_channel/server_address.h +42 -4
  36. data/src/core/ext/filters/client_channel/subchannel.cc +64 -23
  37. data/src/core/ext/filters/client_channel/subchannel.h +16 -4
  38. data/src/core/ext/filters/max_age/max_age_filter.cc +2 -1
  39. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +87 -31
  40. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +18 -1
  41. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +10 -35
  42. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +19 -25
  43. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -1
  44. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -2
  45. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +6 -6
  46. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -2
  47. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +239 -277
  48. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
  49. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
  50. data/src/core/ext/transport/chttp2/transport/internal.h +5 -1
  51. data/src/core/ext/transport/chttp2/transport/parsing.cc +1 -28
  52. data/src/core/ext/transport/chttp2/transport/writing.cc +6 -5
  53. data/src/core/ext/transport/inproc/inproc_transport.cc +12 -12
  54. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +224 -0
  55. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +700 -0
  56. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  57. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +226 -0
  58. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +380 -0
  59. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1378 -0
  60. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/filter.upb.c +8 -8
  61. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +69 -0
  62. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/outlier_detection.upb.c +8 -8
  63. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +323 -0
  64. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +112 -0
  65. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +334 -0
  66. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/backoff.upb.c +8 -8
  67. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +79 -0
  68. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +309 -0
  69. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +869 -0
  70. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +96 -0
  71. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +328 -0
  72. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  73. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +71 -0
  74. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +195 -0
  75. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +634 -0
  76. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
  77. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +684 -0
  78. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/http_uri.upb.c +8 -8
  79. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +80 -0
  80. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +152 -0
  81. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +536 -0
  82. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
  83. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +58 -0
  84. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/socket_option.upb.c +6 -6
  85. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +88 -0
  86. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
  87. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +220 -0
  88. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
  89. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +273 -0
  90. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  91. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +332 -0
  92. data/src/core/ext/upb-generated/envoy/config/listener/{v2 → v3}/api_listener.upb.c +8 -8
  93. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +65 -0
  94. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +108 -0
  95. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +401 -0
  96. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +138 -0
  97. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +490 -0
  98. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
  99. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +94 -0
  100. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +174 -0
  101. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +599 -0
  102. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
  103. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +204 -0
  104. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +773 -0
  105. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2855 -0
  106. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +59 -0
  107. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +135 -0
  108. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
  109. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +108 -0
  110. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +312 -0
  111. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1125 -0
  112. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
  113. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +34 -0
  114. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +111 -0
  115. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +401 -0
  116. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +72 -0
  117. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +198 -0
  118. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +105 -0
  119. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +388 -0
  120. data/src/core/ext/upb-generated/envoy/{api/v2 → service/cluster/v3}/cds.upb.c +5 -6
  121. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +49 -0
  122. data/src/core/ext/upb-generated/envoy/service/discovery/{v2 → v3}/ads.upb.c +5 -4
  123. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +49 -0
  124. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +129 -0
  125. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +386 -0
  126. data/src/core/ext/upb-generated/envoy/{api/v2 → service/endpoint/v3}/eds.upb.c +5 -6
  127. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +49 -0
  128. data/src/core/ext/upb-generated/envoy/{api/v2 → service/listener/v3}/lds.upb.c +5 -6
  129. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +49 -0
  130. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
  131. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +136 -0
  132. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/rds.upb.c +5 -6
  133. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +49 -0
  134. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/srds.upb.c +5 -6
  135. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +49 -0
  136. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
  137. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +114 -0
  138. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  139. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +77 -0
  140. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  141. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +71 -0
  142. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
  143. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +145 -0
  144. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
  145. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +127 -0
  146. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  147. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +188 -0
  148. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  149. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -0
  150. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  151. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +250 -0
  152. data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +2 -2
  153. data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +8 -8
  154. data/src/core/ext/upb-generated/envoy/type/{percent.upb.c → v3/percent.upb.c} +9 -8
  155. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +86 -0
  156. data/src/core/ext/upb-generated/envoy/type/{range.upb.c → v3/range.upb.c} +12 -11
  157. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -0
  158. data/src/core/ext/upb-generated/envoy/type/{semantic_version.upb.c → v3/semantic_version.upb.c} +6 -5
  159. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +61 -0
  160. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
  161. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +759 -0
  162. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +36 -36
  163. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +1 -1
  164. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  165. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -0
  166. data/src/core/ext/upb-generated/validate/validate.upb.c +11 -11
  167. data/src/core/ext/upb-generated/validate/validate.upb.h +1 -1
  168. data/src/core/ext/{filters/client_channel/xds → xds}/xds_api.cc +1045 -767
  169. data/src/core/ext/{filters/client_channel/xds → xds}/xds_api.h +114 -99
  170. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.cc +44 -2
  171. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.h +8 -3
  172. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel.h +4 -4
  173. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_args.h +3 -3
  174. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_secure.cc +2 -5
  175. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.cc +85 -417
  176. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.h +12 -45
  177. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.cc +2 -2
  178. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +3 -3
  179. data/src/core/lib/channel/channelz.cc +14 -15
  180. data/src/core/lib/channel/channelz.h +1 -1
  181. data/src/core/lib/channel/channelz_registry.cc +3 -1
  182. data/src/core/lib/gpr/sync_posix.cc +2 -8
  183. data/src/core/lib/iomgr/endpoint.cc +5 -1
  184. data/src/core/lib/iomgr/endpoint.h +7 -3
  185. data/src/core/lib/iomgr/endpoint_cfstream.cc +32 -11
  186. data/src/core/lib/iomgr/ev_posix.cc +0 -2
  187. data/src/core/lib/iomgr/iomgr.cc +0 -10
  188. data/src/core/lib/iomgr/iomgr.h +0 -10
  189. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.cc +1 -1
  190. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.h +3 -3
  191. data/src/core/lib/iomgr/sockaddr_utils.cc +2 -1
  192. data/src/core/lib/iomgr/sockaddr_utils.h +2 -1
  193. data/src/core/lib/iomgr/tcp_custom.cc +32 -16
  194. data/src/core/lib/iomgr/tcp_posix.cc +31 -13
  195. data/src/core/lib/iomgr/tcp_windows.cc +26 -10
  196. data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
  197. data/src/core/lib/security/authorization/authorization_engine.h +84 -0
  198. data/src/core/lib/security/authorization/evaluate_args.cc +153 -0
  199. data/src/core/lib/security/authorization/evaluate_args.h +59 -0
  200. data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
  201. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +42 -0
  202. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +68 -0
  203. data/src/core/lib/security/authorization/mock_cel/cel_value.h +93 -0
  204. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
  205. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +56 -0
  206. data/src/core/lib/security/authorization/mock_cel/statusor.h +50 -0
  207. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +56 -38
  208. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -2
  209. data/src/core/lib/security/transport/secure_endpoint.cc +7 -1
  210. data/src/core/lib/surface/call.cc +12 -12
  211. data/src/core/lib/surface/call.h +2 -1
  212. data/src/core/lib/surface/channel.cc +28 -20
  213. data/src/core/lib/surface/channel.h +12 -2
  214. data/src/core/lib/surface/completion_queue.cc +10 -272
  215. data/src/core/lib/surface/completion_queue.h +0 -8
  216. data/src/core/lib/surface/init.cc +1 -3
  217. data/src/core/lib/surface/server.cc +1066 -1244
  218. data/src/core/lib/surface/server.h +363 -87
  219. data/src/core/lib/surface/version.cc +2 -2
  220. data/src/core/lib/transport/authority_override.cc +38 -0
  221. data/src/core/lib/transport/authority_override.h +32 -0
  222. data/src/core/lib/transport/connectivity_state.cc +18 -13
  223. data/src/core/lib/transport/connectivity_state.h +18 -6
  224. data/src/core/lib/transport/error_utils.cc +13 -0
  225. data/src/core/lib/transport/error_utils.h +6 -0
  226. data/src/core/lib/transport/static_metadata.cc +295 -276
  227. data/src/core/lib/transport/static_metadata.h +80 -73
  228. data/src/core/lib/transport/transport.h +7 -0
  229. data/src/core/lib/uri/uri_parser.cc +23 -21
  230. data/src/core/lib/uri/uri_parser.h +3 -1
  231. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +22 -0
  232. data/src/core/tsi/ssl_transport_security.cc +3 -9
  233. data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
  234. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -2
  235. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -4
  236. data/src/ruby/lib/grpc/version.rb +1 -1
  237. data/src/ruby/spec/channel_credentials_spec.rb +10 -0
  238. data/src/ruby/spec/generic/active_call_spec.rb +19 -8
  239. data/third_party/abseil-cpp/absl/algorithm/container.h +1727 -0
  240. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +161 -0
  241. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  242. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  243. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  244. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  245. data/third_party/abseil-cpp/absl/container/fixed_array.h +515 -0
  246. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  247. data/third_party/abseil-cpp/absl/container/internal/common.h +202 -0
  248. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +440 -0
  249. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +146 -0
  250. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +191 -0
  251. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  252. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +269 -0
  253. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +297 -0
  254. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
  255. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +49 -0
  256. data/third_party/abseil-cpp/absl/container/internal/layout.h +741 -0
  257. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
  258. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1882 -0
  259. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +138 -0
  260. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  261. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1895 -0
  262. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  263. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  264. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  265. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +192 -0
  266. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +125 -0
  267. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +70 -0
  268. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +99 -0
  269. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
  270. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  271. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +85 -0
  272. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  273. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +128 -0
  274. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +194 -0
  275. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  276. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  277. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  278. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +25 -0
  279. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  280. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1480 -0
  281. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  282. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  283. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  284. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  285. data/third_party/abseil-cpp/absl/hash/hash.h +324 -0
  286. data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
  287. data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
  288. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
  289. data/third_party/abseil-cpp/absl/hash/internal/hash.h +988 -0
  290. data/third_party/abseil-cpp/absl/status/status.cc +447 -0
  291. data/third_party/abseil-cpp/absl/status/status.h +428 -0
  292. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +43 -0
  293. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  294. data/third_party/abseil-cpp/absl/strings/cord.cc +2019 -0
  295. data/third_party/abseil-cpp/absl/strings/cord.h +1121 -0
  296. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +151 -0
  297. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  298. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  299. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  300. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  301. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  302. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  303. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
  304. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  305. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
  306. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +261 -0
  307. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  308. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  309. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +484 -0
  310. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
  311. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2728 -0
  312. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1056 -0
  313. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  314. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  315. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  316. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  317. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  318. data/third_party/abseil-cpp/absl/types/variant.h +861 -0
  319. data/third_party/boringssl-with-bazel/err_data.c +263 -257
  320. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +16 -0
  321. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +456 -0
  322. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +192 -0
  323. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +20 -0
  324. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +52 -0
  325. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  326. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +39 -7
  327. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -3
  328. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +11 -0
  329. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -0
  330. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +3 -6
  331. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +10 -0
  332. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +34 -9
  333. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -0
  334. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
  335. data/third_party/upb/upb/decode.c +64 -15
  336. data/third_party/upb/upb/encode.c +2 -2
  337. data/third_party/upb/upb/msg.h +2 -2
  338. data/third_party/upb/upb/port_def.inc +1 -1
  339. data/third_party/upb/upb/table.c +0 -11
  340. data/third_party/upb/upb/table.int.h +0 -9
  341. data/third_party/upb/upb/upb.c +16 -14
  342. data/third_party/upb/upb/upb.h +26 -0
  343. data/third_party/upb/upb/upb.hpp +2 -0
  344. metadata +257 -155
  345. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -21
  346. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -34
  347. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +0 -114
  348. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +0 -429
  349. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +0 -72
  350. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +0 -198
  351. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +0 -105
  352. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +0 -388
  353. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -52
  354. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -403
  355. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1453
  356. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -74
  357. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -226
  358. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
  359. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -323
  360. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -112
  361. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -334
  362. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +0 -79
  363. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -313
  364. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -891
  365. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -96
  366. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -328
  367. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +0 -34
  368. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +0 -71
  369. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -197
  370. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -649
  371. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -172
  372. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -693
  373. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
  374. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -152
  375. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -536
  376. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +0 -88
  377. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -129
  378. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -386
  379. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -52
  380. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -92
  381. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -224
  382. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -18
  383. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -32
  384. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -91
  385. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -273
  386. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -112
  387. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -332
  388. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -52
  389. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -109
  390. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -415
  391. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -18
  392. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -32
  393. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -145
  394. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -538
  395. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -43
  396. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -111
  397. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -52
  398. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -63
  399. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -204
  400. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -18
  401. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -32
  402. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -815
  403. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -2984
  404. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -59
  405. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -135
  406. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -52
  407. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -228
  408. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -732
  409. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -316
  410. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1167
  411. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
  412. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +0 -51
  413. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +0 -125
  414. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -49
  415. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -54
  416. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -136
  417. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -63
  418. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -145
  419. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -53
  420. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
  421. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -88
  422. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
  423. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -86
  424. data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -111
  425. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -61
  426. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -89
  427. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -250
  428. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  429. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  430. data/src/core/lib/slice/slice_hash_table.h +0 -199
  431. data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
@@ -175,7 +175,7 @@ TransportFlowControl::TransportFlowControl(const grpc_chttp2_transport* t,
175
175
  bool enable_bdp_probe)
176
176
  : t_(t),
177
177
  enable_bdp_probe_(enable_bdp_probe),
178
- bdp_estimator_(t->peer_string),
178
+ bdp_estimator_(t->peer_string.c_str()),
179
179
  pid_controller_(grpc_core::PidController::Args()
180
180
  .set_gain_p(4)
181
181
  .set_gain_i(8)
@@ -228,8 +228,8 @@ grpc_error* grpc_chttp2_settings_parser_parse(void* p, grpc_chttp2_transport* t,
228
228
  parser->incoming_settings[id] = parser->value;
229
229
  if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace)) {
230
230
  gpr_log(GPR_INFO, "CHTTP2:%s:%s: got setting %s = %d",
231
- t->is_client ? "CLI" : "SVR", t->peer_string, sp->name,
232
- parser->value);
231
+ t->is_client ? "CLI" : "SVR", t->peer_string.c_str(),
232
+ sp->name, parser->value);
233
233
  }
234
234
  } else if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace)) {
235
235
  gpr_log(GPR_ERROR, "CHTTP2: Ignoring unknown setting %d (value %d)",
@@ -52,8 +52,12 @@ class ContextList;
52
52
  /* streams are kept in various linked lists depending on what things need to
53
53
  happen to them... this enum labels each list */
54
54
  typedef enum {
55
+ /* If a stream is in the following two lists, an explicit ref is associated
56
+ with the stream */
55
57
  GRPC_CHTTP2_LIST_WRITABLE,
56
58
  GRPC_CHTTP2_LIST_WRITING,
59
+ /* No additional ref is taken for the following refs. Make sure to remove the
60
+ stream from these lists when the stream is removed. */
57
61
  GRPC_CHTTP2_LIST_STALLED_BY_TRANSPORT,
58
62
  GRPC_CHTTP2_LIST_STALLED_BY_STREAM,
59
63
  /** streams that are waiting to start because there are too many concurrent
@@ -290,7 +294,7 @@ struct grpc_chttp2_transport {
290
294
  grpc_transport base; /* must be first */
291
295
  grpc_core::RefCount refs;
292
296
  grpc_endpoint* ep;
293
- char* peer_string;
297
+ std::string peer_string;
294
298
 
295
299
  grpc_resource_user* resource_user;
296
300
 
@@ -391,27 +391,6 @@ static bool md_key_cmp(grpc_mdelem md, const grpc_slice& reference) {
391
391
  return GRPC_MDKEY(md).refcount == reference.refcount;
392
392
  }
393
393
 
394
- static bool md_cmp(grpc_mdelem md, grpc_mdelem ref_md,
395
- const grpc_slice& ref_key) {
396
- if (GPR_LIKELY(GRPC_MDELEM_IS_INTERNED(md))) {
397
- return md.payload == ref_md.payload;
398
- }
399
- if (md_key_cmp(md, ref_key)) {
400
- return grpc_slice_eq_static_interned(GRPC_MDVALUE(md),
401
- GRPC_MDVALUE(ref_md));
402
- }
403
- return false;
404
- }
405
-
406
- static bool is_nonzero_status(grpc_mdelem md) {
407
- // If md.payload == GRPC_MDELEM_GRPC_STATUS_1 or GRPC_MDELEM_GRPC_STATUS_2,
408
- // then we have seen an error. In fact, if it is a GRPC_STATUS and it's
409
- // not equal to GRPC_MDELEM_GRPC_STATUS_0, then we have seen an error.
410
- // TODO(ctiller): check for a status like " 0"
411
- return md_key_cmp(md, GRPC_MDSTR_GRPC_STATUS) &&
412
- !md_cmp(md, GRPC_MDELEM_GRPC_STATUS_0, GRPC_MDSTR_GRPC_STATUS);
413
- }
414
-
415
394
  static void GPR_ATTRIBUTE_NOINLINE on_initial_header_log(
416
395
  grpc_chttp2_transport* t, grpc_chttp2_stream* s, grpc_mdelem md) {
417
396
  char* key = grpc_slice_to_c_string(GRPC_MDKEY(md));
@@ -493,9 +472,7 @@ static grpc_error* on_initial_header(void* tp, grpc_mdelem md) {
493
472
  on_initial_header_log(t, s, md);
494
473
  }
495
474
 
496
- if (is_nonzero_status(md)) { // not GRPC_MDELEM_GRPC_STATUS_0?
497
- s->seen_error = true;
498
- } else if (md_key_cmp(md, GRPC_MDSTR_GRPC_TIMEOUT)) {
475
+ if (md_key_cmp(md, GRPC_MDSTR_GRPC_TIMEOUT)) {
499
476
  return handle_timeout(s, md);
500
477
  }
501
478
 
@@ -534,10 +511,6 @@ static grpc_error* on_trailing_header(void* tp, grpc_mdelem md) {
534
511
  gpr_free(value);
535
512
  }
536
513
 
537
- if (is_nonzero_status(md)) { // not GRPC_MDELEM_GRPC_STATUS_0?
538
- s->seen_error = true;
539
- }
540
-
541
514
  const size_t new_size = s->metadata_buffer[1].size + GRPC_MDELEM_LENGTH(md);
542
515
  const size_t metadata_size_limit =
543
516
  t->settings[GRPC_ACKED_SETTINGS]
@@ -58,7 +58,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
58
58
  GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
59
59
  GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
60
60
  gpr_log(GPR_INFO, "%s: Ping delayed [%s]: already pinging",
61
- t->is_client ? "CLIENT" : "SERVER", t->peer_string);
61
+ t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str());
62
62
  }
63
63
  return;
64
64
  }
@@ -69,7 +69,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
69
69
  GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
70
70
  GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
71
71
  gpr_log(GPR_INFO, "%s: Ping delayed [%s]: too many recent pings: %d/%d",
72
- t->is_client ? "CLIENT" : "SERVER", t->peer_string,
72
+ t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
73
73
  t->ping_state.pings_before_data_required,
74
74
  t->ping_policy.max_pings_without_data);
75
75
  }
@@ -95,7 +95,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
95
95
  gpr_log(GPR_INFO,
96
96
  "%s: Ping delayed [%s]: not enough time elapsed since last ping. "
97
97
  " Last ping %f: Next ping %f: Now %f",
98
- t->is_client ? "CLIENT" : "SERVER", t->peer_string,
98
+ t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
99
99
  static_cast<double>(t->ping_state.last_ping_sent_time),
100
100
  static_cast<double>(next_allowed_ping), static_cast<double>(now));
101
101
  }
@@ -125,7 +125,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
125
125
  GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
126
126
  GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
127
127
  gpr_log(GPR_INFO, "%s: Ping sent [%s]: %d/%d",
128
- t->is_client ? "CLIENT" : "SERVER", t->peer_string,
128
+ t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
129
129
  t->ping_state.pings_before_data_required,
130
130
  t->ping_policy.max_pings_without_data);
131
131
  }
@@ -165,7 +165,8 @@ static void report_stall(grpc_chttp2_transport* t, grpc_chttp2_stream* s,
165
165
  "helpful data: [fc:pending=%" PRIdPTR ":pending-compressed=%" PRIdPTR
166
166
  ":flowed=%" PRId64 ":peer_initwin=%d:t_win=%" PRId64
167
167
  ":s_win=%d:s_delta=%" PRId64 "]",
168
- t->peer_string, t, s->id, staller, s->flow_controlled_buffer.length,
168
+ t->peer_string.c_str(), t, s->id, staller,
169
+ s->flow_controlled_buffer.length,
169
170
  s->stream_compression_method ==
170
171
  GRPC_STREAM_COMPRESSION_IDENTITY_COMPRESS
171
172
  ? 0
@@ -202,11 +202,6 @@ struct inproc_stream {
202
202
  }
203
203
 
204
204
  t->unref();
205
-
206
- if (closure_at_destroy) {
207
- grpc_core::ExecCtx::Run(DEBUG_LOCATION, closure_at_destroy,
208
- GRPC_ERROR_NONE);
209
- }
210
205
  }
211
206
 
212
207
  #ifndef NDEBUG
@@ -249,7 +244,6 @@ struct inproc_stream {
249
244
  bool other_side_closed = false; // won't talk anymore
250
245
  bool write_buffer_other_side_closed = false; // on hold
251
246
  grpc_stream_refcount* refs;
252
- grpc_closure* closure_at_destroy = nullptr;
253
247
 
254
248
  grpc_core::Arena* arena;
255
249
 
@@ -1132,7 +1126,8 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
1132
1126
 
1133
1127
  void close_transport_locked(inproc_transport* t) {
1134
1128
  INPROC_LOG(GPR_INFO, "close_transport %p %d", t, t->is_closed);
1135
- t->state_tracker.SetState(GRPC_CHANNEL_SHUTDOWN, "close transport");
1129
+ t->state_tracker.SetState(GRPC_CHANNEL_SHUTDOWN, absl::Status(),
1130
+ "close transport");
1136
1131
  if (!t->is_closed) {
1137
1132
  t->is_closed = true;
1138
1133
  /* Also end all streams on this transport */
@@ -1182,12 +1177,17 @@ void perform_transport_op(grpc_transport* gt, grpc_transport_op* op) {
1182
1177
  gpr_mu_unlock(&t->mu->mu);
1183
1178
  }
1184
1179
 
1185
- void destroy_stream(grpc_transport* /*gt*/, grpc_stream* gs,
1180
+ void destroy_stream(grpc_transport* gt, grpc_stream* gs,
1186
1181
  grpc_closure* then_schedule_closure) {
1187
1182
  INPROC_LOG(GPR_INFO, "destroy_stream %p %p", gs, then_schedule_closure);
1183
+ inproc_transport* t = reinterpret_cast<inproc_transport*>(gt);
1188
1184
  inproc_stream* s = reinterpret_cast<inproc_stream*>(gs);
1189
- s->closure_at_destroy = then_schedule_closure;
1185
+ gpr_mu_lock(&t->mu->mu);
1186
+ close_stream_locked(s);
1187
+ gpr_mu_unlock(&t->mu->mu);
1190
1188
  s->~inproc_stream();
1189
+ grpc_core::ExecCtx::Run(DEBUG_LOCATION, then_schedule_closure,
1190
+ GRPC_ERROR_NONE);
1191
1191
  }
1192
1192
 
1193
1193
  void destroy_transport(grpc_transport* gt) {
@@ -1275,7 +1275,7 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
1275
1275
  const char* args_to_remove[] = {GRPC_ARG_MAX_CONNECTION_IDLE_MS,
1276
1276
  GRPC_ARG_MAX_CONNECTION_AGE_MS};
1277
1277
  const grpc_channel_args* server_args = grpc_channel_args_copy_and_remove(
1278
- grpc_server_get_channel_args(server), args_to_remove,
1278
+ server->core_server->channel_args(), args_to_remove,
1279
1279
  GPR_ARRAY_SIZE(args_to_remove));
1280
1280
 
1281
1281
  // Add a default authority channel argument for the client
@@ -1292,8 +1292,8 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
1292
1292
  client_args);
1293
1293
 
1294
1294
  // TODO(ncteisen): design and support channelz GetSocket for inproc.
1295
- grpc_server_setup_transport(server, server_transport, nullptr, server_args,
1296
- nullptr);
1295
+ server->core_server->SetupTransport(server_transport, nullptr, server_args,
1296
+ nullptr);
1297
1297
  grpc_channel* channel = grpc_channel_create(
1298
1298
  "inproc", client_args, GRPC_CLIENT_DIRECT_CHANNEL, client_transport);
1299
1299
 
@@ -0,0 +1,224 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * envoy/config/accesslog/v3/accesslog.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #include <stddef.h>
10
+ #include "upb/msg.h"
11
+ #include "envoy/config/accesslog/v3/accesslog.upb.h"
12
+ #include "envoy/config/core/v3/base.upb.h"
13
+ #include "envoy/config/route/v3/route_components.upb.h"
14
+ #include "envoy/type/v3/percent.upb.h"
15
+ #include "google/protobuf/any.upb.h"
16
+ #include "google/protobuf/struct.upb.h"
17
+ #include "udpa/annotations/status.upb.h"
18
+ #include "udpa/annotations/versioning.upb.h"
19
+ #include "validate/validate.upb.h"
20
+
21
+ #include "upb/port_def.inc"
22
+
23
+ static const upb_msglayout *const envoy_config_accesslog_v3_AccessLog_submsgs[2] = {
24
+ &envoy_config_accesslog_v3_AccessLogFilter_msginit,
25
+ &google_protobuf_Any_msginit,
26
+ };
27
+
28
+ static const upb_msglayout_field envoy_config_accesslog_v3_AccessLog__fields[3] = {
29
+ {1, UPB_SIZE(0, 0), 0, 0, 9, 1},
30
+ {2, UPB_SIZE(8, 16), 0, 0, 11, 1},
31
+ {4, UPB_SIZE(12, 24), UPB_SIZE(-17, -33), 1, 11, 1},
32
+ };
33
+
34
+ const upb_msglayout envoy_config_accesslog_v3_AccessLog_msginit = {
35
+ &envoy_config_accesslog_v3_AccessLog_submsgs[0],
36
+ &envoy_config_accesslog_v3_AccessLog__fields[0],
37
+ UPB_SIZE(24, 48), 3, false,
38
+ };
39
+
40
+ static const upb_msglayout *const envoy_config_accesslog_v3_AccessLogFilter_submsgs[11] = {
41
+ &envoy_config_accesslog_v3_AndFilter_msginit,
42
+ &envoy_config_accesslog_v3_DurationFilter_msginit,
43
+ &envoy_config_accesslog_v3_ExtensionFilter_msginit,
44
+ &envoy_config_accesslog_v3_GrpcStatusFilter_msginit,
45
+ &envoy_config_accesslog_v3_HeaderFilter_msginit,
46
+ &envoy_config_accesslog_v3_NotHealthCheckFilter_msginit,
47
+ &envoy_config_accesslog_v3_OrFilter_msginit,
48
+ &envoy_config_accesslog_v3_ResponseFlagFilter_msginit,
49
+ &envoy_config_accesslog_v3_RuntimeFilter_msginit,
50
+ &envoy_config_accesslog_v3_StatusCodeFilter_msginit,
51
+ &envoy_config_accesslog_v3_TraceableFilter_msginit,
52
+ };
53
+
54
+ static const upb_msglayout_field envoy_config_accesslog_v3_AccessLogFilter__fields[11] = {
55
+ {1, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 9, 11, 1},
56
+ {2, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 1, 11, 1},
57
+ {3, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 5, 11, 1},
58
+ {4, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 10, 11, 1},
59
+ {5, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 8, 11, 1},
60
+ {6, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 0, 11, 1},
61
+ {7, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 6, 11, 1},
62
+ {8, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 4, 11, 1},
63
+ {9, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 7, 11, 1},
64
+ {10, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 3, 11, 1},
65
+ {11, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 2, 11, 1},
66
+ };
67
+
68
+ const upb_msglayout envoy_config_accesslog_v3_AccessLogFilter_msginit = {
69
+ &envoy_config_accesslog_v3_AccessLogFilter_submsgs[0],
70
+ &envoy_config_accesslog_v3_AccessLogFilter__fields[0],
71
+ UPB_SIZE(8, 16), 11, false,
72
+ };
73
+
74
+ static const upb_msglayout *const envoy_config_accesslog_v3_ComparisonFilter_submsgs[1] = {
75
+ &envoy_config_core_v3_RuntimeUInt32_msginit,
76
+ };
77
+
78
+ static const upb_msglayout_field envoy_config_accesslog_v3_ComparisonFilter__fields[2] = {
79
+ {1, UPB_SIZE(0, 0), 0, 0, 14, 1},
80
+ {2, UPB_SIZE(8, 8), 0, 0, 11, 1},
81
+ };
82
+
83
+ const upb_msglayout envoy_config_accesslog_v3_ComparisonFilter_msginit = {
84
+ &envoy_config_accesslog_v3_ComparisonFilter_submsgs[0],
85
+ &envoy_config_accesslog_v3_ComparisonFilter__fields[0],
86
+ UPB_SIZE(16, 16), 2, false,
87
+ };
88
+
89
+ static const upb_msglayout *const envoy_config_accesslog_v3_StatusCodeFilter_submsgs[1] = {
90
+ &envoy_config_accesslog_v3_ComparisonFilter_msginit,
91
+ };
92
+
93
+ static const upb_msglayout_field envoy_config_accesslog_v3_StatusCodeFilter__fields[1] = {
94
+ {1, UPB_SIZE(0, 0), 0, 0, 11, 1},
95
+ };
96
+
97
+ const upb_msglayout envoy_config_accesslog_v3_StatusCodeFilter_msginit = {
98
+ &envoy_config_accesslog_v3_StatusCodeFilter_submsgs[0],
99
+ &envoy_config_accesslog_v3_StatusCodeFilter__fields[0],
100
+ UPB_SIZE(4, 8), 1, false,
101
+ };
102
+
103
+ static const upb_msglayout *const envoy_config_accesslog_v3_DurationFilter_submsgs[1] = {
104
+ &envoy_config_accesslog_v3_ComparisonFilter_msginit,
105
+ };
106
+
107
+ static const upb_msglayout_field envoy_config_accesslog_v3_DurationFilter__fields[1] = {
108
+ {1, UPB_SIZE(0, 0), 0, 0, 11, 1},
109
+ };
110
+
111
+ const upb_msglayout envoy_config_accesslog_v3_DurationFilter_msginit = {
112
+ &envoy_config_accesslog_v3_DurationFilter_submsgs[0],
113
+ &envoy_config_accesslog_v3_DurationFilter__fields[0],
114
+ UPB_SIZE(4, 8), 1, false,
115
+ };
116
+
117
+ const upb_msglayout envoy_config_accesslog_v3_NotHealthCheckFilter_msginit = {
118
+ NULL,
119
+ NULL,
120
+ UPB_SIZE(0, 0), 0, false,
121
+ };
122
+
123
+ const upb_msglayout envoy_config_accesslog_v3_TraceableFilter_msginit = {
124
+ NULL,
125
+ NULL,
126
+ UPB_SIZE(0, 0), 0, false,
127
+ };
128
+
129
+ static const upb_msglayout *const envoy_config_accesslog_v3_RuntimeFilter_submsgs[1] = {
130
+ &envoy_type_v3_FractionalPercent_msginit,
131
+ };
132
+
133
+ static const upb_msglayout_field envoy_config_accesslog_v3_RuntimeFilter__fields[3] = {
134
+ {1, UPB_SIZE(4, 8), 0, 0, 9, 1},
135
+ {2, UPB_SIZE(12, 24), 0, 0, 11, 1},
136
+ {3, UPB_SIZE(0, 0), 0, 0, 8, 1},
137
+ };
138
+
139
+ const upb_msglayout envoy_config_accesslog_v3_RuntimeFilter_msginit = {
140
+ &envoy_config_accesslog_v3_RuntimeFilter_submsgs[0],
141
+ &envoy_config_accesslog_v3_RuntimeFilter__fields[0],
142
+ UPB_SIZE(16, 32), 3, false,
143
+ };
144
+
145
+ static const upb_msglayout *const envoy_config_accesslog_v3_AndFilter_submsgs[1] = {
146
+ &envoy_config_accesslog_v3_AccessLogFilter_msginit,
147
+ };
148
+
149
+ static const upb_msglayout_field envoy_config_accesslog_v3_AndFilter__fields[1] = {
150
+ {1, UPB_SIZE(0, 0), 0, 0, 11, 3},
151
+ };
152
+
153
+ const upb_msglayout envoy_config_accesslog_v3_AndFilter_msginit = {
154
+ &envoy_config_accesslog_v3_AndFilter_submsgs[0],
155
+ &envoy_config_accesslog_v3_AndFilter__fields[0],
156
+ UPB_SIZE(4, 8), 1, false,
157
+ };
158
+
159
+ static const upb_msglayout *const envoy_config_accesslog_v3_OrFilter_submsgs[1] = {
160
+ &envoy_config_accesslog_v3_AccessLogFilter_msginit,
161
+ };
162
+
163
+ static const upb_msglayout_field envoy_config_accesslog_v3_OrFilter__fields[1] = {
164
+ {2, UPB_SIZE(0, 0), 0, 0, 11, 3},
165
+ };
166
+
167
+ const upb_msglayout envoy_config_accesslog_v3_OrFilter_msginit = {
168
+ &envoy_config_accesslog_v3_OrFilter_submsgs[0],
169
+ &envoy_config_accesslog_v3_OrFilter__fields[0],
170
+ UPB_SIZE(4, 8), 1, false,
171
+ };
172
+
173
+ static const upb_msglayout *const envoy_config_accesslog_v3_HeaderFilter_submsgs[1] = {
174
+ &envoy_config_route_v3_HeaderMatcher_msginit,
175
+ };
176
+
177
+ static const upb_msglayout_field envoy_config_accesslog_v3_HeaderFilter__fields[1] = {
178
+ {1, UPB_SIZE(0, 0), 0, 0, 11, 1},
179
+ };
180
+
181
+ const upb_msglayout envoy_config_accesslog_v3_HeaderFilter_msginit = {
182
+ &envoy_config_accesslog_v3_HeaderFilter_submsgs[0],
183
+ &envoy_config_accesslog_v3_HeaderFilter__fields[0],
184
+ UPB_SIZE(4, 8), 1, false,
185
+ };
186
+
187
+ static const upb_msglayout_field envoy_config_accesslog_v3_ResponseFlagFilter__fields[1] = {
188
+ {1, UPB_SIZE(0, 0), 0, 0, 9, 3},
189
+ };
190
+
191
+ const upb_msglayout envoy_config_accesslog_v3_ResponseFlagFilter_msginit = {
192
+ NULL,
193
+ &envoy_config_accesslog_v3_ResponseFlagFilter__fields[0],
194
+ UPB_SIZE(4, 8), 1, false,
195
+ };
196
+
197
+ static const upb_msglayout_field envoy_config_accesslog_v3_GrpcStatusFilter__fields[2] = {
198
+ {1, UPB_SIZE(4, 8), 0, 0, 14, _UPB_LABEL_PACKED},
199
+ {2, UPB_SIZE(0, 0), 0, 0, 8, 1},
200
+ };
201
+
202
+ const upb_msglayout envoy_config_accesslog_v3_GrpcStatusFilter_msginit = {
203
+ NULL,
204
+ &envoy_config_accesslog_v3_GrpcStatusFilter__fields[0],
205
+ UPB_SIZE(8, 16), 2, false,
206
+ };
207
+
208
+ static const upb_msglayout *const envoy_config_accesslog_v3_ExtensionFilter_submsgs[1] = {
209
+ &google_protobuf_Any_msginit,
210
+ };
211
+
212
+ static const upb_msglayout_field envoy_config_accesslog_v3_ExtensionFilter__fields[2] = {
213
+ {1, UPB_SIZE(0, 0), 0, 0, 9, 1},
214
+ {3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1},
215
+ };
216
+
217
+ const upb_msglayout envoy_config_accesslog_v3_ExtensionFilter_msginit = {
218
+ &envoy_config_accesslog_v3_ExtensionFilter_submsgs[0],
219
+ &envoy_config_accesslog_v3_ExtensionFilter__fields[0],
220
+ UPB_SIZE(16, 32), 2, false,
221
+ };
222
+
223
+ #include "upb/port_undef.inc"
224
+
@@ -0,0 +1,700 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * envoy/config/accesslog/v3/accesslog.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #ifndef ENVOY_CONFIG_ACCESSLOG_V3_ACCESSLOG_PROTO_UPB_H_
10
+ #define ENVOY_CONFIG_ACCESSLOG_V3_ACCESSLOG_PROTO_UPB_H_
11
+
12
+ #include "upb/msg.h"
13
+ #include "upb/decode.h"
14
+ #include "upb/encode.h"
15
+
16
+ #include "upb/port_def.inc"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ struct envoy_config_accesslog_v3_AccessLog;
23
+ struct envoy_config_accesslog_v3_AccessLogFilter;
24
+ struct envoy_config_accesslog_v3_ComparisonFilter;
25
+ struct envoy_config_accesslog_v3_StatusCodeFilter;
26
+ struct envoy_config_accesslog_v3_DurationFilter;
27
+ struct envoy_config_accesslog_v3_NotHealthCheckFilter;
28
+ struct envoy_config_accesslog_v3_TraceableFilter;
29
+ struct envoy_config_accesslog_v3_RuntimeFilter;
30
+ struct envoy_config_accesslog_v3_AndFilter;
31
+ struct envoy_config_accesslog_v3_OrFilter;
32
+ struct envoy_config_accesslog_v3_HeaderFilter;
33
+ struct envoy_config_accesslog_v3_ResponseFlagFilter;
34
+ struct envoy_config_accesslog_v3_GrpcStatusFilter;
35
+ struct envoy_config_accesslog_v3_ExtensionFilter;
36
+ typedef struct envoy_config_accesslog_v3_AccessLog envoy_config_accesslog_v3_AccessLog;
37
+ typedef struct envoy_config_accesslog_v3_AccessLogFilter envoy_config_accesslog_v3_AccessLogFilter;
38
+ typedef struct envoy_config_accesslog_v3_ComparisonFilter envoy_config_accesslog_v3_ComparisonFilter;
39
+ typedef struct envoy_config_accesslog_v3_StatusCodeFilter envoy_config_accesslog_v3_StatusCodeFilter;
40
+ typedef struct envoy_config_accesslog_v3_DurationFilter envoy_config_accesslog_v3_DurationFilter;
41
+ typedef struct envoy_config_accesslog_v3_NotHealthCheckFilter envoy_config_accesslog_v3_NotHealthCheckFilter;
42
+ typedef struct envoy_config_accesslog_v3_TraceableFilter envoy_config_accesslog_v3_TraceableFilter;
43
+ typedef struct envoy_config_accesslog_v3_RuntimeFilter envoy_config_accesslog_v3_RuntimeFilter;
44
+ typedef struct envoy_config_accesslog_v3_AndFilter envoy_config_accesslog_v3_AndFilter;
45
+ typedef struct envoy_config_accesslog_v3_OrFilter envoy_config_accesslog_v3_OrFilter;
46
+ typedef struct envoy_config_accesslog_v3_HeaderFilter envoy_config_accesslog_v3_HeaderFilter;
47
+ typedef struct envoy_config_accesslog_v3_ResponseFlagFilter envoy_config_accesslog_v3_ResponseFlagFilter;
48
+ typedef struct envoy_config_accesslog_v3_GrpcStatusFilter envoy_config_accesslog_v3_GrpcStatusFilter;
49
+ typedef struct envoy_config_accesslog_v3_ExtensionFilter envoy_config_accesslog_v3_ExtensionFilter;
50
+ extern const upb_msglayout envoy_config_accesslog_v3_AccessLog_msginit;
51
+ extern const upb_msglayout envoy_config_accesslog_v3_AccessLogFilter_msginit;
52
+ extern const upb_msglayout envoy_config_accesslog_v3_ComparisonFilter_msginit;
53
+ extern const upb_msglayout envoy_config_accesslog_v3_StatusCodeFilter_msginit;
54
+ extern const upb_msglayout envoy_config_accesslog_v3_DurationFilter_msginit;
55
+ extern const upb_msglayout envoy_config_accesslog_v3_NotHealthCheckFilter_msginit;
56
+ extern const upb_msglayout envoy_config_accesslog_v3_TraceableFilter_msginit;
57
+ extern const upb_msglayout envoy_config_accesslog_v3_RuntimeFilter_msginit;
58
+ extern const upb_msglayout envoy_config_accesslog_v3_AndFilter_msginit;
59
+ extern const upb_msglayout envoy_config_accesslog_v3_OrFilter_msginit;
60
+ extern const upb_msglayout envoy_config_accesslog_v3_HeaderFilter_msginit;
61
+ extern const upb_msglayout envoy_config_accesslog_v3_ResponseFlagFilter_msginit;
62
+ extern const upb_msglayout envoy_config_accesslog_v3_GrpcStatusFilter_msginit;
63
+ extern const upb_msglayout envoy_config_accesslog_v3_ExtensionFilter_msginit;
64
+ struct envoy_config_core_v3_RuntimeUInt32;
65
+ struct envoy_config_route_v3_HeaderMatcher;
66
+ struct envoy_type_v3_FractionalPercent;
67
+ struct google_protobuf_Any;
68
+ extern const upb_msglayout envoy_config_core_v3_RuntimeUInt32_msginit;
69
+ extern const upb_msglayout envoy_config_route_v3_HeaderMatcher_msginit;
70
+ extern const upb_msglayout envoy_type_v3_FractionalPercent_msginit;
71
+ extern const upb_msglayout google_protobuf_Any_msginit;
72
+
73
+ typedef enum {
74
+ envoy_config_accesslog_v3_ComparisonFilter_EQ = 0,
75
+ envoy_config_accesslog_v3_ComparisonFilter_GE = 1,
76
+ envoy_config_accesslog_v3_ComparisonFilter_LE = 2
77
+ } envoy_config_accesslog_v3_ComparisonFilter_Op;
78
+
79
+ typedef enum {
80
+ envoy_config_accesslog_v3_GrpcStatusFilter_OK = 0,
81
+ envoy_config_accesslog_v3_GrpcStatusFilter_CANCELED = 1,
82
+ envoy_config_accesslog_v3_GrpcStatusFilter_UNKNOWN = 2,
83
+ envoy_config_accesslog_v3_GrpcStatusFilter_INVALID_ARGUMENT = 3,
84
+ envoy_config_accesslog_v3_GrpcStatusFilter_DEADLINE_EXCEEDED = 4,
85
+ envoy_config_accesslog_v3_GrpcStatusFilter_NOT_FOUND = 5,
86
+ envoy_config_accesslog_v3_GrpcStatusFilter_ALREADY_EXISTS = 6,
87
+ envoy_config_accesslog_v3_GrpcStatusFilter_PERMISSION_DENIED = 7,
88
+ envoy_config_accesslog_v3_GrpcStatusFilter_RESOURCE_EXHAUSTED = 8,
89
+ envoy_config_accesslog_v3_GrpcStatusFilter_FAILED_PRECONDITION = 9,
90
+ envoy_config_accesslog_v3_GrpcStatusFilter_ABORTED = 10,
91
+ envoy_config_accesslog_v3_GrpcStatusFilter_OUT_OF_RANGE = 11,
92
+ envoy_config_accesslog_v3_GrpcStatusFilter_UNIMPLEMENTED = 12,
93
+ envoy_config_accesslog_v3_GrpcStatusFilter_INTERNAL = 13,
94
+ envoy_config_accesslog_v3_GrpcStatusFilter_UNAVAILABLE = 14,
95
+ envoy_config_accesslog_v3_GrpcStatusFilter_DATA_LOSS = 15,
96
+ envoy_config_accesslog_v3_GrpcStatusFilter_UNAUTHENTICATED = 16
97
+ } envoy_config_accesslog_v3_GrpcStatusFilter_Status;
98
+
99
+
100
+ /* envoy.config.accesslog.v3.AccessLog */
101
+
102
+ UPB_INLINE envoy_config_accesslog_v3_AccessLog *envoy_config_accesslog_v3_AccessLog_new(upb_arena *arena) {
103
+ return (envoy_config_accesslog_v3_AccessLog *)_upb_msg_new(&envoy_config_accesslog_v3_AccessLog_msginit, arena);
104
+ }
105
+ UPB_INLINE envoy_config_accesslog_v3_AccessLog *envoy_config_accesslog_v3_AccessLog_parse(const char *buf, size_t size,
106
+ upb_arena *arena) {
107
+ envoy_config_accesslog_v3_AccessLog *ret = envoy_config_accesslog_v3_AccessLog_new(arena);
108
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_AccessLog_msginit, arena)) ? ret : NULL;
109
+ }
110
+ UPB_INLINE char *envoy_config_accesslog_v3_AccessLog_serialize(const envoy_config_accesslog_v3_AccessLog *msg, upb_arena *arena, size_t *len) {
111
+ return upb_encode(msg, &envoy_config_accesslog_v3_AccessLog_msginit, arena, len);
112
+ }
113
+
114
+ typedef enum {
115
+ envoy_config_accesslog_v3_AccessLog_config_type_typed_config = 4,
116
+ envoy_config_accesslog_v3_AccessLog_config_type_NOT_SET = 0
117
+ } envoy_config_accesslog_v3_AccessLog_config_type_oneofcases;
118
+ UPB_INLINE envoy_config_accesslog_v3_AccessLog_config_type_oneofcases envoy_config_accesslog_v3_AccessLog_config_type_case(const envoy_config_accesslog_v3_AccessLog* msg) { return (envoy_config_accesslog_v3_AccessLog_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(16, 32), int32_t); }
119
+
120
+ UPB_INLINE upb_strview envoy_config_accesslog_v3_AccessLog_name(const envoy_config_accesslog_v3_AccessLog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
121
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLog_has_filter(const envoy_config_accesslog_v3_AccessLog *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
122
+ UPB_INLINE const envoy_config_accesslog_v3_AccessLogFilter* envoy_config_accesslog_v3_AccessLog_filter(const envoy_config_accesslog_v3_AccessLog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_accesslog_v3_AccessLogFilter*); }
123
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLog_has_typed_config(const envoy_config_accesslog_v3_AccessLog *msg) { return _upb_getoneofcase(msg, UPB_SIZE(16, 32)) == 4; }
124
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_accesslog_v3_AccessLog_typed_config(const envoy_config_accesslog_v3_AccessLog *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(12, 24), UPB_SIZE(16, 32), 4, NULL); }
125
+
126
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLog_set_name(envoy_config_accesslog_v3_AccessLog *msg, upb_strview value) {
127
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
128
+ }
129
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLog_set_filter(envoy_config_accesslog_v3_AccessLog *msg, envoy_config_accesslog_v3_AccessLogFilter* value) {
130
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_accesslog_v3_AccessLogFilter*) = value;
131
+ }
132
+ UPB_INLINE struct envoy_config_accesslog_v3_AccessLogFilter* envoy_config_accesslog_v3_AccessLog_mutable_filter(envoy_config_accesslog_v3_AccessLog *msg, upb_arena *arena) {
133
+ struct envoy_config_accesslog_v3_AccessLogFilter* sub = (struct envoy_config_accesslog_v3_AccessLogFilter*)envoy_config_accesslog_v3_AccessLog_filter(msg);
134
+ if (sub == NULL) {
135
+ sub = (struct envoy_config_accesslog_v3_AccessLogFilter*)_upb_msg_new(&envoy_config_accesslog_v3_AccessLogFilter_msginit, arena);
136
+ if (!sub) return NULL;
137
+ envoy_config_accesslog_v3_AccessLog_set_filter(msg, sub);
138
+ }
139
+ return sub;
140
+ }
141
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLog_set_typed_config(envoy_config_accesslog_v3_AccessLog *msg, struct google_protobuf_Any* value) {
142
+ UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(12, 24), value, UPB_SIZE(16, 32), 4);
143
+ }
144
+ UPB_INLINE struct google_protobuf_Any* envoy_config_accesslog_v3_AccessLog_mutable_typed_config(envoy_config_accesslog_v3_AccessLog *msg, upb_arena *arena) {
145
+ struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_accesslog_v3_AccessLog_typed_config(msg);
146
+ if (sub == NULL) {
147
+ sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
148
+ if (!sub) return NULL;
149
+ envoy_config_accesslog_v3_AccessLog_set_typed_config(msg, sub);
150
+ }
151
+ return sub;
152
+ }
153
+
154
+ /* envoy.config.accesslog.v3.AccessLogFilter */
155
+
156
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter *envoy_config_accesslog_v3_AccessLogFilter_new(upb_arena *arena) {
157
+ return (envoy_config_accesslog_v3_AccessLogFilter *)_upb_msg_new(&envoy_config_accesslog_v3_AccessLogFilter_msginit, arena);
158
+ }
159
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter *envoy_config_accesslog_v3_AccessLogFilter_parse(const char *buf, size_t size,
160
+ upb_arena *arena) {
161
+ envoy_config_accesslog_v3_AccessLogFilter *ret = envoy_config_accesslog_v3_AccessLogFilter_new(arena);
162
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_AccessLogFilter_msginit, arena)) ? ret : NULL;
163
+ }
164
+ UPB_INLINE char *envoy_config_accesslog_v3_AccessLogFilter_serialize(const envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena, size_t *len) {
165
+ return upb_encode(msg, &envoy_config_accesslog_v3_AccessLogFilter_msginit, arena, len);
166
+ }
167
+
168
+ typedef enum {
169
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_status_code_filter = 1,
170
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_duration_filter = 2,
171
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_not_health_check_filter = 3,
172
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_traceable_filter = 4,
173
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_runtime_filter = 5,
174
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_and_filter = 6,
175
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_or_filter = 7,
176
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_header_filter = 8,
177
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_response_flag_filter = 9,
178
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_grpc_status_filter = 10,
179
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_extension_filter = 11,
180
+ envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_NOT_SET = 0
181
+ } envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_oneofcases;
182
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_oneofcases envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_case(const envoy_config_accesslog_v3_AccessLogFilter* msg) { return (envoy_config_accesslog_v3_AccessLogFilter_filter_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 8), int32_t); }
183
+
184
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_status_code_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 1; }
185
+ UPB_INLINE const envoy_config_accesslog_v3_StatusCodeFilter* envoy_config_accesslog_v3_AccessLogFilter_status_code_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_StatusCodeFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 1, NULL); }
186
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_duration_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 2; }
187
+ UPB_INLINE const envoy_config_accesslog_v3_DurationFilter* envoy_config_accesslog_v3_AccessLogFilter_duration_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_DurationFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 2, NULL); }
188
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_not_health_check_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 3; }
189
+ UPB_INLINE const envoy_config_accesslog_v3_NotHealthCheckFilter* envoy_config_accesslog_v3_AccessLogFilter_not_health_check_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_NotHealthCheckFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 3, NULL); }
190
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_traceable_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 4; }
191
+ UPB_INLINE const envoy_config_accesslog_v3_TraceableFilter* envoy_config_accesslog_v3_AccessLogFilter_traceable_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_TraceableFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 4, NULL); }
192
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_runtime_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 5; }
193
+ UPB_INLINE const envoy_config_accesslog_v3_RuntimeFilter* envoy_config_accesslog_v3_AccessLogFilter_runtime_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_RuntimeFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 5, NULL); }
194
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_and_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 6; }
195
+ UPB_INLINE const envoy_config_accesslog_v3_AndFilter* envoy_config_accesslog_v3_AccessLogFilter_and_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_AndFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 6, NULL); }
196
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_or_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 7; }
197
+ UPB_INLINE const envoy_config_accesslog_v3_OrFilter* envoy_config_accesslog_v3_AccessLogFilter_or_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_OrFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 7, NULL); }
198
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_header_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 8; }
199
+ UPB_INLINE const envoy_config_accesslog_v3_HeaderFilter* envoy_config_accesslog_v3_AccessLogFilter_header_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_HeaderFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 8, NULL); }
200
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_response_flag_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 9; }
201
+ UPB_INLINE const envoy_config_accesslog_v3_ResponseFlagFilter* envoy_config_accesslog_v3_AccessLogFilter_response_flag_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_ResponseFlagFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 9, NULL); }
202
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_grpc_status_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 10; }
203
+ UPB_INLINE const envoy_config_accesslog_v3_GrpcStatusFilter* envoy_config_accesslog_v3_AccessLogFilter_grpc_status_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_GrpcStatusFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 10, NULL); }
204
+ UPB_INLINE bool envoy_config_accesslog_v3_AccessLogFilter_has_extension_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 11; }
205
+ UPB_INLINE const envoy_config_accesslog_v3_ExtensionFilter* envoy_config_accesslog_v3_AccessLogFilter_extension_filter(const envoy_config_accesslog_v3_AccessLogFilter *msg) { return UPB_READ_ONEOF(msg, const envoy_config_accesslog_v3_ExtensionFilter*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 11, NULL); }
206
+
207
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_status_code_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_StatusCodeFilter* value) {
208
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_StatusCodeFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 1);
209
+ }
210
+ UPB_INLINE struct envoy_config_accesslog_v3_StatusCodeFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_status_code_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
211
+ struct envoy_config_accesslog_v3_StatusCodeFilter* sub = (struct envoy_config_accesslog_v3_StatusCodeFilter*)envoy_config_accesslog_v3_AccessLogFilter_status_code_filter(msg);
212
+ if (sub == NULL) {
213
+ sub = (struct envoy_config_accesslog_v3_StatusCodeFilter*)_upb_msg_new(&envoy_config_accesslog_v3_StatusCodeFilter_msginit, arena);
214
+ if (!sub) return NULL;
215
+ envoy_config_accesslog_v3_AccessLogFilter_set_status_code_filter(msg, sub);
216
+ }
217
+ return sub;
218
+ }
219
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_duration_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_DurationFilter* value) {
220
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_DurationFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 2);
221
+ }
222
+ UPB_INLINE struct envoy_config_accesslog_v3_DurationFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_duration_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
223
+ struct envoy_config_accesslog_v3_DurationFilter* sub = (struct envoy_config_accesslog_v3_DurationFilter*)envoy_config_accesslog_v3_AccessLogFilter_duration_filter(msg);
224
+ if (sub == NULL) {
225
+ sub = (struct envoy_config_accesslog_v3_DurationFilter*)_upb_msg_new(&envoy_config_accesslog_v3_DurationFilter_msginit, arena);
226
+ if (!sub) return NULL;
227
+ envoy_config_accesslog_v3_AccessLogFilter_set_duration_filter(msg, sub);
228
+ }
229
+ return sub;
230
+ }
231
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_not_health_check_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_NotHealthCheckFilter* value) {
232
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_NotHealthCheckFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 3);
233
+ }
234
+ UPB_INLINE struct envoy_config_accesslog_v3_NotHealthCheckFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_not_health_check_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
235
+ struct envoy_config_accesslog_v3_NotHealthCheckFilter* sub = (struct envoy_config_accesslog_v3_NotHealthCheckFilter*)envoy_config_accesslog_v3_AccessLogFilter_not_health_check_filter(msg);
236
+ if (sub == NULL) {
237
+ sub = (struct envoy_config_accesslog_v3_NotHealthCheckFilter*)_upb_msg_new(&envoy_config_accesslog_v3_NotHealthCheckFilter_msginit, arena);
238
+ if (!sub) return NULL;
239
+ envoy_config_accesslog_v3_AccessLogFilter_set_not_health_check_filter(msg, sub);
240
+ }
241
+ return sub;
242
+ }
243
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_traceable_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_TraceableFilter* value) {
244
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_TraceableFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 4);
245
+ }
246
+ UPB_INLINE struct envoy_config_accesslog_v3_TraceableFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_traceable_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
247
+ struct envoy_config_accesslog_v3_TraceableFilter* sub = (struct envoy_config_accesslog_v3_TraceableFilter*)envoy_config_accesslog_v3_AccessLogFilter_traceable_filter(msg);
248
+ if (sub == NULL) {
249
+ sub = (struct envoy_config_accesslog_v3_TraceableFilter*)_upb_msg_new(&envoy_config_accesslog_v3_TraceableFilter_msginit, arena);
250
+ if (!sub) return NULL;
251
+ envoy_config_accesslog_v3_AccessLogFilter_set_traceable_filter(msg, sub);
252
+ }
253
+ return sub;
254
+ }
255
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_runtime_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_RuntimeFilter* value) {
256
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_RuntimeFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 5);
257
+ }
258
+ UPB_INLINE struct envoy_config_accesslog_v3_RuntimeFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_runtime_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
259
+ struct envoy_config_accesslog_v3_RuntimeFilter* sub = (struct envoy_config_accesslog_v3_RuntimeFilter*)envoy_config_accesslog_v3_AccessLogFilter_runtime_filter(msg);
260
+ if (sub == NULL) {
261
+ sub = (struct envoy_config_accesslog_v3_RuntimeFilter*)_upb_msg_new(&envoy_config_accesslog_v3_RuntimeFilter_msginit, arena);
262
+ if (!sub) return NULL;
263
+ envoy_config_accesslog_v3_AccessLogFilter_set_runtime_filter(msg, sub);
264
+ }
265
+ return sub;
266
+ }
267
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_and_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_AndFilter* value) {
268
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_AndFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 6);
269
+ }
270
+ UPB_INLINE struct envoy_config_accesslog_v3_AndFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_and_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
271
+ struct envoy_config_accesslog_v3_AndFilter* sub = (struct envoy_config_accesslog_v3_AndFilter*)envoy_config_accesslog_v3_AccessLogFilter_and_filter(msg);
272
+ if (sub == NULL) {
273
+ sub = (struct envoy_config_accesslog_v3_AndFilter*)_upb_msg_new(&envoy_config_accesslog_v3_AndFilter_msginit, arena);
274
+ if (!sub) return NULL;
275
+ envoy_config_accesslog_v3_AccessLogFilter_set_and_filter(msg, sub);
276
+ }
277
+ return sub;
278
+ }
279
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_or_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_OrFilter* value) {
280
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_OrFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 7);
281
+ }
282
+ UPB_INLINE struct envoy_config_accesslog_v3_OrFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_or_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
283
+ struct envoy_config_accesslog_v3_OrFilter* sub = (struct envoy_config_accesslog_v3_OrFilter*)envoy_config_accesslog_v3_AccessLogFilter_or_filter(msg);
284
+ if (sub == NULL) {
285
+ sub = (struct envoy_config_accesslog_v3_OrFilter*)_upb_msg_new(&envoy_config_accesslog_v3_OrFilter_msginit, arena);
286
+ if (!sub) return NULL;
287
+ envoy_config_accesslog_v3_AccessLogFilter_set_or_filter(msg, sub);
288
+ }
289
+ return sub;
290
+ }
291
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_header_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_HeaderFilter* value) {
292
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_HeaderFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 8);
293
+ }
294
+ UPB_INLINE struct envoy_config_accesslog_v3_HeaderFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_header_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
295
+ struct envoy_config_accesslog_v3_HeaderFilter* sub = (struct envoy_config_accesslog_v3_HeaderFilter*)envoy_config_accesslog_v3_AccessLogFilter_header_filter(msg);
296
+ if (sub == NULL) {
297
+ sub = (struct envoy_config_accesslog_v3_HeaderFilter*)_upb_msg_new(&envoy_config_accesslog_v3_HeaderFilter_msginit, arena);
298
+ if (!sub) return NULL;
299
+ envoy_config_accesslog_v3_AccessLogFilter_set_header_filter(msg, sub);
300
+ }
301
+ return sub;
302
+ }
303
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_response_flag_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_ResponseFlagFilter* value) {
304
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_ResponseFlagFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 9);
305
+ }
306
+ UPB_INLINE struct envoy_config_accesslog_v3_ResponseFlagFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_response_flag_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
307
+ struct envoy_config_accesslog_v3_ResponseFlagFilter* sub = (struct envoy_config_accesslog_v3_ResponseFlagFilter*)envoy_config_accesslog_v3_AccessLogFilter_response_flag_filter(msg);
308
+ if (sub == NULL) {
309
+ sub = (struct envoy_config_accesslog_v3_ResponseFlagFilter*)_upb_msg_new(&envoy_config_accesslog_v3_ResponseFlagFilter_msginit, arena);
310
+ if (!sub) return NULL;
311
+ envoy_config_accesslog_v3_AccessLogFilter_set_response_flag_filter(msg, sub);
312
+ }
313
+ return sub;
314
+ }
315
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_grpc_status_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_GrpcStatusFilter* value) {
316
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_GrpcStatusFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 10);
317
+ }
318
+ UPB_INLINE struct envoy_config_accesslog_v3_GrpcStatusFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_grpc_status_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
319
+ struct envoy_config_accesslog_v3_GrpcStatusFilter* sub = (struct envoy_config_accesslog_v3_GrpcStatusFilter*)envoy_config_accesslog_v3_AccessLogFilter_grpc_status_filter(msg);
320
+ if (sub == NULL) {
321
+ sub = (struct envoy_config_accesslog_v3_GrpcStatusFilter*)_upb_msg_new(&envoy_config_accesslog_v3_GrpcStatusFilter_msginit, arena);
322
+ if (!sub) return NULL;
323
+ envoy_config_accesslog_v3_AccessLogFilter_set_grpc_status_filter(msg, sub);
324
+ }
325
+ return sub;
326
+ }
327
+ UPB_INLINE void envoy_config_accesslog_v3_AccessLogFilter_set_extension_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, envoy_config_accesslog_v3_ExtensionFilter* value) {
328
+ UPB_WRITE_ONEOF(msg, envoy_config_accesslog_v3_ExtensionFilter*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 11);
329
+ }
330
+ UPB_INLINE struct envoy_config_accesslog_v3_ExtensionFilter* envoy_config_accesslog_v3_AccessLogFilter_mutable_extension_filter(envoy_config_accesslog_v3_AccessLogFilter *msg, upb_arena *arena) {
331
+ struct envoy_config_accesslog_v3_ExtensionFilter* sub = (struct envoy_config_accesslog_v3_ExtensionFilter*)envoy_config_accesslog_v3_AccessLogFilter_extension_filter(msg);
332
+ if (sub == NULL) {
333
+ sub = (struct envoy_config_accesslog_v3_ExtensionFilter*)_upb_msg_new(&envoy_config_accesslog_v3_ExtensionFilter_msginit, arena);
334
+ if (!sub) return NULL;
335
+ envoy_config_accesslog_v3_AccessLogFilter_set_extension_filter(msg, sub);
336
+ }
337
+ return sub;
338
+ }
339
+
340
+ /* envoy.config.accesslog.v3.ComparisonFilter */
341
+
342
+ UPB_INLINE envoy_config_accesslog_v3_ComparisonFilter *envoy_config_accesslog_v3_ComparisonFilter_new(upb_arena *arena) {
343
+ return (envoy_config_accesslog_v3_ComparisonFilter *)_upb_msg_new(&envoy_config_accesslog_v3_ComparisonFilter_msginit, arena);
344
+ }
345
+ UPB_INLINE envoy_config_accesslog_v3_ComparisonFilter *envoy_config_accesslog_v3_ComparisonFilter_parse(const char *buf, size_t size,
346
+ upb_arena *arena) {
347
+ envoy_config_accesslog_v3_ComparisonFilter *ret = envoy_config_accesslog_v3_ComparisonFilter_new(arena);
348
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_ComparisonFilter_msginit, arena)) ? ret : NULL;
349
+ }
350
+ UPB_INLINE char *envoy_config_accesslog_v3_ComparisonFilter_serialize(const envoy_config_accesslog_v3_ComparisonFilter *msg, upb_arena *arena, size_t *len) {
351
+ return upb_encode(msg, &envoy_config_accesslog_v3_ComparisonFilter_msginit, arena, len);
352
+ }
353
+
354
+ UPB_INLINE int32_t envoy_config_accesslog_v3_ComparisonFilter_op(const envoy_config_accesslog_v3_ComparisonFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
355
+ UPB_INLINE bool envoy_config_accesslog_v3_ComparisonFilter_has_value(const envoy_config_accesslog_v3_ComparisonFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 8)); }
356
+ UPB_INLINE const struct envoy_config_core_v3_RuntimeUInt32* envoy_config_accesslog_v3_ComparisonFilter_value(const envoy_config_accesslog_v3_ComparisonFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const struct envoy_config_core_v3_RuntimeUInt32*); }
357
+
358
+ UPB_INLINE void envoy_config_accesslog_v3_ComparisonFilter_set_op(envoy_config_accesslog_v3_ComparisonFilter *msg, int32_t value) {
359
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
360
+ }
361
+ UPB_INLINE void envoy_config_accesslog_v3_ComparisonFilter_set_value(envoy_config_accesslog_v3_ComparisonFilter *msg, struct envoy_config_core_v3_RuntimeUInt32* value) {
362
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), struct envoy_config_core_v3_RuntimeUInt32*) = value;
363
+ }
364
+ UPB_INLINE struct envoy_config_core_v3_RuntimeUInt32* envoy_config_accesslog_v3_ComparisonFilter_mutable_value(envoy_config_accesslog_v3_ComparisonFilter *msg, upb_arena *arena) {
365
+ struct envoy_config_core_v3_RuntimeUInt32* sub = (struct envoy_config_core_v3_RuntimeUInt32*)envoy_config_accesslog_v3_ComparisonFilter_value(msg);
366
+ if (sub == NULL) {
367
+ sub = (struct envoy_config_core_v3_RuntimeUInt32*)_upb_msg_new(&envoy_config_core_v3_RuntimeUInt32_msginit, arena);
368
+ if (!sub) return NULL;
369
+ envoy_config_accesslog_v3_ComparisonFilter_set_value(msg, sub);
370
+ }
371
+ return sub;
372
+ }
373
+
374
+ /* envoy.config.accesslog.v3.StatusCodeFilter */
375
+
376
+ UPB_INLINE envoy_config_accesslog_v3_StatusCodeFilter *envoy_config_accesslog_v3_StatusCodeFilter_new(upb_arena *arena) {
377
+ return (envoy_config_accesslog_v3_StatusCodeFilter *)_upb_msg_new(&envoy_config_accesslog_v3_StatusCodeFilter_msginit, arena);
378
+ }
379
+ UPB_INLINE envoy_config_accesslog_v3_StatusCodeFilter *envoy_config_accesslog_v3_StatusCodeFilter_parse(const char *buf, size_t size,
380
+ upb_arena *arena) {
381
+ envoy_config_accesslog_v3_StatusCodeFilter *ret = envoy_config_accesslog_v3_StatusCodeFilter_new(arena);
382
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_StatusCodeFilter_msginit, arena)) ? ret : NULL;
383
+ }
384
+ UPB_INLINE char *envoy_config_accesslog_v3_StatusCodeFilter_serialize(const envoy_config_accesslog_v3_StatusCodeFilter *msg, upb_arena *arena, size_t *len) {
385
+ return upb_encode(msg, &envoy_config_accesslog_v3_StatusCodeFilter_msginit, arena, len);
386
+ }
387
+
388
+ UPB_INLINE bool envoy_config_accesslog_v3_StatusCodeFilter_has_comparison(const envoy_config_accesslog_v3_StatusCodeFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
389
+ UPB_INLINE const envoy_config_accesslog_v3_ComparisonFilter* envoy_config_accesslog_v3_StatusCodeFilter_comparison(const envoy_config_accesslog_v3_StatusCodeFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const envoy_config_accesslog_v3_ComparisonFilter*); }
390
+
391
+ UPB_INLINE void envoy_config_accesslog_v3_StatusCodeFilter_set_comparison(envoy_config_accesslog_v3_StatusCodeFilter *msg, envoy_config_accesslog_v3_ComparisonFilter* value) {
392
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), envoy_config_accesslog_v3_ComparisonFilter*) = value;
393
+ }
394
+ UPB_INLINE struct envoy_config_accesslog_v3_ComparisonFilter* envoy_config_accesslog_v3_StatusCodeFilter_mutable_comparison(envoy_config_accesslog_v3_StatusCodeFilter *msg, upb_arena *arena) {
395
+ struct envoy_config_accesslog_v3_ComparisonFilter* sub = (struct envoy_config_accesslog_v3_ComparisonFilter*)envoy_config_accesslog_v3_StatusCodeFilter_comparison(msg);
396
+ if (sub == NULL) {
397
+ sub = (struct envoy_config_accesslog_v3_ComparisonFilter*)_upb_msg_new(&envoy_config_accesslog_v3_ComparisonFilter_msginit, arena);
398
+ if (!sub) return NULL;
399
+ envoy_config_accesslog_v3_StatusCodeFilter_set_comparison(msg, sub);
400
+ }
401
+ return sub;
402
+ }
403
+
404
+ /* envoy.config.accesslog.v3.DurationFilter */
405
+
406
+ UPB_INLINE envoy_config_accesslog_v3_DurationFilter *envoy_config_accesslog_v3_DurationFilter_new(upb_arena *arena) {
407
+ return (envoy_config_accesslog_v3_DurationFilter *)_upb_msg_new(&envoy_config_accesslog_v3_DurationFilter_msginit, arena);
408
+ }
409
+ UPB_INLINE envoy_config_accesslog_v3_DurationFilter *envoy_config_accesslog_v3_DurationFilter_parse(const char *buf, size_t size,
410
+ upb_arena *arena) {
411
+ envoy_config_accesslog_v3_DurationFilter *ret = envoy_config_accesslog_v3_DurationFilter_new(arena);
412
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_DurationFilter_msginit, arena)) ? ret : NULL;
413
+ }
414
+ UPB_INLINE char *envoy_config_accesslog_v3_DurationFilter_serialize(const envoy_config_accesslog_v3_DurationFilter *msg, upb_arena *arena, size_t *len) {
415
+ return upb_encode(msg, &envoy_config_accesslog_v3_DurationFilter_msginit, arena, len);
416
+ }
417
+
418
+ UPB_INLINE bool envoy_config_accesslog_v3_DurationFilter_has_comparison(const envoy_config_accesslog_v3_DurationFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
419
+ UPB_INLINE const envoy_config_accesslog_v3_ComparisonFilter* envoy_config_accesslog_v3_DurationFilter_comparison(const envoy_config_accesslog_v3_DurationFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const envoy_config_accesslog_v3_ComparisonFilter*); }
420
+
421
+ UPB_INLINE void envoy_config_accesslog_v3_DurationFilter_set_comparison(envoy_config_accesslog_v3_DurationFilter *msg, envoy_config_accesslog_v3_ComparisonFilter* value) {
422
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), envoy_config_accesslog_v3_ComparisonFilter*) = value;
423
+ }
424
+ UPB_INLINE struct envoy_config_accesslog_v3_ComparisonFilter* envoy_config_accesslog_v3_DurationFilter_mutable_comparison(envoy_config_accesslog_v3_DurationFilter *msg, upb_arena *arena) {
425
+ struct envoy_config_accesslog_v3_ComparisonFilter* sub = (struct envoy_config_accesslog_v3_ComparisonFilter*)envoy_config_accesslog_v3_DurationFilter_comparison(msg);
426
+ if (sub == NULL) {
427
+ sub = (struct envoy_config_accesslog_v3_ComparisonFilter*)_upb_msg_new(&envoy_config_accesslog_v3_ComparisonFilter_msginit, arena);
428
+ if (!sub) return NULL;
429
+ envoy_config_accesslog_v3_DurationFilter_set_comparison(msg, sub);
430
+ }
431
+ return sub;
432
+ }
433
+
434
+ /* envoy.config.accesslog.v3.NotHealthCheckFilter */
435
+
436
+ UPB_INLINE envoy_config_accesslog_v3_NotHealthCheckFilter *envoy_config_accesslog_v3_NotHealthCheckFilter_new(upb_arena *arena) {
437
+ return (envoy_config_accesslog_v3_NotHealthCheckFilter *)_upb_msg_new(&envoy_config_accesslog_v3_NotHealthCheckFilter_msginit, arena);
438
+ }
439
+ UPB_INLINE envoy_config_accesslog_v3_NotHealthCheckFilter *envoy_config_accesslog_v3_NotHealthCheckFilter_parse(const char *buf, size_t size,
440
+ upb_arena *arena) {
441
+ envoy_config_accesslog_v3_NotHealthCheckFilter *ret = envoy_config_accesslog_v3_NotHealthCheckFilter_new(arena);
442
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_NotHealthCheckFilter_msginit, arena)) ? ret : NULL;
443
+ }
444
+ UPB_INLINE char *envoy_config_accesslog_v3_NotHealthCheckFilter_serialize(const envoy_config_accesslog_v3_NotHealthCheckFilter *msg, upb_arena *arena, size_t *len) {
445
+ return upb_encode(msg, &envoy_config_accesslog_v3_NotHealthCheckFilter_msginit, arena, len);
446
+ }
447
+
448
+
449
+
450
+ /* envoy.config.accesslog.v3.TraceableFilter */
451
+
452
+ UPB_INLINE envoy_config_accesslog_v3_TraceableFilter *envoy_config_accesslog_v3_TraceableFilter_new(upb_arena *arena) {
453
+ return (envoy_config_accesslog_v3_TraceableFilter *)_upb_msg_new(&envoy_config_accesslog_v3_TraceableFilter_msginit, arena);
454
+ }
455
+ UPB_INLINE envoy_config_accesslog_v3_TraceableFilter *envoy_config_accesslog_v3_TraceableFilter_parse(const char *buf, size_t size,
456
+ upb_arena *arena) {
457
+ envoy_config_accesslog_v3_TraceableFilter *ret = envoy_config_accesslog_v3_TraceableFilter_new(arena);
458
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_TraceableFilter_msginit, arena)) ? ret : NULL;
459
+ }
460
+ UPB_INLINE char *envoy_config_accesslog_v3_TraceableFilter_serialize(const envoy_config_accesslog_v3_TraceableFilter *msg, upb_arena *arena, size_t *len) {
461
+ return upb_encode(msg, &envoy_config_accesslog_v3_TraceableFilter_msginit, arena, len);
462
+ }
463
+
464
+
465
+
466
+ /* envoy.config.accesslog.v3.RuntimeFilter */
467
+
468
+ UPB_INLINE envoy_config_accesslog_v3_RuntimeFilter *envoy_config_accesslog_v3_RuntimeFilter_new(upb_arena *arena) {
469
+ return (envoy_config_accesslog_v3_RuntimeFilter *)_upb_msg_new(&envoy_config_accesslog_v3_RuntimeFilter_msginit, arena);
470
+ }
471
+ UPB_INLINE envoy_config_accesslog_v3_RuntimeFilter *envoy_config_accesslog_v3_RuntimeFilter_parse(const char *buf, size_t size,
472
+ upb_arena *arena) {
473
+ envoy_config_accesslog_v3_RuntimeFilter *ret = envoy_config_accesslog_v3_RuntimeFilter_new(arena);
474
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_RuntimeFilter_msginit, arena)) ? ret : NULL;
475
+ }
476
+ UPB_INLINE char *envoy_config_accesslog_v3_RuntimeFilter_serialize(const envoy_config_accesslog_v3_RuntimeFilter *msg, upb_arena *arena, size_t *len) {
477
+ return upb_encode(msg, &envoy_config_accesslog_v3_RuntimeFilter_msginit, arena, len);
478
+ }
479
+
480
+ UPB_INLINE upb_strview envoy_config_accesslog_v3_RuntimeFilter_runtime_key(const envoy_config_accesslog_v3_RuntimeFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
481
+ UPB_INLINE bool envoy_config_accesslog_v3_RuntimeFilter_has_percent_sampled(const envoy_config_accesslog_v3_RuntimeFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
482
+ UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_accesslog_v3_RuntimeFilter_percent_sampled(const envoy_config_accesslog_v3_RuntimeFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_type_v3_FractionalPercent*); }
483
+ UPB_INLINE bool envoy_config_accesslog_v3_RuntimeFilter_use_independent_randomness(const envoy_config_accesslog_v3_RuntimeFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool); }
484
+
485
+ UPB_INLINE void envoy_config_accesslog_v3_RuntimeFilter_set_runtime_key(envoy_config_accesslog_v3_RuntimeFilter *msg, upb_strview value) {
486
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
487
+ }
488
+ UPB_INLINE void envoy_config_accesslog_v3_RuntimeFilter_set_percent_sampled(envoy_config_accesslog_v3_RuntimeFilter *msg, struct envoy_type_v3_FractionalPercent* value) {
489
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_type_v3_FractionalPercent*) = value;
490
+ }
491
+ UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_accesslog_v3_RuntimeFilter_mutable_percent_sampled(envoy_config_accesslog_v3_RuntimeFilter *msg, upb_arena *arena) {
492
+ struct envoy_type_v3_FractionalPercent* sub = (struct envoy_type_v3_FractionalPercent*)envoy_config_accesslog_v3_RuntimeFilter_percent_sampled(msg);
493
+ if (sub == NULL) {
494
+ sub = (struct envoy_type_v3_FractionalPercent*)_upb_msg_new(&envoy_type_v3_FractionalPercent_msginit, arena);
495
+ if (!sub) return NULL;
496
+ envoy_config_accesslog_v3_RuntimeFilter_set_percent_sampled(msg, sub);
497
+ }
498
+ return sub;
499
+ }
500
+ UPB_INLINE void envoy_config_accesslog_v3_RuntimeFilter_set_use_independent_randomness(envoy_config_accesslog_v3_RuntimeFilter *msg, bool value) {
501
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool) = value;
502
+ }
503
+
504
+ /* envoy.config.accesslog.v3.AndFilter */
505
+
506
+ UPB_INLINE envoy_config_accesslog_v3_AndFilter *envoy_config_accesslog_v3_AndFilter_new(upb_arena *arena) {
507
+ return (envoy_config_accesslog_v3_AndFilter *)_upb_msg_new(&envoy_config_accesslog_v3_AndFilter_msginit, arena);
508
+ }
509
+ UPB_INLINE envoy_config_accesslog_v3_AndFilter *envoy_config_accesslog_v3_AndFilter_parse(const char *buf, size_t size,
510
+ upb_arena *arena) {
511
+ envoy_config_accesslog_v3_AndFilter *ret = envoy_config_accesslog_v3_AndFilter_new(arena);
512
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_AndFilter_msginit, arena)) ? ret : NULL;
513
+ }
514
+ UPB_INLINE char *envoy_config_accesslog_v3_AndFilter_serialize(const envoy_config_accesslog_v3_AndFilter *msg, upb_arena *arena, size_t *len) {
515
+ return upb_encode(msg, &envoy_config_accesslog_v3_AndFilter_msginit, arena, len);
516
+ }
517
+
518
+ UPB_INLINE bool envoy_config_accesslog_v3_AndFilter_has_filters(const envoy_config_accesslog_v3_AndFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
519
+ UPB_INLINE const envoy_config_accesslog_v3_AccessLogFilter* const* envoy_config_accesslog_v3_AndFilter_filters(const envoy_config_accesslog_v3_AndFilter *msg, size_t *len) { return (const envoy_config_accesslog_v3_AccessLogFilter* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
520
+
521
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter** envoy_config_accesslog_v3_AndFilter_mutable_filters(envoy_config_accesslog_v3_AndFilter *msg, size_t *len) {
522
+ return (envoy_config_accesslog_v3_AccessLogFilter**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
523
+ }
524
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter** envoy_config_accesslog_v3_AndFilter_resize_filters(envoy_config_accesslog_v3_AndFilter *msg, size_t len, upb_arena *arena) {
525
+ return (envoy_config_accesslog_v3_AccessLogFilter**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_TYPE_MESSAGE, arena);
526
+ }
527
+ UPB_INLINE struct envoy_config_accesslog_v3_AccessLogFilter* envoy_config_accesslog_v3_AndFilter_add_filters(envoy_config_accesslog_v3_AndFilter *msg, upb_arena *arena) {
528
+ struct envoy_config_accesslog_v3_AccessLogFilter* sub = (struct envoy_config_accesslog_v3_AccessLogFilter*)_upb_msg_new(&envoy_config_accesslog_v3_AccessLogFilter_msginit, arena);
529
+ bool ok = _upb_array_append_accessor(
530
+ msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
531
+ if (!ok) return NULL;
532
+ return sub;
533
+ }
534
+
535
+ /* envoy.config.accesslog.v3.OrFilter */
536
+
537
+ UPB_INLINE envoy_config_accesslog_v3_OrFilter *envoy_config_accesslog_v3_OrFilter_new(upb_arena *arena) {
538
+ return (envoy_config_accesslog_v3_OrFilter *)_upb_msg_new(&envoy_config_accesslog_v3_OrFilter_msginit, arena);
539
+ }
540
+ UPB_INLINE envoy_config_accesslog_v3_OrFilter *envoy_config_accesslog_v3_OrFilter_parse(const char *buf, size_t size,
541
+ upb_arena *arena) {
542
+ envoy_config_accesslog_v3_OrFilter *ret = envoy_config_accesslog_v3_OrFilter_new(arena);
543
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_OrFilter_msginit, arena)) ? ret : NULL;
544
+ }
545
+ UPB_INLINE char *envoy_config_accesslog_v3_OrFilter_serialize(const envoy_config_accesslog_v3_OrFilter *msg, upb_arena *arena, size_t *len) {
546
+ return upb_encode(msg, &envoy_config_accesslog_v3_OrFilter_msginit, arena, len);
547
+ }
548
+
549
+ UPB_INLINE bool envoy_config_accesslog_v3_OrFilter_has_filters(const envoy_config_accesslog_v3_OrFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
550
+ UPB_INLINE const envoy_config_accesslog_v3_AccessLogFilter* const* envoy_config_accesslog_v3_OrFilter_filters(const envoy_config_accesslog_v3_OrFilter *msg, size_t *len) { return (const envoy_config_accesslog_v3_AccessLogFilter* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
551
+
552
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter** envoy_config_accesslog_v3_OrFilter_mutable_filters(envoy_config_accesslog_v3_OrFilter *msg, size_t *len) {
553
+ return (envoy_config_accesslog_v3_AccessLogFilter**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
554
+ }
555
+ UPB_INLINE envoy_config_accesslog_v3_AccessLogFilter** envoy_config_accesslog_v3_OrFilter_resize_filters(envoy_config_accesslog_v3_OrFilter *msg, size_t len, upb_arena *arena) {
556
+ return (envoy_config_accesslog_v3_AccessLogFilter**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_TYPE_MESSAGE, arena);
557
+ }
558
+ UPB_INLINE struct envoy_config_accesslog_v3_AccessLogFilter* envoy_config_accesslog_v3_OrFilter_add_filters(envoy_config_accesslog_v3_OrFilter *msg, upb_arena *arena) {
559
+ struct envoy_config_accesslog_v3_AccessLogFilter* sub = (struct envoy_config_accesslog_v3_AccessLogFilter*)_upb_msg_new(&envoy_config_accesslog_v3_AccessLogFilter_msginit, arena);
560
+ bool ok = _upb_array_append_accessor(
561
+ msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
562
+ if (!ok) return NULL;
563
+ return sub;
564
+ }
565
+
566
+ /* envoy.config.accesslog.v3.HeaderFilter */
567
+
568
+ UPB_INLINE envoy_config_accesslog_v3_HeaderFilter *envoy_config_accesslog_v3_HeaderFilter_new(upb_arena *arena) {
569
+ return (envoy_config_accesslog_v3_HeaderFilter *)_upb_msg_new(&envoy_config_accesslog_v3_HeaderFilter_msginit, arena);
570
+ }
571
+ UPB_INLINE envoy_config_accesslog_v3_HeaderFilter *envoy_config_accesslog_v3_HeaderFilter_parse(const char *buf, size_t size,
572
+ upb_arena *arena) {
573
+ envoy_config_accesslog_v3_HeaderFilter *ret = envoy_config_accesslog_v3_HeaderFilter_new(arena);
574
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_HeaderFilter_msginit, arena)) ? ret : NULL;
575
+ }
576
+ UPB_INLINE char *envoy_config_accesslog_v3_HeaderFilter_serialize(const envoy_config_accesslog_v3_HeaderFilter *msg, upb_arena *arena, size_t *len) {
577
+ return upb_encode(msg, &envoy_config_accesslog_v3_HeaderFilter_msginit, arena, len);
578
+ }
579
+
580
+ UPB_INLINE bool envoy_config_accesslog_v3_HeaderFilter_has_header(const envoy_config_accesslog_v3_HeaderFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
581
+ UPB_INLINE const struct envoy_config_route_v3_HeaderMatcher* envoy_config_accesslog_v3_HeaderFilter_header(const envoy_config_accesslog_v3_HeaderFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_config_route_v3_HeaderMatcher*); }
582
+
583
+ UPB_INLINE void envoy_config_accesslog_v3_HeaderFilter_set_header(envoy_config_accesslog_v3_HeaderFilter *msg, struct envoy_config_route_v3_HeaderMatcher* value) {
584
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_config_route_v3_HeaderMatcher*) = value;
585
+ }
586
+ UPB_INLINE struct envoy_config_route_v3_HeaderMatcher* envoy_config_accesslog_v3_HeaderFilter_mutable_header(envoy_config_accesslog_v3_HeaderFilter *msg, upb_arena *arena) {
587
+ struct envoy_config_route_v3_HeaderMatcher* sub = (struct envoy_config_route_v3_HeaderMatcher*)envoy_config_accesslog_v3_HeaderFilter_header(msg);
588
+ if (sub == NULL) {
589
+ sub = (struct envoy_config_route_v3_HeaderMatcher*)_upb_msg_new(&envoy_config_route_v3_HeaderMatcher_msginit, arena);
590
+ if (!sub) return NULL;
591
+ envoy_config_accesslog_v3_HeaderFilter_set_header(msg, sub);
592
+ }
593
+ return sub;
594
+ }
595
+
596
+ /* envoy.config.accesslog.v3.ResponseFlagFilter */
597
+
598
+ UPB_INLINE envoy_config_accesslog_v3_ResponseFlagFilter *envoy_config_accesslog_v3_ResponseFlagFilter_new(upb_arena *arena) {
599
+ return (envoy_config_accesslog_v3_ResponseFlagFilter *)_upb_msg_new(&envoy_config_accesslog_v3_ResponseFlagFilter_msginit, arena);
600
+ }
601
+ UPB_INLINE envoy_config_accesslog_v3_ResponseFlagFilter *envoy_config_accesslog_v3_ResponseFlagFilter_parse(const char *buf, size_t size,
602
+ upb_arena *arena) {
603
+ envoy_config_accesslog_v3_ResponseFlagFilter *ret = envoy_config_accesslog_v3_ResponseFlagFilter_new(arena);
604
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_ResponseFlagFilter_msginit, arena)) ? ret : NULL;
605
+ }
606
+ UPB_INLINE char *envoy_config_accesslog_v3_ResponseFlagFilter_serialize(const envoy_config_accesslog_v3_ResponseFlagFilter *msg, upb_arena *arena, size_t *len) {
607
+ return upb_encode(msg, &envoy_config_accesslog_v3_ResponseFlagFilter_msginit, arena, len);
608
+ }
609
+
610
+ UPB_INLINE upb_strview const* envoy_config_accesslog_v3_ResponseFlagFilter_flags(const envoy_config_accesslog_v3_ResponseFlagFilter *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
611
+
612
+ UPB_INLINE upb_strview* envoy_config_accesslog_v3_ResponseFlagFilter_mutable_flags(envoy_config_accesslog_v3_ResponseFlagFilter *msg, size_t *len) {
613
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
614
+ }
615
+ UPB_INLINE upb_strview* envoy_config_accesslog_v3_ResponseFlagFilter_resize_flags(envoy_config_accesslog_v3_ResponseFlagFilter *msg, size_t len, upb_arena *arena) {
616
+ return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_TYPE_STRING, arena);
617
+ }
618
+ UPB_INLINE bool envoy_config_accesslog_v3_ResponseFlagFilter_add_flags(envoy_config_accesslog_v3_ResponseFlagFilter *msg, upb_strview val, upb_arena *arena) {
619
+ return _upb_array_append_accessor(msg, UPB_SIZE(0, 0), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
620
+ arena);
621
+ }
622
+
623
+ /* envoy.config.accesslog.v3.GrpcStatusFilter */
624
+
625
+ UPB_INLINE envoy_config_accesslog_v3_GrpcStatusFilter *envoy_config_accesslog_v3_GrpcStatusFilter_new(upb_arena *arena) {
626
+ return (envoy_config_accesslog_v3_GrpcStatusFilter *)_upb_msg_new(&envoy_config_accesslog_v3_GrpcStatusFilter_msginit, arena);
627
+ }
628
+ UPB_INLINE envoy_config_accesslog_v3_GrpcStatusFilter *envoy_config_accesslog_v3_GrpcStatusFilter_parse(const char *buf, size_t size,
629
+ upb_arena *arena) {
630
+ envoy_config_accesslog_v3_GrpcStatusFilter *ret = envoy_config_accesslog_v3_GrpcStatusFilter_new(arena);
631
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_GrpcStatusFilter_msginit, arena)) ? ret : NULL;
632
+ }
633
+ UPB_INLINE char *envoy_config_accesslog_v3_GrpcStatusFilter_serialize(const envoy_config_accesslog_v3_GrpcStatusFilter *msg, upb_arena *arena, size_t *len) {
634
+ return upb_encode(msg, &envoy_config_accesslog_v3_GrpcStatusFilter_msginit, arena, len);
635
+ }
636
+
637
+ UPB_INLINE int32_t const* envoy_config_accesslog_v3_GrpcStatusFilter_statuses(const envoy_config_accesslog_v3_GrpcStatusFilter *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
638
+ UPB_INLINE bool envoy_config_accesslog_v3_GrpcStatusFilter_exclude(const envoy_config_accesslog_v3_GrpcStatusFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool); }
639
+
640
+ UPB_INLINE int32_t* envoy_config_accesslog_v3_GrpcStatusFilter_mutable_statuses(envoy_config_accesslog_v3_GrpcStatusFilter *msg, size_t *len) {
641
+ return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
642
+ }
643
+ UPB_INLINE int32_t* envoy_config_accesslog_v3_GrpcStatusFilter_resize_statuses(envoy_config_accesslog_v3_GrpcStatusFilter *msg, size_t len, upb_arena *arena) {
644
+ return (int32_t*)_upb_array_resize_accessor(msg, UPB_SIZE(4, 8), len, UPB_TYPE_ENUM, arena);
645
+ }
646
+ UPB_INLINE bool envoy_config_accesslog_v3_GrpcStatusFilter_add_statuses(envoy_config_accesslog_v3_GrpcStatusFilter *msg, int32_t val, upb_arena *arena) {
647
+ return _upb_array_append_accessor(msg, UPB_SIZE(4, 8), UPB_SIZE(8, 8), UPB_TYPE_ENUM, &val,
648
+ arena);
649
+ }
650
+ UPB_INLINE void envoy_config_accesslog_v3_GrpcStatusFilter_set_exclude(envoy_config_accesslog_v3_GrpcStatusFilter *msg, bool value) {
651
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool) = value;
652
+ }
653
+
654
+ /* envoy.config.accesslog.v3.ExtensionFilter */
655
+
656
+ UPB_INLINE envoy_config_accesslog_v3_ExtensionFilter *envoy_config_accesslog_v3_ExtensionFilter_new(upb_arena *arena) {
657
+ return (envoy_config_accesslog_v3_ExtensionFilter *)_upb_msg_new(&envoy_config_accesslog_v3_ExtensionFilter_msginit, arena);
658
+ }
659
+ UPB_INLINE envoy_config_accesslog_v3_ExtensionFilter *envoy_config_accesslog_v3_ExtensionFilter_parse(const char *buf, size_t size,
660
+ upb_arena *arena) {
661
+ envoy_config_accesslog_v3_ExtensionFilter *ret = envoy_config_accesslog_v3_ExtensionFilter_new(arena);
662
+ return (ret && upb_decode(buf, size, ret, &envoy_config_accesslog_v3_ExtensionFilter_msginit, arena)) ? ret : NULL;
663
+ }
664
+ UPB_INLINE char *envoy_config_accesslog_v3_ExtensionFilter_serialize(const envoy_config_accesslog_v3_ExtensionFilter *msg, upb_arena *arena, size_t *len) {
665
+ return upb_encode(msg, &envoy_config_accesslog_v3_ExtensionFilter_msginit, arena, len);
666
+ }
667
+
668
+ typedef enum {
669
+ envoy_config_accesslog_v3_ExtensionFilter_config_type_typed_config = 3,
670
+ envoy_config_accesslog_v3_ExtensionFilter_config_type_NOT_SET = 0
671
+ } envoy_config_accesslog_v3_ExtensionFilter_config_type_oneofcases;
672
+ UPB_INLINE envoy_config_accesslog_v3_ExtensionFilter_config_type_oneofcases envoy_config_accesslog_v3_ExtensionFilter_config_type_case(const envoy_config_accesslog_v3_ExtensionFilter* msg) { return (envoy_config_accesslog_v3_ExtensionFilter_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); }
673
+
674
+ UPB_INLINE upb_strview envoy_config_accesslog_v3_ExtensionFilter_name(const envoy_config_accesslog_v3_ExtensionFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
675
+ UPB_INLINE bool envoy_config_accesslog_v3_ExtensionFilter_has_typed_config(const envoy_config_accesslog_v3_ExtensionFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; }
676
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_accesslog_v3_ExtensionFilter_typed_config(const envoy_config_accesslog_v3_ExtensionFilter *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); }
677
+
678
+ UPB_INLINE void envoy_config_accesslog_v3_ExtensionFilter_set_name(envoy_config_accesslog_v3_ExtensionFilter *msg, upb_strview value) {
679
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
680
+ }
681
+ UPB_INLINE void envoy_config_accesslog_v3_ExtensionFilter_set_typed_config(envoy_config_accesslog_v3_ExtensionFilter *msg, struct google_protobuf_Any* value) {
682
+ UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3);
683
+ }
684
+ UPB_INLINE struct google_protobuf_Any* envoy_config_accesslog_v3_ExtensionFilter_mutable_typed_config(envoy_config_accesslog_v3_ExtensionFilter *msg, upb_arena *arena) {
685
+ struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_accesslog_v3_ExtensionFilter_typed_config(msg);
686
+ if (sub == NULL) {
687
+ sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
688
+ if (!sub) return NULL;
689
+ envoy_config_accesslog_v3_ExtensionFilter_set_typed_config(msg, sub);
690
+ }
691
+ return sub;
692
+ }
693
+
694
+ #ifdef __cplusplus
695
+ } /* extern "C" */
696
+ #endif
697
+
698
+ #include "upb/port_undef.inc"
699
+
700
+ #endif /* ENVOY_CONFIG_ACCESSLOG_V3_ACCESSLOG_PROTO_UPB_H_ */