grpc 1.30.2 → 1.32.0

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

Potentially problematic release.


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

Files changed (674) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +723 -15910
  3. data/include/grpc/grpc_security.h +31 -14
  4. data/include/grpc/grpc_security_constants.h +3 -0
  5. data/include/grpc/impl/codegen/README.md +22 -0
  6. data/include/grpc/impl/codegen/grpc_types.h +7 -5
  7. data/include/grpc/impl/codegen/port_platform.h +6 -33
  8. data/src/core/ext/filters/client_channel/backend_metric.cc +12 -9
  9. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -2
  10. data/src/core/ext/filters/client_channel/client_channel.cc +470 -285
  11. data/src/core/ext/filters/client_channel/client_channel.h +1 -1
  12. data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -3
  13. data/src/core/ext/filters/client_channel/config_selector.cc +62 -0
  14. data/src/core/ext/filters/client_channel/config_selector.h +93 -0
  15. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -2
  16. data/src/core/ext/filters/client_channel/health/health_check_client.cc +8 -1
  17. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +8 -8
  18. data/src/core/ext/filters/client_channel/http_proxy.cc +6 -4
  19. data/src/core/ext/filters/client_channel/lb_policy.h +4 -0
  20. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -4
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +59 -36
  22. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -13
  23. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -3
  24. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -37
  25. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -13
  26. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +29 -10
  27. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +5 -4
  28. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +4 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +23 -13
  30. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +18 -12
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +22 -14
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +18 -9
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +385 -78
  34. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -5
  35. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +5 -2
  36. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +6 -5
  37. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +8 -6
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +9 -7
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +7 -5
  40. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +36 -51
  41. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  42. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  43. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
  44. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -1
  45. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  46. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +383 -31
  47. data/src/core/ext/filters/client_channel/resolver_registry.cc +13 -14
  48. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +6 -7
  49. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -1
  50. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +38 -32
  51. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +39 -20
  52. data/src/core/ext/filters/client_channel/server_address.cc +40 -7
  53. data/src/core/ext/filters/client_channel/server_address.h +42 -4
  54. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
  55. data/src/core/ext/filters/client_channel/subchannel.cc +65 -24
  56. data/src/core/ext/filters/client_channel/subchannel.h +16 -4
  57. data/src/core/ext/filters/http/client/http_client_filter.cc +5 -5
  58. data/src/core/ext/filters/http/http_filters_plugin.cc +2 -1
  59. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +74 -33
  60. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +3 -1
  61. data/src/core/ext/filters/max_age/max_age_filter.cc +2 -1
  62. data/src/core/ext/filters/message_size/message_size_filter.cc +56 -80
  63. data/src/core/ext/filters/message_size/message_size_filter.h +6 -0
  64. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +87 -31
  65. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +18 -1
  66. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +10 -35
  67. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +378 -348
  68. data/src/core/ext/transport/chttp2/server/chttp2_server.h +7 -2
  69. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  70. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +10 -16
  71. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +9 -9
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +256 -279
  73. data/src/core/ext/transport/chttp2/transport/flow_control.cc +23 -28
  74. data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -16
  75. data/src/core/ext/transport/chttp2/transport/frame_data.cc +9 -12
  76. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -6
  77. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  78. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -13
  79. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -9
  80. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +9 -12
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -29
  82. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +13 -17
  83. data/src/core/ext/transport/chttp2/transport/internal.h +18 -1
  84. data/src/core/ext/transport/chttp2/transport/parsing.cc +34 -71
  85. data/src/core/ext/transport/chttp2/transport/writing.cc +15 -19
  86. data/src/core/ext/transport/inproc/inproc_transport.cc +47 -27
  87. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -1
  88. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +3 -4
  89. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +224 -0
  90. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +700 -0
  91. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  92. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +226 -0
  93. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +380 -0
  94. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1378 -0
  95. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/filter.upb.c +8 -8
  96. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +69 -0
  97. data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/outlier_detection.upb.c +8 -8
  98. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +323 -0
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +112 -0
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +334 -0
  101. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/backoff.upb.c +8 -8
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +79 -0
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +309 -0
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +869 -0
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +96 -0
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +328 -0
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +71 -0
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +195 -0
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +634 -0
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +684 -0
  113. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/http_uri.upb.c +8 -8
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +80 -0
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +152 -0
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +536 -0
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +58 -0
  119. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/socket_option.upb.c +6 -6
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +88 -0
  121. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
  122. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +220 -0
  123. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
  124. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +273 -0
  125. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  126. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +332 -0
  127. data/src/core/ext/upb-generated/envoy/config/listener/{v2 → v3}/api_listener.upb.c +8 -8
  128. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +65 -0
  129. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +108 -0
  130. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +401 -0
  131. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +138 -0
  132. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +490 -0
  133. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
  134. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +94 -0
  135. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +174 -0
  136. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +599 -0
  137. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
  138. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +204 -0
  139. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +773 -0
  140. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2855 -0
  141. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +59 -0
  142. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +135 -0
  143. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
  144. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +108 -0
  145. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +312 -0
  146. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1125 -0
  147. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
  148. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +34 -0
  149. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +111 -0
  150. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +401 -0
  151. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +72 -0
  152. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +198 -0
  153. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +105 -0
  154. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +388 -0
  155. data/src/core/ext/upb-generated/envoy/{api/v2 → service/cluster/v3}/cds.upb.c +5 -6
  156. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +49 -0
  157. data/src/core/ext/upb-generated/envoy/service/discovery/{v2 → v3}/ads.upb.c +5 -4
  158. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +49 -0
  159. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +129 -0
  160. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +386 -0
  161. data/src/core/ext/upb-generated/envoy/{api/v2 → service/endpoint/v3}/eds.upb.c +5 -6
  162. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +49 -0
  163. data/src/core/ext/upb-generated/envoy/{api/v2 → service/listener/v3}/lds.upb.c +5 -6
  164. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +49 -0
  165. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
  166. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +136 -0
  167. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/rds.upb.c +5 -6
  168. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +49 -0
  169. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/srds.upb.c +5 -6
  170. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +49 -0
  171. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
  172. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +114 -0
  173. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  174. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +77 -0
  175. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  176. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +71 -0
  177. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
  178. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +145 -0
  179. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
  180. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +127 -0
  181. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  182. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +188 -0
  183. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  184. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -0
  185. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  186. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +250 -0
  187. data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +2 -2
  188. data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +8 -9
  189. data/src/core/ext/upb-generated/envoy/type/{percent.upb.c → v3/percent.upb.c} +9 -8
  190. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +86 -0
  191. data/src/core/ext/upb-generated/envoy/type/{range.upb.c → v3/range.upb.c} +12 -11
  192. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -0
  193. data/src/core/ext/upb-generated/envoy/type/{semantic_version.upb.c → v3/semantic_version.upb.c} +6 -5
  194. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +61 -0
  195. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -1
  196. data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -1
  197. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
  198. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +759 -0
  199. data/src/core/ext/upb-generated/google/api/http.upb.h +29 -28
  200. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +5 -6
  201. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +39 -39
  202. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +412 -386
  203. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +5 -6
  204. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +1 -2
  205. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +1 -1
  206. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +34 -55
  207. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +5 -6
  208. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -28
  209. data/src/core/ext/upb-generated/google/rpc/status.upb.h +8 -8
  210. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +1 -1
  211. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +32 -45
  212. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +4 -4
  213. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +157 -178
  214. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +14 -13
  215. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -7
  216. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +59 -56
  217. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +11 -12
  218. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -1
  219. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +5 -6
  220. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  221. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -0
  222. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +6 -6
  223. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +41 -68
  224. data/src/core/ext/upb-generated/validate/validate.upb.c +11 -11
  225. data/src/core/ext/upb-generated/validate/validate.upb.h +537 -536
  226. data/src/core/ext/xds/xds_api.cc +2388 -0
  227. data/src/core/ext/{filters/client_channel/xds → xds}/xds_api.h +120 -40
  228. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.cc +56 -25
  229. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.h +8 -3
  230. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel.h +4 -4
  231. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_args.h +3 -3
  232. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_secure.cc +2 -5
  233. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.cc +94 -347
  234. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.h +12 -45
  235. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.cc +2 -2
  236. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +13 -13
  237. data/src/core/lib/channel/channel_trace.cc +2 -6
  238. data/src/core/lib/channel/channelz.cc +19 -30
  239. data/src/core/lib/channel/channelz.h +1 -1
  240. data/src/core/lib/channel/channelz_registry.cc +3 -1
  241. data/src/core/lib/gpr/log_linux.cc +6 -8
  242. data/src/core/lib/gpr/log_posix.cc +6 -8
  243. data/src/core/lib/gpr/string.cc +10 -9
  244. data/src/core/lib/gpr/string.h +4 -2
  245. data/src/core/lib/gpr/sync_posix.cc +2 -8
  246. data/src/core/lib/gprpp/global_config_env.cc +8 -6
  247. data/src/core/lib/http/httpcli.cc +13 -10
  248. data/src/core/lib/http/httpcli_security_connector.cc +5 -5
  249. data/src/core/lib/iomgr/cfstream_handle.cc +1 -0
  250. data/src/core/lib/iomgr/endpoint.cc +5 -1
  251. data/src/core/lib/iomgr/endpoint.h +7 -3
  252. data/src/core/lib/iomgr/endpoint_cfstream.cc +32 -11
  253. data/src/core/lib/iomgr/endpoint_pair_posix.cc +10 -10
  254. data/src/core/lib/iomgr/error_cfstream.cc +9 -8
  255. data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -6
  256. data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -21
  257. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  258. data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
  259. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.cc +1 -1
  260. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.h +3 -3
  261. data/src/core/lib/iomgr/port.h +1 -21
  262. data/src/core/lib/iomgr/resolve_address_custom.cc +13 -18
  263. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -8
  264. data/src/core/lib/iomgr/resource_quota.cc +34 -31
  265. data/src/core/lib/iomgr/sockaddr_utils.cc +9 -6
  266. data/src/core/lib/iomgr/sockaddr_utils.h +3 -2
  267. data/src/core/lib/iomgr/socket_utils_common_posix.cc +95 -55
  268. data/src/core/lib/iomgr/socket_windows.cc +4 -5
  269. data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -11
  270. data/src/core/lib/iomgr/tcp_client_custom.cc +6 -9
  271. data/src/core/lib/iomgr/tcp_client_posix.cc +27 -36
  272. data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
  273. data/src/core/lib/iomgr/tcp_custom.cc +33 -17
  274. data/src/core/lib/iomgr/tcp_custom.h +1 -1
  275. data/src/core/lib/iomgr/tcp_posix.cc +31 -13
  276. data/src/core/lib/iomgr/tcp_server.cc +3 -4
  277. data/src/core/lib/iomgr/tcp_server.h +7 -5
  278. data/src/core/lib/iomgr/tcp_server_custom.cc +6 -14
  279. data/src/core/lib/iomgr/tcp_server_posix.cc +34 -41
  280. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -4
  281. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -7
  282. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -9
  283. data/src/core/lib/iomgr/tcp_server_windows.cc +16 -16
  284. data/src/core/lib/iomgr/tcp_windows.cc +26 -10
  285. data/src/core/lib/iomgr/timer_generic.cc +13 -12
  286. data/src/core/lib/iomgr/udp_server.cc +24 -23
  287. data/src/core/lib/iomgr/udp_server.h +5 -2
  288. data/src/core/lib/iomgr/unix_sockets_posix.cc +9 -14
  289. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
  290. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +5 -2
  291. data/src/core/lib/json/json_reader.cc +20 -21
  292. data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
  293. data/src/core/lib/security/authorization/authorization_engine.h +84 -0
  294. data/src/core/lib/security/authorization/evaluate_args.cc +153 -0
  295. data/src/core/lib/security/authorization/evaluate_args.h +59 -0
  296. data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
  297. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +42 -0
  298. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +68 -0
  299. data/src/core/lib/security/authorization/mock_cel/cel_value.h +93 -0
  300. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
  301. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +56 -0
  302. data/src/core/lib/security/authorization/mock_cel/statusor.h +50 -0
  303. data/src/core/lib/security/credentials/credentials.h +5 -3
  304. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
  305. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +64 -43
  306. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -4
  307. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +19 -28
  308. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -6
  309. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +20 -0
  310. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +10 -0
  311. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +10 -0
  312. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +11 -12
  313. data/src/core/lib/security/security_connector/security_connector.cc +2 -0
  314. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  315. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +18 -11
  316. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +5 -0
  317. data/src/core/lib/security/security_connector/ssl_utils.cc +44 -23
  318. data/src/core/lib/security/security_connector/ssl_utils.h +6 -2
  319. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -24
  320. data/src/core/lib/security/transport/client_auth_filter.cc +10 -9
  321. data/src/core/lib/security/transport/secure_endpoint.cc +7 -1
  322. data/src/core/lib/security/util/json_util.cc +12 -13
  323. data/src/core/lib/slice/slice.cc +38 -1
  324. data/src/core/lib/slice/slice_internal.h +1 -0
  325. data/src/core/lib/surface/call.cc +52 -53
  326. data/src/core/lib/surface/call.h +2 -1
  327. data/src/core/lib/surface/channel.cc +28 -20
  328. data/src/core/lib/surface/channel.h +12 -2
  329. data/src/core/lib/surface/completion_queue.cc +0 -5
  330. data/src/core/lib/surface/init.cc +1 -1
  331. data/src/core/lib/surface/server.cc +1102 -1347
  332. data/src/core/lib/surface/server.h +369 -71
  333. data/src/core/lib/surface/version.cc +2 -2
  334. data/src/core/lib/transport/authority_override.cc +38 -0
  335. data/src/core/lib/transport/authority_override.h +32 -0
  336. data/src/core/lib/transport/connectivity_state.cc +18 -13
  337. data/src/core/lib/transport/connectivity_state.h +18 -6
  338. data/src/core/lib/transport/error_utils.cc +13 -0
  339. data/src/core/lib/transport/error_utils.h +6 -0
  340. data/src/core/lib/transport/static_metadata.cc +295 -276
  341. data/src/core/lib/transport/static_metadata.h +80 -73
  342. data/src/core/lib/transport/transport.h +13 -0
  343. data/src/core/lib/uri/uri_parser.cc +30 -35
  344. data/src/core/lib/uri/uri_parser.h +3 -1
  345. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  346. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +23 -13
  347. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +24 -0
  348. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -0
  349. data/src/core/tsi/ssl_transport_security.cc +102 -11
  350. data/src/core/tsi/ssl_transport_security.h +14 -2
  351. data/src/core/tsi/transport_security_interface.h +5 -0
  352. data/src/ruby/bin/math_services_pb.rb +4 -4
  353. data/src/ruby/ext/grpc/extconf.rb +5 -2
  354. data/src/ruby/ext/grpc/rb_call.c +3 -2
  355. data/src/ruby/ext/grpc/rb_call.h +4 -0
  356. data/src/ruby/ext/grpc/rb_call_credentials.c +54 -10
  357. data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
  358. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -2
  359. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -4
  360. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  361. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  362. data/src/ruby/lib/grpc/version.rb +1 -1
  363. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
  364. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +5 -0
  365. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +28 -12
  366. data/src/ruby/spec/channel_credentials_spec.rb +10 -0
  367. data/src/ruby/spec/generic/active_call_spec.rb +19 -8
  368. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  369. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  370. data/src/ruby/spec/pb/codegen/package_option_spec.rb +20 -0
  371. data/src/ruby/spec/user_agent_spec.rb +74 -0
  372. data/third_party/abseil-cpp/absl/algorithm/container.h +1727 -0
  373. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +161 -0
  374. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  375. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  376. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  377. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  378. data/third_party/abseil-cpp/absl/container/fixed_array.h +515 -0
  379. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  380. data/third_party/abseil-cpp/absl/container/internal/common.h +202 -0
  381. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +440 -0
  382. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +146 -0
  383. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +191 -0
  384. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  385. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +269 -0
  386. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +297 -0
  387. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
  388. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +49 -0
  389. data/third_party/abseil-cpp/absl/container/internal/layout.h +741 -0
  390. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
  391. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1882 -0
  392. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +138 -0
  393. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  394. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1895 -0
  395. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  396. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  397. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  398. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +192 -0
  399. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +125 -0
  400. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +70 -0
  401. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +99 -0
  402. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
  403. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  404. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +85 -0
  405. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  406. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +128 -0
  407. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +194 -0
  408. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  409. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  410. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  411. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +25 -0
  412. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  413. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1480 -0
  414. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  415. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  416. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  417. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  418. data/third_party/abseil-cpp/absl/hash/hash.h +324 -0
  419. data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
  420. data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
  421. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
  422. data/third_party/abseil-cpp/absl/hash/internal/hash.h +988 -0
  423. data/third_party/abseil-cpp/absl/status/status.cc +447 -0
  424. data/third_party/abseil-cpp/absl/status/status.h +428 -0
  425. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +43 -0
  426. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  427. data/third_party/abseil-cpp/absl/strings/cord.cc +2019 -0
  428. data/third_party/abseil-cpp/absl/strings/cord.h +1121 -0
  429. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +151 -0
  430. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  431. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  432. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  433. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  434. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  435. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  436. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
  437. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  438. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
  439. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +261 -0
  440. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  441. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  442. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +484 -0
  443. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
  444. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2728 -0
  445. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1056 -0
  446. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  447. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  448. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  449. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  450. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  451. data/third_party/abseil-cpp/absl/types/variant.h +861 -0
  452. data/third_party/boringssl-with-bazel/err_data.c +266 -254
  453. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
  454. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +3 -3
  455. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +1 -1
  456. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -3
  457. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
  458. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
  459. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -1
  460. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
  461. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
  462. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
  463. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
  464. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +1 -0
  465. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +12 -52
  466. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -22
  467. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +159 -0
  468. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
  469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +11 -1
  470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +2 -1
  471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +13 -11
  472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +24 -23
  473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +20 -16
  474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -2
  475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
  476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +62 -0
  477. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +456 -0
  478. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +192 -0
  479. data/third_party/boringssl-with-bazel/src/crypto/mem.c +29 -15
  480. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
  481. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -5
  482. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +0 -29
  483. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +116 -363
  484. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +7 -45
  485. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +4 -4
  486. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +8 -0
  487. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
  488. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
  489. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +13 -6
  490. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +10 -0
  491. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +41 -0
  492. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +4 -1
  493. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +28 -9
  494. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +25 -0
  495. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +35 -13
  496. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -154
  497. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +20 -0
  498. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +28 -6
  499. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +5 -0
  500. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +74 -35
  501. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
  502. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +52 -0
  503. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +22 -22
  504. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -2
  505. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +69 -0
  506. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +72 -23
  507. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -3
  508. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -10
  509. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +800 -715
  510. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +3 -3
  511. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +9 -2
  512. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -2
  513. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +9 -0
  514. data/third_party/boringssl-with-bazel/src/ssl/internal.h +21 -14
  515. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -7
  516. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +3 -6
  517. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +38 -0
  518. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +4 -24
  519. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +5 -5
  520. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -24
  521. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +34 -9
  522. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +31 -21
  523. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +17 -9
  524. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
  525. data/third_party/re2/re2/bitmap256.h +117 -0
  526. data/third_party/re2/re2/bitstate.cc +385 -0
  527. data/third_party/re2/re2/compile.cc +1279 -0
  528. data/third_party/re2/re2/dfa.cc +2130 -0
  529. data/third_party/re2/re2/filtered_re2.cc +121 -0
  530. data/third_party/re2/re2/filtered_re2.h +109 -0
  531. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  532. data/third_party/re2/re2/nfa.cc +713 -0
  533. data/third_party/re2/re2/onepass.cc +623 -0
  534. data/third_party/re2/re2/parse.cc +2464 -0
  535. data/third_party/re2/re2/perl_groups.cc +119 -0
  536. data/third_party/re2/re2/pod_array.h +55 -0
  537. data/third_party/re2/re2/prefilter.cc +710 -0
  538. data/third_party/re2/re2/prefilter.h +108 -0
  539. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  540. data/third_party/re2/re2/prefilter_tree.h +139 -0
  541. data/third_party/re2/re2/prog.cc +988 -0
  542. data/third_party/re2/re2/prog.h +436 -0
  543. data/third_party/re2/re2/re2.cc +1362 -0
  544. data/third_party/re2/re2/re2.h +1002 -0
  545. data/third_party/re2/re2/regexp.cc +980 -0
  546. data/third_party/re2/re2/regexp.h +659 -0
  547. data/third_party/re2/re2/set.cc +154 -0
  548. data/third_party/re2/re2/set.h +80 -0
  549. data/third_party/re2/re2/simplify.cc +657 -0
  550. data/third_party/re2/re2/sparse_array.h +392 -0
  551. data/third_party/re2/re2/sparse_set.h +264 -0
  552. data/third_party/re2/re2/stringpiece.cc +65 -0
  553. data/third_party/re2/re2/stringpiece.h +210 -0
  554. data/third_party/re2/re2/tostring.cc +351 -0
  555. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  556. data/third_party/re2/re2/unicode_casefold.h +78 -0
  557. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  558. data/third_party/re2/re2/unicode_groups.h +67 -0
  559. data/third_party/re2/re2/walker-inl.h +246 -0
  560. data/third_party/re2/util/benchmark.h +156 -0
  561. data/third_party/re2/util/flags.h +26 -0
  562. data/third_party/re2/util/logging.h +109 -0
  563. data/third_party/re2/util/malloc_counter.h +19 -0
  564. data/third_party/re2/util/mix.h +41 -0
  565. data/third_party/re2/util/mutex.h +148 -0
  566. data/third_party/re2/util/pcre.cc +1025 -0
  567. data/third_party/re2/util/pcre.h +681 -0
  568. data/third_party/re2/util/rune.cc +260 -0
  569. data/third_party/re2/util/strutil.cc +149 -0
  570. data/third_party/re2/util/strutil.h +21 -0
  571. data/third_party/re2/util/test.h +50 -0
  572. data/third_party/re2/util/utf.h +44 -0
  573. data/third_party/re2/util/util.h +42 -0
  574. data/third_party/upb/upb/decode.c +517 -505
  575. data/third_party/upb/upb/encode.c +165 -123
  576. data/third_party/upb/upb/msg.c +130 -64
  577. data/third_party/upb/upb/msg.h +418 -14
  578. data/third_party/upb/upb/port_def.inc +35 -6
  579. data/third_party/upb/upb/port_undef.inc +8 -1
  580. data/third_party/upb/upb/table.c +53 -86
  581. data/third_party/upb/upb/table.int.h +11 -52
  582. data/third_party/upb/upb/upb.c +151 -125
  583. data/third_party/upb/upb/upb.h +91 -147
  584. data/third_party/upb/upb/upb.hpp +88 -0
  585. metadata +308 -148
  586. data/src/core/ext/filters/client_channel/xds/xds_api.cc +0 -1906
  587. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -21
  588. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -35
  589. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +0 -114
  590. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +0 -418
  591. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +0 -72
  592. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +0 -197
  593. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +0 -105
  594. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +0 -378
  595. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -53
  596. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -403
  597. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1447
  598. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -74
  599. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -218
  600. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
  601. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -305
  602. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -112
  603. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -328
  604. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +0 -78
  605. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -313
  606. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -897
  607. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -96
  608. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -322
  609. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +0 -34
  610. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +0 -72
  611. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -197
  612. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -642
  613. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -172
  614. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -673
  615. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
  616. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -152
  617. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -518
  618. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +0 -89
  619. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -129
  620. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -392
  621. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -53
  622. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -92
  623. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -240
  624. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -18
  625. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -33
  626. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -91
  627. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -266
  628. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -112
  629. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -324
  630. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -53
  631. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -109
  632. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -399
  633. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -18
  634. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -33
  635. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -145
  636. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -527
  637. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -43
  638. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -112
  639. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -53
  640. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -63
  641. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -199
  642. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -18
  643. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -33
  644. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -815
  645. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -3032
  646. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -59
  647. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -134
  648. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -53
  649. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -228
  650. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -725
  651. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -316
  652. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1132
  653. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
  654. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +0 -51
  655. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +0 -125
  656. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -50
  657. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -54
  658. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -134
  659. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -63
  660. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -144
  661. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -53
  662. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
  663. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -88
  664. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
  665. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -87
  666. data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -112
  667. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -62
  668. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -89
  669. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -249
  670. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  671. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  672. data/src/core/lib/slice/slice_hash_table.h +0 -199
  673. data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
  674. data/third_party/upb/upb/generated_util.h +0 -105
