grpc 1.34.0 → 1.35.0.pre1

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

Potentially problematic release.


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

Files changed (458) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +808 -2787
  3. data/etc/roots.pem +257 -573
  4. data/include/grpc/compression.h +1 -1
  5. data/include/grpc/grpc.h +14 -0
  6. data/include/grpc/grpc_security.h +61 -3
  7. data/include/grpc/impl/codegen/atm_windows.h +4 -0
  8. data/include/grpc/impl/codegen/byte_buffer.h +1 -1
  9. data/include/grpc/impl/codegen/grpc_types.h +1 -1
  10. data/include/grpc/impl/codegen/log.h +0 -2
  11. data/include/grpc/impl/codegen/sync_windows.h +4 -0
  12. data/include/grpc/slice_buffer.h +3 -3
  13. data/include/grpc/support/sync.h +3 -3
  14. data/include/grpc/support/time.h +7 -7
  15. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -4
  16. data/src/core/ext/filters/client_channel/client_channel.cc +2734 -1498
  17. data/src/core/ext/filters/client_channel/client_channel.h +0 -4
  18. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +4 -0
  20. data/src/core/ext/filters/client_channel/dynamic_filters.cc +186 -0
  21. data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
  22. data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -6
  23. data/src/core/ext/filters/client_channel/health/health_check_client.h +2 -2
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +4 -5
  25. data/src/core/ext/filters/client_channel/http_proxy.cc +21 -20
  26. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy.h +2 -3
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +32 -30
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +3 -3
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +162 -20
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -8
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +24 -0
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -2
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +1 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1262 -0
  37. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +7 -14
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -32
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  40. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +454 -16
  41. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -0
  42. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -9
  43. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
  44. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +18 -31
  45. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +3 -5
  46. data/src/core/ext/filters/client_channel/resolver_factory.h +6 -6
  47. data/src/core/ext/filters/client_channel/resolver_registry.cc +40 -39
  48. data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
  49. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +11 -13
  50. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +8 -8
  51. data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -3
  52. data/src/core/ext/filters/client_channel/retry_throttle.h +3 -1
  53. data/src/core/ext/filters/client_channel/service_config_call_data.h +19 -1
  54. data/src/core/ext/filters/client_channel/subchannel.cc +34 -50
  55. data/src/core/ext/filters/client_channel/subchannel.h +12 -18
  56. data/src/core/ext/filters/deadline/deadline_filter.cc +4 -2
  57. data/src/core/ext/filters/http/client_authority_filter.cc +6 -6
  58. data/src/core/ext/filters/http/http_filters_plugin.cc +6 -3
  59. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  60. data/src/core/ext/filters/workarounds/workaround_utils.cc +1 -1
  61. data/src/core/ext/transport/chttp2/client/authority.cc +3 -3
  62. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +20 -8
  63. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +21 -10
  64. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +26 -14
  65. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +178 -86
  66. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -5
  67. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +7 -8
  68. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -1
  69. data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -1
  70. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
  71. data/src/core/ext/transport/chttp2/transport/writing.cc +1 -1
  72. data/src/core/ext/transport/inproc/inproc_transport.cc +42 -8
  73. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -0
  74. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  75. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
  76. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -27
  77. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +139 -40
  78. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +13 -13
  79. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +44 -17
  80. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +111 -111
  81. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +424 -241
  82. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  83. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +13 -5
  84. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +22 -22
  85. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +47 -21
  86. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +21 -21
  87. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +88 -39
  88. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
  89. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +15 -6
  90. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +44 -44
  91. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +200 -78
  92. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +17 -17
  93. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +72 -35
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +7 -0
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +7 -7
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +27 -11
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +30 -30
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +136 -49
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +39 -39
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +157 -89
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +17 -9
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +47 -47
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +163 -78
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +7 -0
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +2 -2
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +9 -2
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +7 -0
  112. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +13 -13
  113. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +59 -36
  114. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +16 -16
  115. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +61 -29
  116. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +26 -26
  117. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +101 -66
  118. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  119. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -3
  120. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +28 -28
  121. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +122 -77
  122. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +23 -23
  123. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +106 -54
  124. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +2 -2
  125. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +13 -0
  126. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +16 -16
  127. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +81 -35
  128. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -7
  129. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +38 -22
  130. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +203 -203
  131. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +845 -495
  132. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +5 -5
  133. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +26 -6
  134. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +3 -3
  135. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +17 -3
  136. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +87 -87
  137. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +343 -204
  138. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -0
  139. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +20 -20
  140. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +85 -46
  141. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +7 -7
  142. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +33 -11
  143. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +32 -32
  144. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +118 -67
  145. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +1 -1
  146. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +7 -0
  147. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  148. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +7 -0
  149. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +29 -29
  150. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +120 -82
  151. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +1 -1
  152. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +7 -0
  153. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +1 -1
  154. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +7 -0
  155. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +7 -7
  156. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +31 -16
  157. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +1 -1
  158. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +7 -0
  159. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +1 -1
  160. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +7 -0
  161. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +5 -5
  162. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -11
  163. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
  164. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +7 -0
  165. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
  166. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +7 -0
  167. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +6 -6
  168. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +29 -8
  169. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +2 -2
  170. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +16 -3
  171. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
  172. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +19 -0
  173. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
  174. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +46 -3
  175. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +8 -8
  176. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +41 -8
  177. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -0
  178. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +3 -3
  179. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +15 -2
  180. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +3 -3
  181. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +19 -0
  182. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
  183. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +7 -0
  184. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -0
  185. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +34 -34
  186. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +149 -72
  187. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +34 -34
  188. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +142 -59
  189. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  190. data/src/core/ext/upb-generated/google/api/http.upb.h +25 -6
  191. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  192. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +7 -0
  193. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +90 -90
  194. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +455 -292
  195. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  196. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +7 -0
  197. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  198. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +7 -0
  199. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +4 -4
  200. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +22 -3
  201. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  202. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +7 -0
  203. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +9 -9
  204. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +55 -0
  205. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  206. data/src/core/ext/upb-generated/google/rpc/status.upb.h +10 -3
  207. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +4 -4
  208. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -3
  209. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +41 -41
  210. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +149 -76
  211. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -5
  212. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -6
  213. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  214. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +13 -0
  215. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +17 -17
  216. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +82 -25
  217. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  218. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +19 -0
  219. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
  220. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
  221. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -0
  222. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +2 -2
  223. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +9 -2
  224. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
  225. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
  226. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +1 -1
  227. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +7 -0
  228. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +5 -5
  229. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +21 -7
  230. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +2 -2
  231. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +7 -0
  232. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +4 -4
  233. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +17 -8
  234. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +7 -7
  235. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +31 -18
  236. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +5 -5
  237. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +19 -11
  238. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +3 -3
  239. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +7 -0
  240. data/src/core/ext/upb-generated/validate/validate.upb.c +64 -64
  241. data/src/core/ext/upb-generated/validate/validate.upb.h +296 -157
  242. data/src/core/ext/xds/certificate_provider_store.cc +10 -7
  243. data/src/core/ext/xds/certificate_provider_store.h +12 -7
  244. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +25 -0
  245. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -4
  246. data/src/core/ext/xds/xds_api.cc +220 -31
  247. data/src/core/ext/xds/xds_api.h +41 -10
  248. data/src/core/ext/xds/xds_bootstrap.h +0 -1
  249. data/src/core/ext/xds/xds_certificate_provider.cc +61 -2
  250. data/src/core/ext/xds/xds_certificate_provider.h +40 -2
  251. data/src/core/ext/xds/xds_client.cc +31 -29
  252. data/src/core/ext/xds/xds_client.h +6 -1
  253. data/src/core/ext/xds/xds_client_stats.cc +2 -2
  254. data/src/core/ext/xds/xds_server_config_fetcher.cc +131 -0
  255. data/src/core/lib/channel/channel_args.cc +8 -8
  256. data/src/core/lib/channel/channel_trace.h +1 -1
  257. data/src/core/lib/channel/channelz.cc +13 -14
  258. data/src/core/lib/channel/channelz.h +0 -1
  259. data/src/core/lib/channel/channelz_registry.h +0 -1
  260. data/src/core/lib/channel/handshaker.cc +2 -2
  261. data/src/core/lib/compression/compression_args.cc +3 -2
  262. data/src/core/lib/debug/stats.h +2 -2
  263. data/src/core/lib/debug/stats_data.h +13 -13
  264. data/src/core/lib/gpr/alloc.cc +3 -2
  265. data/src/core/lib/gpr/log.cc +53 -16
  266. data/src/core/lib/gpr/log_linux.cc +3 -1
  267. data/src/core/lib/gpr/log_posix.cc +3 -1
  268. data/src/core/lib/gpr/log_windows.cc +3 -1
  269. data/src/core/lib/gpr/spinlock.h +10 -2
  270. data/src/core/lib/gpr/string.cc +22 -21
  271. data/src/core/lib/gpr/string.h +5 -6
  272. data/src/core/lib/gpr/sync.cc +4 -4
  273. data/src/core/lib/gpr/time.cc +12 -12
  274. data/src/core/lib/gprpp/arena.h +3 -2
  275. data/src/core/lib/gprpp/ref_counted.h +2 -2
  276. data/src/core/lib/gprpp/ref_counted_ptr.h +9 -1
  277. data/src/core/lib/gprpp/thd_posix.cc +6 -1
  278. data/src/core/lib/gprpp/thd_windows.cc +3 -1
  279. data/src/core/lib/http/httpcli.cc +1 -1
  280. data/src/core/lib/http/httpcli.h +2 -3
  281. data/src/core/lib/http/httpcli_security_connector.cc +1 -1
  282. data/src/core/lib/http/parser.cc +1 -2
  283. data/src/core/lib/iomgr/call_combiner.cc +8 -5
  284. data/src/core/lib/iomgr/combiner.cc +2 -1
  285. data/src/core/lib/iomgr/endpoint.h +1 -1
  286. data/src/core/lib/iomgr/error.cc +15 -11
  287. data/src/core/lib/iomgr/error_internal.h +1 -1
  288. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -13
  289. data/src/core/lib/iomgr/ev_epollex_linux.cc +17 -13
  290. data/src/core/lib/iomgr/ev_poll_posix.cc +9 -7
  291. data/src/core/lib/iomgr/exec_ctx.h +6 -4
  292. data/src/core/lib/iomgr/executor.cc +2 -1
  293. data/src/core/lib/iomgr/executor.h +1 -1
  294. data/src/core/lib/iomgr/executor/threadpool.h +1 -1
  295. data/src/core/lib/iomgr/iomgr.cc +1 -1
  296. data/src/core/lib/iomgr/load_file.h +1 -1
  297. data/src/core/lib/iomgr/lockfree_event.cc +19 -14
  298. data/src/core/lib/iomgr/lockfree_event.h +2 -2
  299. data/src/core/lib/iomgr/parse_address.cc +52 -46
  300. data/src/core/lib/iomgr/parse_address.h +13 -9
  301. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +1 -1
  302. data/src/core/lib/iomgr/pollset_set_custom.cc +1 -1
  303. data/src/core/lib/iomgr/python_util.h +1 -1
  304. data/src/core/lib/iomgr/resolve_address.cc +4 -4
  305. data/src/core/lib/iomgr/resource_quota.cc +4 -4
  306. data/src/core/lib/iomgr/sockaddr_utils.cc +10 -10
  307. data/src/core/lib/iomgr/sockaddr_utils.h +1 -1
  308. data/src/core/lib/iomgr/socket_factory_posix.cc +3 -2
  309. data/src/core/lib/iomgr/socket_mutator.cc +3 -2
  310. data/src/core/lib/iomgr/tcp_client.cc +3 -3
  311. data/src/core/lib/iomgr/tcp_client_custom.cc +7 -6
  312. data/src/core/lib/iomgr/tcp_custom.cc +22 -17
  313. data/src/core/lib/iomgr/tcp_posix.cc +9 -6
  314. data/src/core/lib/iomgr/tcp_server_custom.cc +28 -22
  315. data/src/core/lib/iomgr/timer_custom.cc +3 -3
  316. data/src/core/lib/iomgr/timer_generic.cc +3 -3
  317. data/src/core/lib/iomgr/timer_manager.cc +2 -2
  318. data/src/core/lib/iomgr/udp_server.cc +1 -2
  319. data/src/core/lib/iomgr/udp_server.h +1 -2
  320. data/src/core/lib/iomgr/unix_sockets_posix.cc +17 -18
  321. data/src/core/lib/json/json.h +10 -0
  322. data/src/core/lib/security/authorization/evaluate_args.cc +5 -10
  323. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  324. data/src/core/lib/security/context/security_context.cc +4 -3
  325. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  326. data/src/core/lib/security/credentials/credentials.cc +6 -6
  327. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +413 -0
  328. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +80 -0
  329. data/src/core/lib/security/credentials/external/aws_request_signer.cc +15 -10
  330. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -2
  331. data/src/core/lib/security/credentials/external/external_account_credentials.cc +217 -31
  332. data/src/core/lib/security/credentials/external/external_account_credentials.h +7 -5
  333. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
  334. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +3 -4
  335. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +20 -18
  336. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +5 -6
  337. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -1
  338. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +18 -12
  339. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +18 -5
  340. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
  341. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +3 -3
  342. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +37 -44
  343. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -4
  344. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +1 -1
  345. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +5 -5
  346. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
  347. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +1 -6
  348. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +1 -6
  349. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +326 -5
  350. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +64 -0
  351. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +1 -1
  352. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -1
  353. data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
  354. data/src/core/lib/security/credentials/tls/tls_utils.cc +91 -0
  355. data/src/core/lib/security/credentials/tls/tls_utils.h +38 -0
  356. data/src/core/lib/security/credentials/xds/xds_credentials.cc +140 -10
  357. data/src/core/lib/security/credentials/xds/xds_credentials.h +27 -9
  358. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
  359. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
  360. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +46 -13
  361. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +23 -6
  362. data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
  363. data/src/core/lib/security/security_connector/security_connector.cc +3 -2
  364. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -4
  365. data/src/core/lib/security/security_connector/ssl_utils.cc +2 -2
  366. data/src/core/lib/security/security_connector/ssl_utils.h +12 -19
  367. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +57 -12
  368. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +2 -3
  369. data/src/core/lib/security/transport/secure_endpoint.cc +2 -2
  370. data/src/core/lib/security/transport/security_handshaker.cc +2 -2
  371. data/src/core/lib/slice/slice_intern.cc +4 -5
  372. data/src/core/lib/slice/slice_internal.h +2 -2
  373. data/src/core/lib/surface/call.cc +32 -24
  374. data/src/core/lib/surface/call_details.cc +8 -8
  375. data/src/core/lib/surface/channel.cc +16 -10
  376. data/src/core/lib/surface/channel.h +3 -2
  377. data/src/core/lib/surface/channel_init.cc +1 -1
  378. data/src/core/lib/surface/completion_queue.cc +23 -18
  379. data/src/core/lib/surface/completion_queue.h +16 -16
  380. data/src/core/lib/surface/init.cc +6 -5
  381. data/src/core/lib/surface/lame_client.cc +20 -46
  382. data/src/core/lib/surface/lame_client.h +4 -0
  383. data/src/core/lib/surface/server.cc +59 -15
  384. data/src/core/lib/surface/server.h +37 -5
  385. data/src/core/lib/surface/version.cc +1 -1
  386. data/src/core/lib/transport/authority_override.cc +6 -4
  387. data/src/core/lib/transport/authority_override.h +5 -2
  388. data/src/core/lib/transport/connectivity_state.h +6 -4
  389. data/src/core/lib/transport/error_utils.h +1 -1
  390. data/src/core/lib/transport/metadata_batch.h +4 -4
  391. data/src/core/lib/transport/static_metadata.cc +1 -1
  392. data/src/core/lib/transport/status_metadata.cc +4 -3
  393. data/src/core/lib/transport/transport.h +7 -7
  394. data/src/core/lib/uri/uri_parser.cc +131 -249
  395. data/src/core/lib/uri/uri_parser.h +57 -21
  396. data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -4
  397. data/src/core/tsi/alts/crypt/gsec.cc +5 -4
  398. data/src/core/tsi/alts/frame_protector/frame_handler.cc +8 -6
  399. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  400. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +23 -23
  401. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
  402. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -4
  403. data/src/core/tsi/fake_transport_security.cc +5 -3
  404. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  405. data/src/core/tsi/ssl_transport_security.cc +62 -49
  406. data/src/core/tsi/ssl_transport_security.h +6 -6
  407. data/src/core/tsi/transport_security.cc +6 -6
  408. data/src/core/tsi/transport_security_interface.h +1 -1
  409. data/src/ruby/ext/grpc/rb_event_thread.c +2 -0
  410. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -0
  411. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +31 -13
  412. data/src/ruby/lib/grpc/version.rb +1 -1
  413. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +28 -0
  414. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +18 -0
  415. data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
  416. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
  417. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
  418. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +399 -0
  419. data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
  420. data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
  421. data/third_party/upb/third_party/wyhash/wyhash.h +145 -0
  422. data/third_party/upb/upb/decode.c +248 -167
  423. data/third_party/upb/upb/decode.h +20 -1
  424. data/third_party/upb/upb/decode.int.h +163 -0
  425. data/third_party/upb/upb/decode_fast.c +1040 -0
  426. data/third_party/upb/upb/decode_fast.h +126 -0
  427. data/third_party/upb/upb/def.c +525 -516
  428. data/third_party/upb/upb/def.h +16 -31
  429. data/third_party/upb/upb/def.hpp +37 -123
  430. data/third_party/upb/upb/encode.c +227 -169
  431. data/third_party/upb/upb/encode.h +27 -2
  432. data/third_party/upb/upb/json_decode.c +1443 -0
  433. data/third_party/upb/upb/json_decode.h +23 -0
  434. data/third_party/upb/upb/json_encode.c +713 -0
  435. data/third_party/upb/upb/json_encode.h +36 -0
  436. data/third_party/upb/upb/msg.c +167 -88
  437. data/third_party/upb/upb/msg.h +174 -34
  438. data/third_party/upb/upb/port_def.inc +74 -61
  439. data/third_party/upb/upb/port_undef.inc +3 -7
  440. data/third_party/upb/upb/reflection.c +36 -19
  441. data/third_party/upb/upb/table.c +34 -197
  442. data/third_party/upb/upb/table.int.h +14 -5
  443. data/third_party/upb/upb/text_encode.c +45 -22
  444. data/third_party/upb/upb/text_encode.h +4 -1
  445. data/third_party/upb/upb/upb.c +18 -41
  446. data/third_party/upb/upb/upb.h +36 -7
  447. data/third_party/upb/upb/upb.hpp +4 -4
  448. data/third_party/upb/upb/upb.int.h +29 -0
  449. metadata +60 -46
  450. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -909
  451. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
  452. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
  453. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -355
  454. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -138
  455. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +0 -265
  456. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +0 -104
  457. data/src/core/lib/gprpp/map.h +0 -53
  458. data/third_party/upb/upb/port.c +0 -26
@@ -20,7 +20,7 @@ static const upb_msglayout_field google_protobuf_Duration__fields[2] = {
20
20
  const upb_msglayout google_protobuf_Duration_msginit = {
21
21
  NULL,
22
22
  &google_protobuf_Duration__fields[0],
23
- UPB_SIZE(16, 16), 2, false,
23
+ UPB_SIZE(16, 16), 2, false, 255,
24
24
  };
25
25
 
26
26
  #include "upb/port_undef.inc"
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "upb/msg.h"
13
13
  #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -34,6 +35,12 @@ UPB_INLINE google_protobuf_Duration *google_protobuf_Duration_parse(const char *
34
35
  google_protobuf_Duration *ret = google_protobuf_Duration_new(arena);
35
36
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Duration_msginit, arena)) ? ret : NULL;
36
37
  }
38
+ UPB_INLINE google_protobuf_Duration *google_protobuf_Duration_parse_ex(const char *buf, size_t size,
39
+ upb_arena *arena, int options) {
40
+ google_protobuf_Duration *ret = google_protobuf_Duration_new(arena);
41
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Duration_msginit, arena, options))
42
+ ? ret : NULL;
43
+ }
37
44
  UPB_INLINE char *google_protobuf_Duration_serialize(const google_protobuf_Duration *msg, upb_arena *arena, size_t *len) {
38
45
  return upb_encode(msg, &google_protobuf_Duration_msginit, arena, len);
39
46
  }