@@ -0,0 +1,490 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * envoy/config/listener/v3/listener_components.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #ifndef ENVOY_CONFIG_LISTENER_V3_LISTENER_COMPONENTS_PROTO_UPB_H_
10
+ #define ENVOY_CONFIG_LISTENER_V3_LISTENER_COMPONENTS_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_listener_v3_Filter;
23
+ struct envoy_config_listener_v3_FilterChainMatch;
24
+ struct envoy_config_listener_v3_FilterChain;
25
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate;
26
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet;
27
+ struct envoy_config_listener_v3_ListenerFilter;
28
+ typedef struct envoy_config_listener_v3_Filter envoy_config_listener_v3_Filter;
29
+ typedef struct envoy_config_listener_v3_FilterChainMatch envoy_config_listener_v3_FilterChainMatch;
30
+ typedef struct envoy_config_listener_v3_FilterChain envoy_config_listener_v3_FilterChain;
31
+ typedef struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate envoy_config_listener_v3_ListenerFilterChainMatchPredicate;
32
+ typedef struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet;
33
+ typedef struct envoy_config_listener_v3_ListenerFilter envoy_config_listener_v3_ListenerFilter;
34
+ extern const upb_msglayout envoy_config_listener_v3_Filter_msginit;
35
+ extern const upb_msglayout envoy_config_listener_v3_FilterChainMatch_msginit;
36
+ extern const upb_msglayout envoy_config_listener_v3_FilterChain_msginit;
37
+ extern const upb_msglayout envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit;
38
+ extern const upb_msglayout envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit;
39
+ extern const upb_msglayout envoy_config_listener_v3_ListenerFilter_msginit;
40
+ struct envoy_config_core_v3_CidrRange;
41
+ struct envoy_config_core_v3_Metadata;
42
+ struct envoy_config_core_v3_TransportSocket;
43
+ struct envoy_type_v3_Int32Range;
44
+ struct google_protobuf_Any;
45
+ struct google_protobuf_BoolValue;
46
+ struct google_protobuf_UInt32Value;
47
+ extern const upb_msglayout envoy_config_core_v3_CidrRange_msginit;
48
+ extern const upb_msglayout envoy_config_core_v3_Metadata_msginit;
49
+ extern const upb_msglayout envoy_config_core_v3_TransportSocket_msginit;
50
+ extern const upb_msglayout envoy_type_v3_Int32Range_msginit;
51
+ extern const upb_msglayout google_protobuf_Any_msginit;
52
+ extern const upb_msglayout google_protobuf_BoolValue_msginit;
53
+ extern const upb_msglayout google_protobuf_UInt32Value_msginit;
54
+
55
+ typedef enum {
56
+ envoy_config_listener_v3_FilterChainMatch_ANY = 0,
57
+ envoy_config_listener_v3_FilterChainMatch_SAME_IP_OR_LOOPBACK = 1,
58
+ envoy_config_listener_v3_FilterChainMatch_EXTERNAL = 2
59
+ } envoy_config_listener_v3_FilterChainMatch_ConnectionSourceType;
60
+
61
+
62
+ /* envoy.config.listener.v3.Filter */
63
+
64
+ UPB_INLINE envoy_config_listener_v3_Filter *envoy_config_listener_v3_Filter_new(upb_arena *arena) {
65
+ return (envoy_config_listener_v3_Filter *)_upb_msg_new(&envoy_config_listener_v3_Filter_msginit, arena);
66
+ }
67
+ UPB_INLINE envoy_config_listener_v3_Filter *envoy_config_listener_v3_Filter_parse(const char *buf, size_t size,
68
+ upb_arena *arena) {
69
+ envoy_config_listener_v3_Filter *ret = envoy_config_listener_v3_Filter_new(arena);
70
+ return (ret && upb_decode(buf, size, ret, &envoy_config_listener_v3_Filter_msginit, arena)) ? ret : NULL;
71
+ }
72
+ UPB_INLINE char *envoy_config_listener_v3_Filter_serialize(const envoy_config_listener_v3_Filter *msg, upb_arena *arena, size_t *len) {
73
+ return upb_encode(msg, &envoy_config_listener_v3_Filter_msginit, arena, len);
74
+ }
75
+
76
+ typedef enum {
77
+ envoy_config_listener_v3_Filter_config_type_typed_config = 4,
78
+ envoy_config_listener_v3_Filter_config_type_NOT_SET = 0
79
+ } envoy_config_listener_v3_Filter_config_type_oneofcases;
80
+ UPB_INLINE envoy_config_listener_v3_Filter_config_type_oneofcases envoy_config_listener_v3_Filter_config_type_case(const envoy_config_listener_v3_Filter* msg) { return (envoy_config_listener_v3_Filter_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); }
81
+
82
+ UPB_INLINE upb_strview envoy_config_listener_v3_Filter_name(const envoy_config_listener_v3_Filter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
83
+ UPB_INLINE bool envoy_config_listener_v3_Filter_has_typed_config(const envoy_config_listener_v3_Filter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 4; }
84
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_listener_v3_Filter_typed_config(const envoy_config_listener_v3_Filter *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 4, NULL); }
85
+
86
+ UPB_INLINE void envoy_config_listener_v3_Filter_set_name(envoy_config_listener_v3_Filter *msg, upb_strview value) {
87
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
88
+ }
89
+ UPB_INLINE void envoy_config_listener_v3_Filter_set_typed_config(envoy_config_listener_v3_Filter *msg, struct google_protobuf_Any* value) {
90
+ UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 4);
91
+ }
92
+ UPB_INLINE struct google_protobuf_Any* envoy_config_listener_v3_Filter_mutable_typed_config(envoy_config_listener_v3_Filter *msg, upb_arena *arena) {
93
+ struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_listener_v3_Filter_typed_config(msg);
94
+ if (sub == NULL) {
95
+ sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
96
+ if (!sub) return NULL;
97
+ envoy_config_listener_v3_Filter_set_typed_config(msg, sub);
98
+ }
99
+ return sub;
100
+ }
101
+
102
+ /* envoy.config.listener.v3.FilterChainMatch */
103
+
104
+ UPB_INLINE envoy_config_listener_v3_FilterChainMatch *envoy_config_listener_v3_FilterChainMatch_new(upb_arena *arena) {
105
+ return (envoy_config_listener_v3_FilterChainMatch *)_upb_msg_new(&envoy_config_listener_v3_FilterChainMatch_msginit, arena);
106
+ }
107
+ UPB_INLINE envoy_config_listener_v3_FilterChainMatch *envoy_config_listener_v3_FilterChainMatch_parse(const char *buf, size_t size,
108
+ upb_arena *arena) {
109
+ envoy_config_listener_v3_FilterChainMatch *ret = envoy_config_listener_v3_FilterChainMatch_new(arena);
110
+ return (ret && upb_decode(buf, size, ret, &envoy_config_listener_v3_FilterChainMatch_msginit, arena)) ? ret : NULL;
111
+ }
112
+ UPB_INLINE char *envoy_config_listener_v3_FilterChainMatch_serialize(const envoy_config_listener_v3_FilterChainMatch *msg, upb_arena *arena, size_t *len) {
113
+ return upb_encode(msg, &envoy_config_listener_v3_FilterChainMatch_msginit, arena, len);
114
+ }
115
+
116
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_has_prefix_ranges(const envoy_config_listener_v3_FilterChainMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 56)); }
117
+ UPB_INLINE const struct envoy_config_core_v3_CidrRange* const* envoy_config_listener_v3_FilterChainMatch_prefix_ranges(const envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) { return (const struct envoy_config_core_v3_CidrRange* const*)_upb_array_accessor(msg, UPB_SIZE(32, 56), len); }
118
+ UPB_INLINE upb_strview envoy_config_listener_v3_FilterChainMatch_address_suffix(const envoy_config_listener_v3_FilterChainMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); }
119
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_has_suffix_len(const envoy_config_listener_v3_FilterChainMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 40)); }
120
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_listener_v3_FilterChainMatch_suffix_len(const envoy_config_listener_v3_FilterChainMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct google_protobuf_UInt32Value*); }
121
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_has_source_prefix_ranges(const envoy_config_listener_v3_FilterChainMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 64)); }
122
+ UPB_INLINE const struct envoy_config_core_v3_CidrRange* const* envoy_config_listener_v3_FilterChainMatch_source_prefix_ranges(const envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) { return (const struct envoy_config_core_v3_CidrRange* const*)_upb_array_accessor(msg, UPB_SIZE(36, 64), len); }
123
+ UPB_INLINE uint32_t const* envoy_config_listener_v3_FilterChainMatch_source_ports(const envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(40, 72), len); }
124
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_has_destination_port(const envoy_config_listener_v3_FilterChainMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 48)); }
125
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_listener_v3_FilterChainMatch_destination_port(const envoy_config_listener_v3_FilterChainMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const struct google_protobuf_UInt32Value*); }
126
+ UPB_INLINE upb_strview envoy_config_listener_v3_FilterChainMatch_transport_protocol(const envoy_config_listener_v3_FilterChainMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview); }
127
+ UPB_INLINE upb_strview const* envoy_config_listener_v3_FilterChainMatch_application_protocols(const envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(44, 80), len); }
128
+ UPB_INLINE upb_strview const* envoy_config_listener_v3_FilterChainMatch_server_names(const envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(48, 88), len); }
129
+ UPB_INLINE int32_t envoy_config_listener_v3_FilterChainMatch_source_type(const envoy_config_listener_v3_FilterChainMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
130
+
131
+ UPB_INLINE struct envoy_config_core_v3_CidrRange** envoy_config_listener_v3_FilterChainMatch_mutable_prefix_ranges(envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) {
132
+ return (struct envoy_config_core_v3_CidrRange**)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 56), len);
133
+ }
134
+ UPB_INLINE struct envoy_config_core_v3_CidrRange** envoy_config_listener_v3_FilterChainMatch_resize_prefix_ranges(envoy_config_listener_v3_FilterChainMatch *msg, size_t len, upb_arena *arena) {
135
+ return (struct envoy_config_core_v3_CidrRange**)_upb_array_resize_accessor(msg, UPB_SIZE(32, 56), len, UPB_TYPE_MESSAGE, arena);
136
+ }
137
+ UPB_INLINE struct envoy_config_core_v3_CidrRange* envoy_config_listener_v3_FilterChainMatch_add_prefix_ranges(envoy_config_listener_v3_FilterChainMatch *msg, upb_arena *arena) {
138
+ struct envoy_config_core_v3_CidrRange* sub = (struct envoy_config_core_v3_CidrRange*)_upb_msg_new(&envoy_config_core_v3_CidrRange_msginit, arena);
139
+ bool ok = _upb_array_append_accessor(
140
+ msg, UPB_SIZE(32, 56), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
141
+ if (!ok) return NULL;
142
+ return sub;
143
+ }
144
+ UPB_INLINE void envoy_config_listener_v3_FilterChainMatch_set_address_suffix(envoy_config_listener_v3_FilterChainMatch *msg, upb_strview value) {
145
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value;
146
+ }
147
+ UPB_INLINE void envoy_config_listener_v3_FilterChainMatch_set_suffix_len(envoy_config_listener_v3_FilterChainMatch *msg, struct google_protobuf_UInt32Value* value) {
148
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct google_protobuf_UInt32Value*) = value;
149
+ }
150
+ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_listener_v3_FilterChainMatch_mutable_suffix_len(envoy_config_listener_v3_FilterChainMatch *msg, upb_arena *arena) {
151
+ struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_listener_v3_FilterChainMatch_suffix_len(msg);
152
+ if (sub == NULL) {
153
+ sub = (struct google_protobuf_UInt32Value*)_upb_msg_new(&google_protobuf_UInt32Value_msginit, arena);
154
+ if (!sub) return NULL;
155
+ envoy_config_listener_v3_FilterChainMatch_set_suffix_len(msg, sub);
156
+ }
157
+ return sub;
158
+ }
159
+ UPB_INLINE struct envoy_config_core_v3_CidrRange** envoy_config_listener_v3_FilterChainMatch_mutable_source_prefix_ranges(envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) {
160
+ return (struct envoy_config_core_v3_CidrRange**)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 64), len);
161
+ }
162
+ UPB_INLINE struct envoy_config_core_v3_CidrRange** envoy_config_listener_v3_FilterChainMatch_resize_source_prefix_ranges(envoy_config_listener_v3_FilterChainMatch *msg, size_t len, upb_arena *arena) {
163
+ return (struct envoy_config_core_v3_CidrRange**)_upb_array_resize_accessor(msg, UPB_SIZE(36, 64), len, UPB_TYPE_MESSAGE, arena);
164
+ }
165
+ UPB_INLINE struct envoy_config_core_v3_CidrRange* envoy_config_listener_v3_FilterChainMatch_add_source_prefix_ranges(envoy_config_listener_v3_FilterChainMatch *msg, upb_arena *arena) {
166
+ struct envoy_config_core_v3_CidrRange* sub = (struct envoy_config_core_v3_CidrRange*)_upb_msg_new(&envoy_config_core_v3_CidrRange_msginit, arena);
167
+ bool ok = _upb_array_append_accessor(
168
+ msg, UPB_SIZE(36, 64), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
169
+ if (!ok) return NULL;
170
+ return sub;
171
+ }
172
+ UPB_INLINE uint32_t* envoy_config_listener_v3_FilterChainMatch_mutable_source_ports(envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) {
173
+ return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 72), len);
174
+ }
175
+ UPB_INLINE uint32_t* envoy_config_listener_v3_FilterChainMatch_resize_source_ports(envoy_config_listener_v3_FilterChainMatch *msg, size_t len, upb_arena *arena) {
176
+ return (uint32_t*)_upb_array_resize_accessor(msg, UPB_SIZE(40, 72), len, UPB_TYPE_UINT32, arena);
177
+ }
178
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_add_source_ports(envoy_config_listener_v3_FilterChainMatch *msg, uint32_t val, upb_arena *arena) {
179
+ return _upb_array_append_accessor(msg, UPB_SIZE(40, 72), UPB_SIZE(4, 4), UPB_TYPE_UINT32, &val,
180
+ arena);
181
+ }
182
+ UPB_INLINE void envoy_config_listener_v3_FilterChainMatch_set_destination_port(envoy_config_listener_v3_FilterChainMatch *msg, struct google_protobuf_UInt32Value* value) {
183
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), struct google_protobuf_UInt32Value*) = value;
184
+ }
185
+ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_listener_v3_FilterChainMatch_mutable_destination_port(envoy_config_listener_v3_FilterChainMatch *msg, upb_arena *arena) {
186
+ struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_listener_v3_FilterChainMatch_destination_port(msg);
187
+ if (sub == NULL) {
188
+ sub = (struct google_protobuf_UInt32Value*)_upb_msg_new(&google_protobuf_UInt32Value_msginit, arena);
189
+ if (!sub) return NULL;
190
+ envoy_config_listener_v3_FilterChainMatch_set_destination_port(msg, sub);
191
+ }
192
+ return sub;
193
+ }
194
+ UPB_INLINE void envoy_config_listener_v3_FilterChainMatch_set_transport_protocol(envoy_config_listener_v3_FilterChainMatch *msg, upb_strview value) {
195
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview) = value;
196
+ }
197
+ UPB_INLINE upb_strview* envoy_config_listener_v3_FilterChainMatch_mutable_application_protocols(envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) {
198
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(44, 80), len);
199
+ }
200
+ UPB_INLINE upb_strview* envoy_config_listener_v3_FilterChainMatch_resize_application_protocols(envoy_config_listener_v3_FilterChainMatch *msg, size_t len, upb_arena *arena) {
201
+ return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(44, 80), len, UPB_TYPE_STRING, arena);
202
+ }
203
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_add_application_protocols(envoy_config_listener_v3_FilterChainMatch *msg, upb_strview val, upb_arena *arena) {
204
+ return _upb_array_append_accessor(msg, UPB_SIZE(44, 80), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
205
+ arena);
206
+ }
207
+ UPB_INLINE upb_strview* envoy_config_listener_v3_FilterChainMatch_mutable_server_names(envoy_config_listener_v3_FilterChainMatch *msg, size_t *len) {
208
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(48, 88), len);
209
+ }
210
+ UPB_INLINE upb_strview* envoy_config_listener_v3_FilterChainMatch_resize_server_names(envoy_config_listener_v3_FilterChainMatch *msg, size_t len, upb_arena *arena) {
211
+ return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(48, 88), len, UPB_TYPE_STRING, arena);
212
+ }
213
+ UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_add_server_names(envoy_config_listener_v3_FilterChainMatch *msg, upb_strview val, upb_arena *arena) {
214
+ return _upb_array_append_accessor(msg, UPB_SIZE(48, 88), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
215
+ arena);
216
+ }
217
+ UPB_INLINE void envoy_config_listener_v3_FilterChainMatch_set_source_type(envoy_config_listener_v3_FilterChainMatch *msg, int32_t value) {
218
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
219
+ }
220
+
221
+ /* envoy.config.listener.v3.FilterChain */
222
+
223
+ UPB_INLINE envoy_config_listener_v3_FilterChain *envoy_config_listener_v3_FilterChain_new(upb_arena *arena) {
224
+ return (envoy_config_listener_v3_FilterChain *)_upb_msg_new(&envoy_config_listener_v3_FilterChain_msginit, arena);
225
+ }
226
+ UPB_INLINE envoy_config_listener_v3_FilterChain *envoy_config_listener_v3_FilterChain_parse(const char *buf, size_t size,
227
+ upb_arena *arena) {
228
+ envoy_config_listener_v3_FilterChain *ret = envoy_config_listener_v3_FilterChain_new(arena);
229
+ return (ret && upb_decode(buf, size, ret, &envoy_config_listener_v3_FilterChain_msginit, arena)) ? ret : NULL;
230
+ }
231
+ UPB_INLINE char *envoy_config_listener_v3_FilterChain_serialize(const envoy_config_listener_v3_FilterChain *msg, upb_arena *arena, size_t *len) {
232
+ return upb_encode(msg, &envoy_config_listener_v3_FilterChain_msginit, arena, len);
233
+ }
234
+
235
+ UPB_INLINE bool envoy_config_listener_v3_FilterChain_has_filter_chain_match(const envoy_config_listener_v3_FilterChain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
236
+ UPB_INLINE const envoy_config_listener_v3_FilterChainMatch* envoy_config_listener_v3_FilterChain_filter_chain_match(const envoy_config_listener_v3_FilterChain *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_listener_v3_FilterChainMatch*); }
237
+ UPB_INLINE bool envoy_config_listener_v3_FilterChain_has_filters(const envoy_config_listener_v3_FilterChain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); }
238
+ UPB_INLINE const envoy_config_listener_v3_Filter* const* envoy_config_listener_v3_FilterChain_filters(const envoy_config_listener_v3_FilterChain *msg, size_t *len) { return (const envoy_config_listener_v3_Filter* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len); }
239
+ UPB_INLINE bool envoy_config_listener_v3_FilterChain_has_use_proxy_proto(const envoy_config_listener_v3_FilterChain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
240
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_listener_v3_FilterChain_use_proxy_proto(const envoy_config_listener_v3_FilterChain *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_BoolValue*); }
241
+ UPB_INLINE bool envoy_config_listener_v3_FilterChain_has_metadata(const envoy_config_listener_v3_FilterChain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
242
+ UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_listener_v3_FilterChain_metadata(const envoy_config_listener_v3_FilterChain *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct envoy_config_core_v3_Metadata*); }
243
+ UPB_INLINE bool envoy_config_listener_v3_FilterChain_has_transport_socket(const envoy_config_listener_v3_FilterChain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
244
+ UPB_INLINE const struct envoy_config_core_v3_TransportSocket* envoy_config_listener_v3_FilterChain_transport_socket(const envoy_config_listener_v3_FilterChain *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct envoy_config_core_v3_TransportSocket*); }
245
+ UPB_INLINE upb_strview envoy_config_listener_v3_FilterChain_name(const envoy_config_listener_v3_FilterChain *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
246
+
247
+ UPB_INLINE void envoy_config_listener_v3_FilterChain_set_filter_chain_match(envoy_config_listener_v3_FilterChain *msg, envoy_config_listener_v3_FilterChainMatch* value) {
248
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_listener_v3_FilterChainMatch*) = value;
249
+ }
250
+ UPB_INLINE struct envoy_config_listener_v3_FilterChainMatch* envoy_config_listener_v3_FilterChain_mutable_filter_chain_match(envoy_config_listener_v3_FilterChain *msg, upb_arena *arena) {
251
+ struct envoy_config_listener_v3_FilterChainMatch* sub = (struct envoy_config_listener_v3_FilterChainMatch*)envoy_config_listener_v3_FilterChain_filter_chain_match(msg);
252
+ if (sub == NULL) {
253
+ sub = (struct envoy_config_listener_v3_FilterChainMatch*)_upb_msg_new(&envoy_config_listener_v3_FilterChainMatch_msginit, arena);
254
+ if (!sub) return NULL;
255
+ envoy_config_listener_v3_FilterChain_set_filter_chain_match(msg, sub);
256
+ }
257
+ return sub;
258
+ }
259
+ UPB_INLINE envoy_config_listener_v3_Filter** envoy_config_listener_v3_FilterChain_mutable_filters(envoy_config_listener_v3_FilterChain *msg, size_t *len) {
260
+ return (envoy_config_listener_v3_Filter**)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len);
261
+ }
262
+ UPB_INLINE envoy_config_listener_v3_Filter** envoy_config_listener_v3_FilterChain_resize_filters(envoy_config_listener_v3_FilterChain *msg, size_t len, upb_arena *arena) {
263
+ return (envoy_config_listener_v3_Filter**)_upb_array_resize_accessor(msg, UPB_SIZE(24, 48), len, UPB_TYPE_MESSAGE, arena);
264
+ }
265
+ UPB_INLINE struct envoy_config_listener_v3_Filter* envoy_config_listener_v3_FilterChain_add_filters(envoy_config_listener_v3_FilterChain *msg, upb_arena *arena) {
266
+ struct envoy_config_listener_v3_Filter* sub = (struct envoy_config_listener_v3_Filter*)_upb_msg_new(&envoy_config_listener_v3_Filter_msginit, arena);
267
+ bool ok = _upb_array_append_accessor(
268
+ msg, UPB_SIZE(24, 48), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
269
+ if (!ok) return NULL;
270
+ return sub;
271
+ }
272
+ UPB_INLINE void envoy_config_listener_v3_FilterChain_set_use_proxy_proto(envoy_config_listener_v3_FilterChain *msg, struct google_protobuf_BoolValue* value) {
273
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_BoolValue*) = value;
274
+ }
275
+ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_listener_v3_FilterChain_mutable_use_proxy_proto(envoy_config_listener_v3_FilterChain *msg, upb_arena *arena) {
276
+ struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_listener_v3_FilterChain_use_proxy_proto(msg);
277
+ if (sub == NULL) {
278
+ sub = (struct google_protobuf_BoolValue*)_upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
279
+ if (!sub) return NULL;
280
+ envoy_config_listener_v3_FilterChain_set_use_proxy_proto(msg, sub);
281
+ }
282
+ return sub;
283
+ }
284
+ UPB_INLINE void envoy_config_listener_v3_FilterChain_set_metadata(envoy_config_listener_v3_FilterChain *msg, struct envoy_config_core_v3_Metadata* value) {
285
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct envoy_config_core_v3_Metadata*) = value;
286
+ }
287
+ UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_listener_v3_FilterChain_mutable_metadata(envoy_config_listener_v3_FilterChain *msg, upb_arena *arena) {
288
+ struct envoy_config_core_v3_Metadata* sub = (struct envoy_config_core_v3_Metadata*)envoy_config_listener_v3_FilterChain_metadata(msg);
289
+ if (sub == NULL) {
290
+ sub = (struct envoy_config_core_v3_Metadata*)_upb_msg_new(&envoy_config_core_v3_Metadata_msginit, arena);
291
+ if (!sub) return NULL;
292
+ envoy_config_listener_v3_FilterChain_set_metadata(msg, sub);
293
+ }
294
+ return sub;
295
+ }
296
+ UPB_INLINE void envoy_config_listener_v3_FilterChain_set_transport_socket(envoy_config_listener_v3_FilterChain *msg, struct envoy_config_core_v3_TransportSocket* value) {
297
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct envoy_config_core_v3_TransportSocket*) = value;
298
+ }
299
+ UPB_INLINE struct envoy_config_core_v3_TransportSocket* envoy_config_listener_v3_FilterChain_mutable_transport_socket(envoy_config_listener_v3_FilterChain *msg, upb_arena *arena) {
300
+ struct envoy_config_core_v3_TransportSocket* sub = (struct envoy_config_core_v3_TransportSocket*)envoy_config_listener_v3_FilterChain_transport_socket(msg);
301
+ if (sub == NULL) {
302
+ sub = (struct envoy_config_core_v3_TransportSocket*)_upb_msg_new(&envoy_config_core_v3_TransportSocket_msginit, arena);
303
+ if (!sub) return NULL;
304
+ envoy_config_listener_v3_FilterChain_set_transport_socket(msg, sub);
305
+ }
306
+ return sub;
307
+ }
308
+ UPB_INLINE void envoy_config_listener_v3_FilterChain_set_name(envoy_config_listener_v3_FilterChain *msg, upb_strview value) {
309
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
310
+ }
311
+
312
+ /* envoy.config.listener.v3.ListenerFilterChainMatchPredicate */
313
+
314
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate *envoy_config_listener_v3_ListenerFilterChainMatchPredicate_new(upb_arena *arena) {
315
+ return (envoy_config_listener_v3_ListenerFilterChainMatchPredicate *)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, arena);
316
+ }
317
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate *envoy_config_listener_v3_ListenerFilterChainMatchPredicate_parse(const char *buf, size_t size,
318
+ upb_arena *arena) {
319
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate *ret = envoy_config_listener_v3_ListenerFilterChainMatchPredicate_new(arena);
320
+ return (ret && upb_decode(buf, size, ret, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, arena)) ? ret : NULL;
321
+ }
322
+ UPB_INLINE char *envoy_config_listener_v3_ListenerFilterChainMatchPredicate_serialize(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, upb_arena *arena, size_t *len) {
323
+ return upb_encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, arena, len);
324
+ }
325
+
326
+ typedef enum {
327
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_or_match = 1,
328
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_and_match = 2,
329
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_not_match = 3,
330
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_any_match = 4,
331
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_destination_port_range = 5,
332
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_NOT_SET = 0
333
+ } envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_oneofcases;
334
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_oneofcases envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_case(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* msg) { return (envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 8), int32_t); }
335
+
336
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_has_or_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 1; }
337
+ UPB_INLINE const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_or_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return UPB_READ_ONEOF(msg, const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 1, NULL); }
338
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_has_and_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 2; }
339
+ UPB_INLINE const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_and_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return UPB_READ_ONEOF(msg, const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 2, NULL); }
340
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_has_not_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 3; }
341
+ UPB_INLINE const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_not_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return UPB_READ_ONEOF(msg, const envoy_config_listener_v3_ListenerFilterChainMatchPredicate*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 3, NULL); }
342
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_has_any_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 4; }
343
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_any_match(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 4, false); }
344
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_has_destination_port_range(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 5; }
345
+ UPB_INLINE const struct envoy_type_v3_Int32Range* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_destination_port_range(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_v3_Int32Range*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 5, NULL); }
346
+
347
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_or_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* value) {
348
+ UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 1);
349
+ }
350
+ UPB_INLINE struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_mutable_or_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, upb_arena *arena) {
351
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*)envoy_config_listener_v3_ListenerFilterChainMatchPredicate_or_match(msg);
352
+ if (sub == NULL) {
353
+ sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, arena);
354
+ if (!sub) return NULL;
355
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_or_match(msg, sub);
356
+ }
357
+ return sub;
358
+ }
359
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_and_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* value) {
360
+ UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 2);
361
+ }
362
+ UPB_INLINE struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_mutable_and_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, upb_arena *arena) {
363
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*)envoy_config_listener_v3_ListenerFilterChainMatchPredicate_and_match(msg);
364
+ if (sub == NULL) {
365
+ sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, arena);
366
+ if (!sub) return NULL;
367
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_and_match(msg, sub);
368
+ }
369
+ return sub;
370
+ }
371
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_not_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate* value) {
372
+ UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 3);
373
+ }
374
+ UPB_INLINE struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_mutable_not_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, upb_arena *arena) {
375
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate* sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate*)envoy_config_listener_v3_ListenerFilterChainMatchPredicate_not_match(msg);
376
+ if (sub == NULL) {
377
+ sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate*)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, arena);
378
+ if (!sub) return NULL;
379
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_not_match(msg, sub);
380
+ }
381
+ return sub;
382
+ }
383
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_any_match(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, bool value) {
384
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 4);
385
+ }
386
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_destination_port_range(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, struct envoy_type_v3_Int32Range* value) {
387
+ UPB_WRITE_ONEOF(msg, struct envoy_type_v3_Int32Range*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 5);
388
+ }
389
+ UPB_INLINE struct envoy_type_v3_Int32Range* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_mutable_destination_port_range(envoy_config_listener_v3_ListenerFilterChainMatchPredicate *msg, upb_arena *arena) {
390
+ struct envoy_type_v3_Int32Range* sub = (struct envoy_type_v3_Int32Range*)envoy_config_listener_v3_ListenerFilterChainMatchPredicate_destination_port_range(msg);
391
+ if (sub == NULL) {
392
+ sub = (struct envoy_type_v3_Int32Range*)_upb_msg_new(&envoy_type_v3_Int32Range_msginit, arena);
393
+ if (!sub) return NULL;
394
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_set_destination_port_range(msg, sub);
395
+ }
396
+ return sub;
397
+ }
398
+
399
+ /* envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet */
400
+
401
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_new(upb_arena *arena) {
402
+ return (envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, arena);
403
+ }
404
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_parse(const char *buf, size_t size,
405
+ upb_arena *arena) {
406
+ envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *ret = envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_new(arena);
407
+ return (ret && upb_decode(buf, size, ret, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, arena)) ? ret : NULL;
408
+ }
409
+ UPB_INLINE char *envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_serialize(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *msg, upb_arena *arena, size_t *len) {
410
+ return upb_encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, arena, len);
411
+ }
412
+
413
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_has_rules(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
414
+ UPB_INLINE const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* const* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_rules(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *msg, size_t *len) { return (const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
415
+
416
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate** envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_mutable_rules(envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *msg, size_t *len) {
417
+ return (envoy_config_listener_v3_ListenerFilterChainMatchPredicate**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
418
+ }
419
+ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate** envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_resize_rules(envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *msg, size_t len, upb_arena *arena) {
420
+ return (envoy_config_listener_v3_ListenerFilterChainMatchPredicate**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_TYPE_MESSAGE, arena);
421
+ }
422
+ UPB_INLINE struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_add_rules(envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet *msg, upb_arena *arena) {
423
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate* sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate*)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, arena);
424
+ bool ok = _upb_array_append_accessor(
425
+ msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
426
+ if (!ok) return NULL;
427
+ return sub;
428
+ }
429
+
430
+ /* envoy.config.listener.v3.ListenerFilter */
431
+
432
+ UPB_INLINE envoy_config_listener_v3_ListenerFilter *envoy_config_listener_v3_ListenerFilter_new(upb_arena *arena) {
433
+ return (envoy_config_listener_v3_ListenerFilter *)_upb_msg_new(&envoy_config_listener_v3_ListenerFilter_msginit, arena);
434
+ }
435
+ UPB_INLINE envoy_config_listener_v3_ListenerFilter *envoy_config_listener_v3_ListenerFilter_parse(const char *buf, size_t size,
436
+ upb_arena *arena) {
437
+ envoy_config_listener_v3_ListenerFilter *ret = envoy_config_listener_v3_ListenerFilter_new(arena);
438
+ return (ret && upb_decode(buf, size, ret, &envoy_config_listener_v3_ListenerFilter_msginit, arena)) ? ret : NULL;
439
+ }
440
+ UPB_INLINE char *envoy_config_listener_v3_ListenerFilter_serialize(const envoy_config_listener_v3_ListenerFilter *msg, upb_arena *arena, size_t *len) {
441
+ return upb_encode(msg, &envoy_config_listener_v3_ListenerFilter_msginit, arena, len);
442
+ }
443
+
444
+ typedef enum {
445
+ envoy_config_listener_v3_ListenerFilter_config_type_typed_config = 3,
446
+ envoy_config_listener_v3_ListenerFilter_config_type_NOT_SET = 0
447
+ } envoy_config_listener_v3_ListenerFilter_config_type_oneofcases;
448
+ UPB_INLINE envoy_config_listener_v3_ListenerFilter_config_type_oneofcases envoy_config_listener_v3_ListenerFilter_config_type_case(const envoy_config_listener_v3_ListenerFilter* msg) { return (envoy_config_listener_v3_ListenerFilter_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(16, 32), int32_t); }
449
+
450
+ UPB_INLINE upb_strview envoy_config_listener_v3_ListenerFilter_name(const envoy_config_listener_v3_ListenerFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
451
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilter_has_typed_config(const envoy_config_listener_v3_ListenerFilter *msg) { return _upb_getoneofcase(msg, UPB_SIZE(16, 32)) == 3; }
452
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_listener_v3_ListenerFilter_typed_config(const envoy_config_listener_v3_ListenerFilter *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(12, 24), UPB_SIZE(16, 32), 3, NULL); }
453
+ UPB_INLINE bool envoy_config_listener_v3_ListenerFilter_has_filter_disabled(const envoy_config_listener_v3_ListenerFilter *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
454
+ UPB_INLINE const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* envoy_config_listener_v3_ListenerFilter_filter_disabled(const envoy_config_listener_v3_ListenerFilter *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_listener_v3_ListenerFilterChainMatchPredicate*); }
455
+
456
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilter_set_name(envoy_config_listener_v3_ListenerFilter *msg, upb_strview value) {
457
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
458
+ }
459
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilter_set_typed_config(envoy_config_listener_v3_ListenerFilter *msg, struct google_protobuf_Any* value) {
460
+ UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(12, 24), value, UPB_SIZE(16, 32), 3);
461
+ }
462
+ UPB_INLINE struct google_protobuf_Any* envoy_config_listener_v3_ListenerFilter_mutable_typed_config(envoy_config_listener_v3_ListenerFilter *msg, upb_arena *arena) {
463
+ struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_listener_v3_ListenerFilter_typed_config(msg);
464
+ if (sub == NULL) {
465
+ sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
466
+ if (!sub) return NULL;
467
+ envoy_config_listener_v3_ListenerFilter_set_typed_config(msg, sub);
468
+ }
469
+ return sub;
470
+ }
471
+ UPB_INLINE void envoy_config_listener_v3_ListenerFilter_set_filter_disabled(envoy_config_listener_v3_ListenerFilter *msg, envoy_config_listener_v3_ListenerFilterChainMatchPredicate* value) {
472
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_listener_v3_ListenerFilterChainMatchPredicate*) = value;
473
+ }
474
+ UPB_INLINE struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate* envoy_config_listener_v3_ListenerFilter_mutable_filter_disabled(envoy_config_listener_v3_ListenerFilter *msg, upb_arena *arena) {
475
+ struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate* sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate*)envoy_config_listener_v3_ListenerFilter_filter_disabled(msg);
476
+ if (sub == NULL) {
477
+ sub = (struct envoy_config_listener_v3_ListenerFilterChainMatchPredicate*)_upb_msg_new(&envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, arena);
478
+ if (!sub) return NULL;
479
+ envoy_config_listener_v3_ListenerFilter_set_filter_disabled(msg, sub);
480
+ }
481
+ return sub;
482
+ }
483
+
484
+ #ifdef __cplusplus
485
+ } /* extern "C" */
486
+ #endif
487
+
488
+ #include "upb/port_undef.inc"
489
+
490
+ #endif /* ENVOY_CONFIG_LISTENER_V3_LISTENER_COMPONENTS_PROTO_UPB_H_ */