@@ -15,7 +15,7 @@
15
15
  const upb_msglayout google_protobuf_Empty_msginit = {
16
16
  NULL,
17
17
  NULL,
18
- UPB_SIZE(0, 0), 0, false,
18
+ UPB_SIZE(0, 0), 0, false, 255,
19
19
  };
20
20
 
21
21
  #include "upb/port_undef.inc"
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "upb/msg.h"
13
13
  #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -34,6 +35,12 @@ UPB_INLINE google_protobuf_Empty *google_protobuf_Empty_parse(const char *buf, s
34
35
  google_protobuf_Empty *ret = google_protobuf_Empty_new(arena);
35
36
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Empty_msginit, arena)) ? ret : NULL;
36
37
  }
38
+ UPB_INLINE google_protobuf_Empty *google_protobuf_Empty_parse_ex(const char *buf, size_t size,
39
+ upb_arena *arena, int options) {
40
+ google_protobuf_Empty *ret = google_protobuf_Empty_new(arena);
41
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Empty_msginit, arena, options))
42
+ ? ret : NULL;
43
+ }
37
44
  UPB_INLINE char *google_protobuf_Empty_serialize(const google_protobuf_Empty *msg, upb_arena *arena, size_t *len) {
38
45
  return upb_encode(msg, &google_protobuf_Empty_msginit, arena, len);
39
46
  }
@@ -23,7 +23,7 @@ static const upb_msglayout_field google_protobuf_Struct__fields[1] = {
23
23
  const upb_msglayout google_protobuf_Struct_msginit = {
24
24
  &google_protobuf_Struct_submsgs[0],
25
25
  &google_protobuf_Struct__fields[0],
26
- UPB_SIZE(4, 8), 1, false,
26
+ UPB_SIZE(8, 8), 1, false, 255,
27
27
  };
28
28
 
29
29
  static const upb_msglayout *const google_protobuf_Struct_FieldsEntry_submsgs[1] = {
@@ -38,7 +38,7 @@ static const upb_msglayout_field google_protobuf_Struct_FieldsEntry__fields[2] =
38
38
  const upb_msglayout google_protobuf_Struct_FieldsEntry_msginit = {
39
39
  &google_protobuf_Struct_FieldsEntry_submsgs[0],
40
40
  &google_protobuf_Struct_FieldsEntry__fields[0],
41
- UPB_SIZE(16, 32), 2, false,
41
+ UPB_SIZE(16, 32), 2, false, 255,
42
42
  };
43
43
 
44
44
  static const upb_msglayout *const google_protobuf_Value_submsgs[2] = {
@@ -58,7 +58,7 @@ static const upb_msglayout_field google_protobuf_Value__fields[6] = {
58
58
  const upb_msglayout google_protobuf_Value_msginit = {
59
59
  &google_protobuf_Value_submsgs[0],
60
60
  &google_protobuf_Value__fields[0],
61
- UPB_SIZE(16, 32), 6, false,
61
+ UPB_SIZE(16, 32), 6, false, 255,
62
62
  };
63
63
 
64
64
  static const upb_msglayout *const google_protobuf_ListValue_submsgs[1] = {
@@ -72,7 +72,7 @@ static const upb_msglayout_field google_protobuf_ListValue__fields[1] = {
72
72
  const upb_msglayout google_protobuf_ListValue_msginit = {
73
73
  &google_protobuf_ListValue_submsgs[0],
74
74
  &google_protobuf_ListValue__fields[0],
75
- UPB_SIZE(4, 8), 1, false,
75
+ UPB_SIZE(8, 8), 1, false, 255,
76
76
  };
77
77
 
78
78
  #include "upb/port_undef.inc"
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "upb/msg.h"
13
13
  #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -47,6 +48,12 @@ UPB_INLINE google_protobuf_Struct *google_protobuf_Struct_parse(const char *buf,
47
48
  google_protobuf_Struct *ret = google_protobuf_Struct_new(arena);
48
49
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Struct_msginit, arena)) ? ret : NULL;
49
50
  }
51
+ UPB_INLINE google_protobuf_Struct *google_protobuf_Struct_parse_ex(const char *buf, size_t size,
52
+ upb_arena *arena, int options) {
53
+ google_protobuf_Struct *ret = google_protobuf_Struct_new(arena);
54
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Struct_msginit, arena, options))
55
+ ? ret : NULL;
56
+ }
50
57
  UPB_INLINE char *google_protobuf_Struct_serialize(const google_protobuf_Struct *msg, upb_arena *arena, size_t *len) {
51
58
  return upb_encode(msg, &google_protobuf_Struct_msginit, arena, len);
52
59
  }
@@ -89,6 +96,12 @@ UPB_INLINE google_protobuf_Value *google_protobuf_Value_parse(const char *buf, s
89
96
  google_protobuf_Value *ret = google_protobuf_Value_new(arena);
90
97
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Value_msginit, arena)) ? ret : NULL;
91
98
  }
99
+ UPB_INLINE google_protobuf_Value *google_protobuf_Value_parse_ex(const char *buf, size_t size,
100
+ upb_arena *arena, int options) {
101
+ google_protobuf_Value *ret = google_protobuf_Value_new(arena);
102
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Value_msginit, arena, options))
103
+ ? ret : NULL;
104
+ }
92
105
  UPB_INLINE char *google_protobuf_Value_serialize(const google_protobuf_Value *msg, upb_arena *arena, size_t *len) {
93
106
  return upb_encode(msg, &google_protobuf_Value_msginit, arena, len);
94
107
  }
@@ -164,6 +177,12 @@ UPB_INLINE google_protobuf_ListValue *google_protobuf_ListValue_parse(const char
164
177
  google_protobuf_ListValue *ret = google_protobuf_ListValue_new(arena);
165
178
  return (ret && upb_decode(buf, size, ret, &google_protobuf_ListValue_msginit, arena)) ? ret : NULL;
166
179
  }
180
+ UPB_INLINE google_protobuf_ListValue *google_protobuf_ListValue_parse_ex(const char *buf, size_t size,
181
+ upb_arena *arena, int options) {
182
+ google_protobuf_ListValue *ret = google_protobuf_ListValue_new(arena);
183
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_ListValue_msginit, arena, options))
184
+ ? ret : NULL;
185
+ }
167
186
  UPB_INLINE char *google_protobuf_ListValue_serialize(const google_protobuf_ListValue *msg, upb_arena *arena, size_t *len) {
168
187
  return upb_encode(msg, &google_protobuf_ListValue_msginit, arena, len);
169
188
  }
@@ -175,12 +194,12 @@ UPB_INLINE google_protobuf_Value** google_protobuf_ListValue_mutable_values(goog
175
194
  return (google_protobuf_Value**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
176
195
  }
177
196
  UPB_INLINE google_protobuf_Value** google_protobuf_ListValue_resize_values(google_protobuf_ListValue *msg, size_t len, upb_arena *arena) {
178
- return (google_protobuf_Value**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_TYPE_MESSAGE, arena);
197
+ return (google_protobuf_Value**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena);
179
198
  }
180
199
  UPB_INLINE struct google_protobuf_Value* google_protobuf_ListValue_add_values(google_protobuf_ListValue *msg, upb_arena *arena) {
181
200
  struct google_protobuf_Value* sub = (struct google_protobuf_Value*)_upb_msg_new(&google_protobuf_Value_msginit, arena);
182
- bool ok = _upb_array_append_accessor(
183
- msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
201
+ bool ok = _upb_array_append_accessor2(
202
+ msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena);
184
203
  if (!ok) return NULL;
185
204
  return sub;
186
205
  }
@@ -20,7 +20,7 @@ static const upb_msglayout_field google_protobuf_Timestamp__fields[2] = {
20
20
  const upb_msglayout google_protobuf_Timestamp_msginit = {
21
21
  NULL,
22
22
  &google_protobuf_Timestamp__fields[0],
23
- UPB_SIZE(16, 16), 2, false,
23
+ UPB_SIZE(16, 16), 2, false, 255,
24
24
  };
25
25
 
26
26
  #include "upb/port_undef.inc"
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "upb/msg.h"
13
13
  #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -34,6 +35,12 @@ UPB_INLINE google_protobuf_Timestamp *google_protobuf_Timestamp_parse(const char
34
35
  google_protobuf_Timestamp *ret = google_protobuf_Timestamp_new(arena);
35
36
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Timestamp_msginit, arena)) ? ret : NULL;
36
37
  }
38
+ UPB_INLINE google_protobuf_Timestamp *google_protobuf_Timestamp_parse_ex(const char *buf, size_t size,
39
+ upb_arena *arena, int options) {
40
+ google_protobuf_Timestamp *ret = google_protobuf_Timestamp_new(arena);
41
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Timestamp_msginit, arena, options))
42
+ ? ret : NULL;
43
+ }
37
44
  UPB_INLINE char *google_protobuf_Timestamp_serialize(const google_protobuf_Timestamp *msg, upb_arena *arena, size_t *len) {
38
45
  return upb_encode(msg, &google_protobuf_Timestamp_msginit, arena, len);
39
46
  }
@@ -19,7 +19,7 @@ static const upb_msglayout_field google_protobuf_DoubleValue__fields[1] = {
19
19
  const upb_msglayout google_protobuf_DoubleValue_msginit = {
20
20
  NULL,
21
21
  &google_protobuf_DoubleValue__fields[0],
22
- UPB_SIZE(8, 8), 1, false,
22
+ UPB_SIZE(8, 8), 1, false, 255,
23
23
  };
24
24
 
25
25
  static const upb_msglayout_field google_protobuf_FloatValue__fields[1] = {
@@ -29,7 +29,7 @@ static const upb_msglayout_field google_protobuf_FloatValue__fields[1] = {
29
29
  const upb_msglayout google_protobuf_FloatValue_msginit = {
30
30
  NULL,
31
31
  &google_protobuf_FloatValue__fields[0],
32
- UPB_SIZE(4, 4), 1, false,
32
+ UPB_SIZE(8, 8), 1, false, 255,
33
33
  };
34
34
 
35
35
  static const upb_msglayout_field google_protobuf_Int64Value__fields[1] = {
@@ -39,7 +39,7 @@ static const upb_msglayout_field google_protobuf_Int64Value__fields[1] = {
39
39
  const upb_msglayout google_protobuf_Int64Value_msginit = {
40
40
  NULL,
41
41
  &google_protobuf_Int64Value__fields[0],
42
- UPB_SIZE(8, 8), 1, false,
42
+ UPB_SIZE(8, 8), 1, false, 255,
43
43
  };
44
44
 
45
45
  static const upb_msglayout_field google_protobuf_UInt64Value__fields[1] = {
@@ -49,7 +49,7 @@ static const upb_msglayout_field google_protobuf_UInt64Value__fields[1] = {
49
49
  const upb_msglayout google_protobuf_UInt64Value_msginit = {
50
50
  NULL,
51
51
  &google_protobuf_UInt64Value__fields[0],
52
- UPB_SIZE(8, 8), 1, false,
52
+ UPB_SIZE(8, 8), 1, false, 255,
53
53
  };
54
54
 
55
55
  static const upb_msglayout_field google_protobuf_Int32Value__fields[1] = {
@@ -59,7 +59,7 @@ static const upb_msglayout_field google_protobuf_Int32Value__fields[1] = {
59
59
  const upb_msglayout google_protobuf_Int32Value_msginit = {
60
60
  NULL,
61
61
  &google_protobuf_Int32Value__fields[0],
62
- UPB_SIZE(4, 4), 1, false,
62
+ UPB_SIZE(8, 8), 1, false, 255,
63
63
  };
64
64
 
65
65
  static const upb_msglayout_field google_protobuf_UInt32Value__fields[1] = {
@@ -69,7 +69,7 @@ static const upb_msglayout_field google_protobuf_UInt32Value__fields[1] = {
69
69
  const upb_msglayout google_protobuf_UInt32Value_msginit = {
70
70
  NULL,
71
71
  &google_protobuf_UInt32Value__fields[0],
72
- UPB_SIZE(4, 4), 1, false,
72
+ UPB_SIZE(8, 8), 1, false, 255,
73
73
  };
74
74
 
75
75
  static const upb_msglayout_field google_protobuf_BoolValue__fields[1] = {
@@ -79,7 +79,7 @@ static const upb_msglayout_field google_protobuf_BoolValue__fields[1] = {
79
79
  const upb_msglayout google_protobuf_BoolValue_msginit = {
80
80
  NULL,
81
81
  &google_protobuf_BoolValue__fields[0],
82
- UPB_SIZE(1, 1), 1, false,
82
+ UPB_SIZE(8, 8), 1, false, 255,
83
83
  };
84
84
 
85
85
  static const upb_msglayout_field google_protobuf_StringValue__fields[1] = {
@@ -89,7 +89,7 @@ static const upb_msglayout_field google_protobuf_StringValue__fields[1] = {
89
89
  const upb_msglayout google_protobuf_StringValue_msginit = {
90
90
  NULL,
91
91
  &google_protobuf_StringValue__fields[0],
92
- UPB_SIZE(8, 16), 1, false,
92
+ UPB_SIZE(8, 16), 1, false, 255,
93
93
  };
94
94
 
95
95
  static const upb_msglayout_field google_protobuf_BytesValue__fields[1] = {
@@ -99,7 +99,7 @@ static const upb_msglayout_field google_protobuf_BytesValue__fields[1] = {
99
99
  const upb_msglayout google_protobuf_BytesValue_msginit = {
100
100
  NULL,
101
101
  &google_protobuf_BytesValue__fields[0],
102
- UPB_SIZE(8, 16), 1, false,
102
+ UPB_SIZE(8, 16), 1, false, 255,
103
103
  };
104
104
 
105
105
  #include "upb/port_undef.inc"
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "upb/msg.h"
13
13
  #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -58,6 +59,12 @@ UPB_INLINE google_protobuf_DoubleValue *google_protobuf_DoubleValue_parse(const
58
59
  google_protobuf_DoubleValue *ret = google_protobuf_DoubleValue_new(arena);
59
60
  return (ret && upb_decode(buf, size, ret, &google_protobuf_DoubleValue_msginit, arena)) ? ret : NULL;
60
61
  }
62
+ UPB_INLINE google_protobuf_DoubleValue *google_protobuf_DoubleValue_parse_ex(const char *buf, size_t size,
63
+ upb_arena *arena, int options) {
64
+ google_protobuf_DoubleValue *ret = google_protobuf_DoubleValue_new(arena);
65
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_DoubleValue_msginit, arena, options))
66
+ ? ret : NULL;
67
+ }
61
68
  UPB_INLINE char *google_protobuf_DoubleValue_serialize(const google_protobuf_DoubleValue *msg, upb_arena *arena, size_t *len) {
62
69
  return upb_encode(msg, &google_protobuf_DoubleValue_msginit, arena, len);
63
70
  }
@@ -78,6 +85,12 @@ UPB_INLINE google_protobuf_FloatValue *google_protobuf_FloatValue_parse(const ch
78
85
  google_protobuf_FloatValue *ret = google_protobuf_FloatValue_new(arena);
79
86
  return (ret && upb_decode(buf, size, ret, &google_protobuf_FloatValue_msginit, arena)) ? ret : NULL;
80
87
  }
88
+ UPB_INLINE google_protobuf_FloatValue *google_protobuf_FloatValue_parse_ex(const char *buf, size_t size,
89
+ upb_arena *arena, int options) {
90
+ google_protobuf_FloatValue *ret = google_protobuf_FloatValue_new(arena);
91
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_FloatValue_msginit, arena, options))
92
+ ? ret : NULL;
93
+ }
81
94
  UPB_INLINE char *google_protobuf_FloatValue_serialize(const google_protobuf_FloatValue *msg, upb_arena *arena, size_t *len) {
82
95
  return upb_encode(msg, &google_protobuf_FloatValue_msginit, arena, len);
83
96
  }
@@ -98,6 +111,12 @@ UPB_INLINE google_protobuf_Int64Value *google_protobuf_Int64Value_parse(const ch
98
111
  google_protobuf_Int64Value *ret = google_protobuf_Int64Value_new(arena);
99
112
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Int64Value_msginit, arena)) ? ret : NULL;
100
113
  }
114
+ UPB_INLINE google_protobuf_Int64Value *google_protobuf_Int64Value_parse_ex(const char *buf, size_t size,
115
+ upb_arena *arena, int options) {
116
+ google_protobuf_Int64Value *ret = google_protobuf_Int64Value_new(arena);
117
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Int64Value_msginit, arena, options))
118
+ ? ret : NULL;
119
+ }
101
120
  UPB_INLINE char *google_protobuf_Int64Value_serialize(const google_protobuf_Int64Value *msg, upb_arena *arena, size_t *len) {
102
121
  return upb_encode(msg, &google_protobuf_Int64Value_msginit, arena, len);
103
122
  }
@@ -118,6 +137,12 @@ UPB_INLINE google_protobuf_UInt64Value *google_protobuf_UInt64Value_parse(const
118
137
  google_protobuf_UInt64Value *ret = google_protobuf_UInt64Value_new(arena);
119
138
  return (ret && upb_decode(buf, size, ret, &google_protobuf_UInt64Value_msginit, arena)) ? ret : NULL;
120
139
  }
140
+ UPB_INLINE google_protobuf_UInt64Value *google_protobuf_UInt64Value_parse_ex(const char *buf, size_t size,
141
+ upb_arena *arena, int options) {
142
+ google_protobuf_UInt64Value *ret = google_protobuf_UInt64Value_new(arena);
143
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_UInt64Value_msginit, arena, options))
144
+ ? ret : NULL;
145
+ }
121
146
  UPB_INLINE char *google_protobuf_UInt64Value_serialize(const google_protobuf_UInt64Value *msg, upb_arena *arena, size_t *len) {
122
147
  return upb_encode(msg, &google_protobuf_UInt64Value_msginit, arena, len);
123
148
  }
@@ -138,6 +163,12 @@ UPB_INLINE google_protobuf_Int32Value *google_protobuf_Int32Value_parse(const ch
138
163
  google_protobuf_Int32Value *ret = google_protobuf_Int32Value_new(arena);
139
164
  return (ret && upb_decode(buf, size, ret, &google_protobuf_Int32Value_msginit, arena)) ? ret : NULL;
140
165
  }
166
+ UPB_INLINE google_protobuf_Int32Value *google_protobuf_Int32Value_parse_ex(const char *buf, size_t size,
167
+ upb_arena *arena, int options) {
168
+ google_protobuf_Int32Value *ret = google_protobuf_Int32Value_new(arena);
169
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_Int32Value_msginit, arena, options))
170
+ ? ret : NULL;
171
+ }
141
172
  UPB_INLINE char *google_protobuf_Int32Value_serialize(const google_protobuf_Int32Value *msg, upb_arena *arena, size_t *len) {
142
173
  return upb_encode(msg, &google_protobuf_Int32Value_msginit, arena, len);
143
174
  }
@@ -158,6 +189,12 @@ UPB_INLINE google_protobuf_UInt32Value *google_protobuf_UInt32Value_parse(const
158
189
  google_protobuf_UInt32Value *ret = google_protobuf_UInt32Value_new(arena);
159
190
  return (ret && upb_decode(buf, size, ret, &google_protobuf_UInt32Value_msginit, arena)) ? ret : NULL;
160
191
  }
192
+ UPB_INLINE google_protobuf_UInt32Value *google_protobuf_UInt32Value_parse_ex(const char *buf, size_t size,
193
+ upb_arena *arena, int options) {
194
+ google_protobuf_UInt32Value *ret = google_protobuf_UInt32Value_new(arena);
195
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_UInt32Value_msginit, arena, options))
196
+ ? ret : NULL;
197
+ }
161
198
  UPB_INLINE char *google_protobuf_UInt32Value_serialize(const google_protobuf_UInt32Value *msg, upb_arena *arena, size_t *len) {
162
199
  return upb_encode(msg, &google_protobuf_UInt32Value_msginit, arena, len);
163
200
  }
@@ -178,6 +215,12 @@ UPB_INLINE google_protobuf_BoolValue *google_protobuf_BoolValue_parse(const char
178
215
  google_protobuf_BoolValue *ret = google_protobuf_BoolValue_new(arena);
179
216
  return (ret && upb_decode(buf, size, ret, &google_protobuf_BoolValue_msginit, arena)) ? ret : NULL;
180
217
  }
218
+ UPB_INLINE google_protobuf_BoolValue *google_protobuf_BoolValue_parse_ex(const char *buf, size_t size,
219
+ upb_arena *arena, int options) {
220
+ google_protobuf_BoolValue *ret = google_protobuf_BoolValue_new(arena);
221
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_BoolValue_msginit, arena, options))
222
+ ? ret : NULL;
223
+ }
181
224
  UPB_INLINE char *google_protobuf_BoolValue_serialize(const google_protobuf_BoolValue *msg, upb_arena *arena, size_t *len) {
182
225
  return upb_encode(msg, &google_protobuf_BoolValue_msginit, arena, len);
183
226
  }
@@ -198,6 +241,12 @@ UPB_INLINE google_protobuf_StringValue *google_protobuf_StringValue_parse(const
198
241
  google_protobuf_StringValue *ret = google_protobuf_StringValue_new(arena);
199
242
  return (ret && upb_decode(buf, size, ret, &google_protobuf_StringValue_msginit, arena)) ? ret : NULL;
200
243
  }
244
+ UPB_INLINE google_protobuf_StringValue *google_protobuf_StringValue_parse_ex(const char *buf, size_t size,
245
+ upb_arena *arena, int options) {
246
+ google_protobuf_StringValue *ret = google_protobuf_StringValue_new(arena);
247
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_StringValue_msginit, arena, options))
248
+ ? ret : NULL;
249
+ }
201
250
  UPB_INLINE char *google_protobuf_StringValue_serialize(const google_protobuf_StringValue *msg, upb_arena *arena, size_t *len) {
202
251
  return upb_encode(msg, &google_protobuf_StringValue_msginit, arena, len);
203
252
  }
@@ -218,6 +267,12 @@ UPB_INLINE google_protobuf_BytesValue *google_protobuf_BytesValue_parse(const ch
218
267
  google_protobuf_BytesValue *ret = google_protobuf_BytesValue_new(arena);
219
268
  return (ret && upb_decode(buf, size, ret, &google_protobuf_BytesValue_msginit, arena)) ? ret : NULL;
220
269
  }
270
+ UPB_INLINE google_protobuf_BytesValue *google_protobuf_BytesValue_parse_ex(const char *buf, size_t size,
271
+ upb_arena *arena, int options) {
272
+ google_protobuf_BytesValue *ret = google_protobuf_BytesValue_new(arena);
273
+ return (ret && _upb_decode(buf, size, ret, &google_protobuf_BytesValue_msginit, arena, options))
274
+ ? ret : NULL;
275
+ }
221
276
  UPB_INLINE char *google_protobuf_BytesValue_serialize(const google_protobuf_BytesValue *msg, upb_arena *arena, size_t *len) {
222
277
  return upb_encode(msg, &google_protobuf_BytesValue_msginit, arena, len);
223
278
  }
@@ -26,7 +26,7 @@ static const upb_msglayout_field google_rpc_Status__fields[3] = {
26
26
  const upb_msglayout google_rpc_Status_msginit = {
27
27
  &google_rpc_Status_submsgs[0],
28
28
  &google_rpc_Status__fields[0],
29
- UPB_SIZE(16, 32), 3, false,
29
+ UPB_SIZE(16, 32), 3, false, 255,
30
30
  };
31
31
 
32
32
  #include "upb/port_undef.inc"
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "upb/msg.h"
13
13
  #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -36,6 +37,12 @@ UPB_INLINE google_rpc_Status *google_rpc_Status_parse(const char *buf, size_t si
36
37
  google_rpc_Status *ret = google_rpc_Status_new(arena);
37
38
  return (ret && upb_decode(buf, size, ret, &google_rpc_Status_msginit, arena)) ? ret : NULL;
38
39
  }
40
+ UPB_INLINE google_rpc_Status *google_rpc_Status_parse_ex(const char *buf, size_t size,
41
+ upb_arena *arena, int options) {
42
+ google_rpc_Status *ret = google_rpc_Status_new(arena);
43
+ return (ret && _upb_decode(buf, size, ret, &google_rpc_Status_msginit, arena, options))
44
+ ? ret : NULL;
45
+ }
39
46
  UPB_INLINE char *google_rpc_Status_serialize(const google_rpc_Status *msg, upb_arena *arena, size_t *len) {
40
47
  return upb_encode(msg, &google_rpc_Status_msginit, arena, len);
41
48
  }
@@ -55,12 +62,12 @@ UPB_INLINE struct google_protobuf_Any** google_rpc_Status_mutable_details(google
55
62
  return (struct google_protobuf_Any**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
56
63
  }
57
64
  UPB_INLINE struct google_protobuf_Any** google_rpc_Status_resize_details(google_rpc_Status *msg, size_t len, upb_arena *arena) {
58
- return (struct google_protobuf_Any**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_TYPE_MESSAGE, arena);
65
+ return (struct google_protobuf_Any**)_upb_array_resize_accessor2(msg, UPB_SIZE(12, 24), len, UPB_SIZE(2, 3), arena);
59
66
  }
60
67
  UPB_INLINE struct google_protobuf_Any* google_rpc_Status_add_details(google_rpc_Status *msg, upb_arena *arena) {
61
68
  struct google_protobuf_Any* sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
62
- bool ok = _upb_array_append_accessor(
63
- msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
69
+ bool ok = _upb_array_append_accessor2(
70
+ msg, UPB_SIZE(12, 24), UPB_SIZE(2, 3), &sub, arena);
64
71
  if (!ok) return NULL;
65
72
  return sub;
66
73
  }
@@ -21,17 +21,17 @@ static const upb_msglayout *const grpc_gcp_AltsContext_submsgs[2] = {
21
21
  static const upb_msglayout_field grpc_gcp_AltsContext__fields[7] = {
22
22
  {1, UPB_SIZE(8, 8), 0, 0, 9, 1},
23
23
  {2, UPB_SIZE(16, 24), 0, 0, 9, 1},
24
- {3, UPB_SIZE(0, 0), 0, 0, 14, 1},
24
+ {3, UPB_SIZE(4, 4), 0, 0, 14, 1},
25
25
  {4, UPB_SIZE(24, 40), 0, 0, 9, 1},
26
26
  {5, UPB_SIZE(32, 56), 0, 0, 9, 1},
27
- {6, UPB_SIZE(40, 72), 0, 1, 11, 1},
27
+ {6, UPB_SIZE(40, 72), 1, 1, 11, 1},
28
28
  {7, UPB_SIZE(44, 80), 0, 0, 11, _UPB_LABEL_MAP},
29
29
  };
30
30
 
31
31
  const upb_msglayout grpc_gcp_AltsContext_msginit = {
32
32
  &grpc_gcp_AltsContext_submsgs[0],
33
33
  &grpc_gcp_AltsContext__fields[0],
34
- UPB_SIZE(48, 96), 7, false,
34
+ UPB_SIZE(48, 96), 7, false, 255,
35
35
  };
36
36
 
37
37
  static const upb_msglayout_field grpc_gcp_AltsContext_PeerAttributesEntry__fields[2] = {
@@ -42,7 +42,7 @@ static const upb_msglayout_field grpc_gcp_AltsContext_PeerAttributesEntry__field
42
42
  const upb_msglayout grpc_gcp_AltsContext_PeerAttributesEntry_msginit = {
43
43
  NULL,
44
44
  &grpc_gcp_AltsContext_PeerAttributesEntry__fields[0],
45
- UPB_SIZE(16, 32), 2, false,
45
+ UPB_SIZE(16, 32), 2, false, 255,
46
46
  };
47
47
 
48
48
  #include "upb/port_undef.inc"