grpc 1.30.0 → 1.31.1

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 (383) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +560 -619
  3. data/include/grpc/grpc_security.h +8 -0
  4. data/include/grpc/grpc_security_constants.h +3 -0
  5. data/include/grpc/impl/codegen/grpc_types.h +7 -5
  6. data/include/grpc/impl/codegen/port_platform.h +0 -32
  7. data/src/core/ext/filters/client_channel/backend_metric.cc +12 -9
  8. data/src/core/ext/filters/client_channel/client_channel.cc +406 -261
  9. data/src/core/ext/filters/client_channel/config_selector.cc +62 -0
  10. data/src/core/ext/filters/client_channel/config_selector.h +93 -0
  11. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -2
  12. data/src/core/ext/filters/client_channel/health/health_check_client.cc +2 -0
  13. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +6 -5
  14. data/src/core/ext/filters/client_channel/http_proxy.cc +6 -4
  15. data/src/core/ext/filters/client_channel/lb_policy.h +2 -0
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +39 -23
  17. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +4 -6
  18. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -4
  19. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +381 -72
  20. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -5
  21. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +5 -2
  22. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +6 -5
  23. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +8 -6
  24. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +9 -7
  25. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +7 -5
  26. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -48
  27. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
  28. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +21 -18
  29. data/src/core/ext/filters/client_channel/resolver_registry.cc +13 -14
  30. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +6 -7
  31. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +33 -28
  32. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +39 -20
  33. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
  34. data/src/core/ext/filters/client_channel/subchannel.cc +1 -1
  35. data/src/core/ext/filters/client_channel/xds/xds_api.cc +327 -123
  36. data/src/core/ext/filters/client_channel/xds/xds_api.h +72 -7
  37. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +12 -23
  38. data/src/core/ext/filters/client_channel/xds/xds_client.cc +112 -33
  39. data/src/core/ext/filters/client_channel/xds/xds_client_stats.h +10 -10
  40. data/src/core/ext/filters/http/client/http_client_filter.cc +5 -5
  41. data/src/core/ext/filters/http/http_filters_plugin.cc +2 -1
  42. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +74 -33
  43. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +3 -1
  44. data/src/core/ext/filters/message_size/message_size_filter.cc +56 -80
  45. data/src/core/ext/filters/message_size/message_size_filter.h +6 -0
  46. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +383 -347
  47. data/src/core/ext/transport/chttp2/server/chttp2_server.h +6 -2
  48. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +1 -1
  49. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -13
  50. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +7 -8
  51. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +19 -4
  52. data/src/core/ext/transport/chttp2/transport/flow_control.cc +22 -27
  53. data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -16
  54. data/src/core/ext/transport/chttp2/transport/frame_data.cc +9 -12
  55. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -6
  56. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  57. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -13
  58. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -7
  59. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +9 -12
  60. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -29
  61. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +13 -17
  62. data/src/core/ext/transport/chttp2/transport/internal.h +13 -0
  63. data/src/core/ext/transport/chttp2/transport/parsing.cc +33 -43
  64. data/src/core/ext/transport/chttp2/transport/writing.cc +9 -14
  65. data/src/core/ext/transport/inproc/inproc_transport.cc +35 -15
  66. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -1
  67. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +3 -4
  68. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -1
  69. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +80 -69
  70. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +24 -23
  71. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +66 -56
  72. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +1 -2
  73. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +2 -2
  74. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +317 -311
  75. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +42 -34
  76. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +7 -7
  77. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +79 -61
  78. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +55 -49
  79. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +9 -8
  80. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +1 -1
  81. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +163 -169
  82. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +51 -45
  83. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +4 -5
  84. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +107 -100
  85. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +137 -117
  86. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +9 -9
  87. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +105 -87
  88. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +12 -13
  89. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +1 -1
  90. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +95 -101
  91. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +1 -2
  92. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +1 -1
  93. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +49 -65
  94. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -1
  95. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +49 -42
  96. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +70 -62
  97. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +1 -2
  98. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +81 -65
  99. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -1
  100. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +1 -1
  101. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +91 -80
  102. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +9 -10
  103. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +1 -2
  104. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +36 -31
  105. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -1
  106. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +7 -7
  107. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +648 -696
  108. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +16 -15
  109. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +1 -2
  110. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +1 -1
  111. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +95 -88
  112. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +234 -199
  113. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +5 -5
  114. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +13 -13
  115. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +1 -2
  116. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +20 -18
  117. data/src/core/ext/upb-generated/envoy/type/http.upb.h +0 -1
  118. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +18 -17
  119. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +14 -14
  120. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +23 -23
  121. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +8 -9
  122. data/src/core/ext/upb-generated/envoy/type/range.upb.h +15 -16
  123. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +7 -8
  124. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +36 -35
  125. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -1
  126. data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -1
  127. data/src/core/ext/upb-generated/google/api/http.upb.h +29 -28
  128. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +5 -6
  129. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +3 -3
  130. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +412 -386
  131. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +5 -6
  132. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +1 -2
  133. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +1 -1
  134. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +33 -54
  135. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +5 -6
  136. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -28
  137. data/src/core/ext/upb-generated/google/rpc/status.upb.h +8 -8
  138. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +1 -1
  139. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +32 -45
  140. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +4 -4
  141. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +157 -178
  142. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +14 -13
  143. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -7
  144. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +59 -56
  145. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +11 -12
  146. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -1
  147. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +5 -6
  148. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +6 -6
  149. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +41 -68
  150. data/src/core/ext/upb-generated/validate/validate.upb.h +536 -535
  151. data/src/core/lib/channel/channel_trace.cc +2 -6
  152. data/src/core/lib/channel/channelz.cc +5 -15
  153. data/src/core/lib/gpr/log_linux.cc +6 -8
  154. data/src/core/lib/gpr/log_posix.cc +6 -8
  155. data/src/core/lib/gpr/string.cc +10 -9
  156. data/src/core/lib/gpr/string.h +4 -2
  157. data/src/core/lib/gprpp/global_config_env.cc +8 -6
  158. data/src/core/lib/http/httpcli.cc +13 -10
  159. data/src/core/lib/http/httpcli_security_connector.cc +5 -5
  160. data/src/core/lib/iomgr/cfstream_handle.cc +1 -0
  161. data/src/core/lib/iomgr/endpoint_pair_posix.cc +10 -10
  162. data/src/core/lib/iomgr/error_cfstream.cc +9 -8
  163. data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -6
  164. data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -21
  165. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  166. data/src/core/lib/iomgr/ev_posix.cc +2 -0
  167. data/src/core/lib/iomgr/iomgr.cc +10 -0
  168. data/src/core/lib/iomgr/iomgr.h +10 -0
  169. data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
  170. data/src/core/lib/iomgr/port.h +1 -21
  171. data/src/core/lib/iomgr/resolve_address_custom.cc +13 -18
  172. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -8
  173. data/src/core/lib/iomgr/resource_quota.cc +34 -31
  174. data/src/core/lib/iomgr/sockaddr_utils.cc +7 -5
  175. data/src/core/lib/iomgr/sockaddr_utils.h +1 -1
  176. data/src/core/lib/iomgr/socket_utils_common_posix.cc +95 -55
  177. data/src/core/lib/iomgr/socket_windows.cc +4 -5
  178. data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -11
  179. data/src/core/lib/iomgr/tcp_client_custom.cc +6 -9
  180. data/src/core/lib/iomgr/tcp_client_posix.cc +27 -36
  181. data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
  182. data/src/core/lib/iomgr/tcp_custom.cc +1 -1
  183. data/src/core/lib/iomgr/tcp_custom.h +1 -1
  184. data/src/core/lib/iomgr/tcp_server.cc +3 -4
  185. data/src/core/lib/iomgr/tcp_server.h +7 -5
  186. data/src/core/lib/iomgr/tcp_server_custom.cc +6 -14
  187. data/src/core/lib/iomgr/tcp_server_posix.cc +34 -41
  188. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -4
  189. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -7
  190. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -9
  191. data/src/core/lib/iomgr/tcp_server_windows.cc +16 -16
  192. data/src/core/lib/iomgr/timer_generic.cc +13 -12
  193. data/src/core/lib/iomgr/udp_server.cc +24 -23
  194. data/src/core/lib/iomgr/udp_server.h +5 -2
  195. data/src/core/lib/iomgr/unix_sockets_posix.cc +9 -14
  196. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
  197. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +5 -2
  198. data/src/core/lib/json/json_reader.cc +20 -21
  199. data/src/core/lib/security/credentials/credentials.h +5 -3
  200. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
  201. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +12 -9
  202. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -4
  203. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +19 -28
  204. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -6
  205. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +20 -0
  206. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +10 -0
  207. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +10 -0
  208. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +10 -10
  209. data/src/core/lib/security/security_connector/security_connector.cc +2 -0
  210. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  211. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +18 -11
  212. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +5 -0
  213. data/src/core/lib/security/security_connector/ssl_utils.cc +44 -23
  214. data/src/core/lib/security/security_connector/ssl_utils.h +6 -2
  215. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -24
  216. data/src/core/lib/security/transport/auth_filters.h +0 -5
  217. data/src/core/lib/security/transport/client_auth_filter.cc +10 -9
  218. data/src/core/lib/security/util/json_util.cc +12 -13
  219. data/src/core/lib/slice/slice.cc +38 -1
  220. data/src/core/lib/slice/slice_internal.h +1 -0
  221. data/src/core/lib/surface/call.cc +40 -41
  222. data/src/core/lib/surface/completion_queue.cc +271 -14
  223. data/src/core/lib/surface/completion_queue.h +8 -0
  224. data/src/core/lib/surface/init.cc +2 -0
  225. data/src/core/lib/surface/server.cc +565 -632
  226. data/src/core/lib/surface/server.h +34 -12
  227. data/src/core/lib/surface/version.cc +2 -2
  228. data/src/core/lib/transport/transport.h +6 -0
  229. data/src/core/lib/uri/uri_parser.cc +8 -15
  230. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  231. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +23 -13
  232. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +2 -0
  233. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -0
  234. data/src/core/tsi/ssl_transport_security.cc +108 -11
  235. data/src/core/tsi/ssl_transport_security.h +14 -2
  236. data/src/core/tsi/transport_security_interface.h +5 -0
  237. data/src/ruby/bin/math_services_pb.rb +4 -4
  238. data/src/ruby/ext/grpc/extconf.rb +5 -2
  239. data/src/ruby/ext/grpc/rb_call.c +3 -2
  240. data/src/ruby/ext/grpc/rb_call.h +4 -0
  241. data/src/ruby/ext/grpc/rb_call_credentials.c +57 -12
  242. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
  243. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
  244. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  245. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  246. data/src/ruby/lib/grpc/version.rb +1 -1
  247. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
  248. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +5 -0
  249. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +28 -12
  250. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
  251. data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +2 -0
  252. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  253. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  254. data/src/ruby/spec/pb/codegen/package_option_spec.rb +25 -1
  255. data/src/ruby/spec/support/services.rb +10 -4
  256. data/src/ruby/spec/user_agent_spec.rb +74 -0
  257. data/third_party/boringssl-with-bazel/err_data.c +89 -83
  258. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
  259. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +3 -3
  260. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +1 -1
  261. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -3
  262. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
  263. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
  264. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -1
  265. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
  266. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
  267. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
  268. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
  269. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +1 -0
  270. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +12 -52
  271. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -22
  272. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +143 -0
  273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
  274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +11 -1
  275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +2 -1
  276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +13 -11
  277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +24 -23
  278. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +20 -16
  279. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -2
  280. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
  281. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +62 -0
  282. data/third_party/boringssl-with-bazel/src/crypto/mem.c +29 -15
  283. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
  284. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -5
  285. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +0 -29
  286. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +116 -363
  287. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +7 -45
  288. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +4 -4
  289. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +8 -0
  290. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
  291. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
  292. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +13 -6
  293. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +10 -0
  294. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +41 -0
  295. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +4 -1
  296. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +28 -9
  297. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +25 -0
  298. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +35 -13
  299. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -154
  300. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +28 -6
  301. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +5 -0
  302. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +74 -35
  303. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
  304. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +22 -22
  305. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  306. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +69 -0
  307. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +33 -16
  308. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -10
  309. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +789 -715
  310. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +3 -3
  311. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +9 -2
  312. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -2
  313. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +9 -0
  314. data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -14
  315. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -7
  316. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +28 -0
  317. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +4 -24
  318. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +5 -5
  319. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -24
  320. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +31 -21
  321. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +12 -9
  322. data/third_party/re2/re2/bitmap256.h +117 -0
  323. data/third_party/re2/re2/bitstate.cc +385 -0
  324. data/third_party/re2/re2/compile.cc +1279 -0
  325. data/third_party/re2/re2/dfa.cc +2130 -0
  326. data/third_party/re2/re2/filtered_re2.cc +121 -0
  327. data/third_party/re2/re2/filtered_re2.h +109 -0
  328. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  329. data/third_party/re2/re2/nfa.cc +713 -0
  330. data/third_party/re2/re2/onepass.cc +623 -0
  331. data/third_party/re2/re2/parse.cc +2464 -0
  332. data/third_party/re2/re2/perl_groups.cc +119 -0
  333. data/third_party/re2/re2/pod_array.h +55 -0
  334. data/third_party/re2/re2/prefilter.cc +710 -0
  335. data/third_party/re2/re2/prefilter.h +108 -0
  336. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  337. data/third_party/re2/re2/prefilter_tree.h +139 -0
  338. data/third_party/re2/re2/prog.cc +988 -0
  339. data/third_party/re2/re2/prog.h +436 -0
  340. data/third_party/re2/re2/re2.cc +1362 -0
  341. data/third_party/re2/re2/re2.h +1002 -0
  342. data/third_party/re2/re2/regexp.cc +980 -0
  343. data/third_party/re2/re2/regexp.h +659 -0
  344. data/third_party/re2/re2/set.cc +154 -0
  345. data/third_party/re2/re2/set.h +80 -0
  346. data/third_party/re2/re2/simplify.cc +657 -0
  347. data/third_party/re2/re2/sparse_array.h +392 -0
  348. data/third_party/re2/re2/sparse_set.h +264 -0
  349. data/third_party/re2/re2/stringpiece.cc +65 -0
  350. data/third_party/re2/re2/stringpiece.h +210 -0
  351. data/third_party/re2/re2/tostring.cc +351 -0
  352. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  353. data/third_party/re2/re2/unicode_casefold.h +78 -0
  354. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  355. data/third_party/re2/re2/unicode_groups.h +67 -0
  356. data/third_party/re2/re2/walker-inl.h +246 -0
  357. data/third_party/re2/util/benchmark.h +156 -0
  358. data/third_party/re2/util/flags.h +26 -0
  359. data/third_party/re2/util/logging.h +109 -0
  360. data/third_party/re2/util/malloc_counter.h +19 -0
  361. data/third_party/re2/util/mix.h +41 -0
  362. data/third_party/re2/util/mutex.h +148 -0
  363. data/third_party/re2/util/pcre.cc +1025 -0
  364. data/third_party/re2/util/pcre.h +681 -0
  365. data/third_party/re2/util/rune.cc +260 -0
  366. data/third_party/re2/util/strutil.cc +149 -0
  367. data/third_party/re2/util/strutil.h +21 -0
  368. data/third_party/re2/util/test.h +50 -0
  369. data/third_party/re2/util/utf.h +44 -0
  370. data/third_party/re2/util/util.h +42 -0
  371. data/third_party/upb/upb/decode.c +467 -504
  372. data/third_party/upb/upb/encode.c +163 -121
  373. data/third_party/upb/upb/msg.c +130 -64
  374. data/third_party/upb/upb/msg.h +418 -14
  375. data/third_party/upb/upb/port_def.inc +35 -6
  376. data/third_party/upb/upb/port_undef.inc +8 -1
  377. data/third_party/upb/upb/table.c +53 -75
  378. data/third_party/upb/upb/table.int.h +11 -43
  379. data/third_party/upb/upb/upb.c +148 -124
  380. data/third_party/upb/upb/upb.h +65 -147
  381. data/third_party/upb/upb/upb.hpp +86 -0
  382. metadata +90 -30
  383. data/third_party/upb/upb/generated_util.h +0 -105
@@ -1,8 +1,5 @@
1
1
  /*
2
2
  ** This file contains shared definitions that are widely used across upb.
3
- **
4
- ** This is a mixed C/C++ interface that offers a full API to both languages.
5
- ** See the top-level README for more information.
6
3
  */
7
4
 
8
5
  #ifndef UPB_H_
@@ -15,24 +12,14 @@
15
12
  #include <stdint.h>
16
13
  #include <string.h>
17
14
 
15
+ #include "upb/port_def.inc"
16
+
18
17
  #ifdef __cplusplus
19
- #include <memory>
20
- namespace upb {
21
- class Arena;
22
- class Status;
23
- template <int N> class InlinedArena;
24
- }
18
+ extern "C" {
25
19
  #endif
26
20
 
27
- #include "upb/port_def.inc"
28
-
29
21
  /* upb_status *****************************************************************/
30
22
 
31
- /* upb_status represents a success or failure status and error message.
32
- * It owns no resources and allocates no memory, so it should work
33
- * even in OOM situations. */
34
-
35
- /* The maximum length of an error message before it will get truncated. */
36
23
  #define UPB_STATUS_MAX_MESSAGE 127
37
24
 
38
25
  typedef struct {
@@ -40,58 +27,15 @@ typedef struct {
40
27
  char msg[UPB_STATUS_MAX_MESSAGE]; /* Error message; NULL-terminated. */
41
28
  } upb_status;
42
29
 
43
- #ifdef __cplusplus
44
- extern "C" {
45
- #endif
46
-
47
30
  const char *upb_status_errmsg(const upb_status *status);
48
31
  bool upb_ok(const upb_status *status);
49
32
 
50
- /* Any of the functions that write to a status object allow status to be NULL,
51
- * to support use cases where the function's caller does not care about the
52
- * status message. */
33
+ /* These are no-op if |status| is NULL. */
53
34
  void upb_status_clear(upb_status *status);
54
35
  void upb_status_seterrmsg(upb_status *status, const char *msg);
55
36
  void upb_status_seterrf(upb_status *status, const char *fmt, ...);
56
37
  void upb_status_vseterrf(upb_status *status, const char *fmt, va_list args);
57
-
58
- UPB_INLINE void upb_status_setoom(upb_status *status) {
59
- upb_status_seterrmsg(status, "out of memory");
60
- }
61
-
62
- #ifdef __cplusplus
63
- } /* extern "C" */
64
-
65
- class upb::Status {
66
- public:
67
- Status() { upb_status_clear(&status_); }
68
-
69
- upb_status* ptr() { return &status_; }
70
-
71
- /* Returns true if there is no error. */
72
- bool ok() const { return upb_ok(&status_); }
73
-
74
- /* Guaranteed to be NULL-terminated. */
75
- const char *error_message() const { return upb_status_errmsg(&status_); }
76
-
77
- /* The error message will be truncated if it is longer than
78
- * UPB_STATUS_MAX_MESSAGE-4. */
79
- void SetErrorMessage(const char *msg) { upb_status_seterrmsg(&status_, msg); }
80
- void SetFormattedErrorMessage(const char *fmt, ...) {
81
- va_list args;
82
- va_start(args, fmt);
83
- upb_status_vseterrf(&status_, fmt, args);
84
- va_end(args);
85
- }
86
-
87
- /* Resets the status to a successful state with no message. */
88
- void Clear() { upb_status_clear(&status_); }
89
-
90
- private:
91
- upb_status status_;
92
- };
93
-
94
- #endif /* __cplusplus */
38
+ void upb_status_vappenderrf(upb_status *status, const char *fmt, va_list args);
95
39
 
96
40
  /** upb_strview ************************************************************/
97
41
 
@@ -159,16 +103,8 @@ UPB_INLINE void upb_free(upb_alloc *alloc, void *ptr) {
159
103
 
160
104
  /* The global allocator used by upb. Uses the standard malloc()/free(). */
161
105
 
162
- #ifdef __cplusplus
163
- extern "C" {
164
- #endif
165
-
166
106
  extern upb_alloc upb_alloc_global;
167
107
 
168
- #ifdef __cplusplus
169
- } /* extern "C" */
170
- #endif
171
-
172
108
  /* Functions that hard-code the global malloc.
173
109
  *
174
110
  * We still get benefit because we can put custom logic into our global
@@ -205,9 +141,14 @@ typedef void upb_cleanup_func(void *ud);
205
141
  struct upb_arena;
206
142
  typedef struct upb_arena upb_arena;
207
143
 
208
- #ifdef __cplusplus
209
- extern "C" {
210
- #endif
144
+ typedef struct {
145
+ /* We implement the allocator interface.
146
+ * This must be the first member of upb_arena!
147
+ * TODO(haberman): remove once handlers are gone. */
148
+ upb_alloc alloc;
149
+
150
+ char *ptr, *end;
151
+ } _upb_arena_head;
211
152
 
212
153
  /* Creates an arena from the given initial block (if any -- n may be 0).
213
154
  * Additional blocks will be allocated from |alloc|. If |alloc| is NULL, this
@@ -215,83 +156,40 @@ extern "C" {
215
156
  upb_arena *upb_arena_init(void *mem, size_t n, upb_alloc *alloc);
216
157
  void upb_arena_free(upb_arena *a);
217
158
  bool upb_arena_addcleanup(upb_arena *a, void *ud, upb_cleanup_func *func);
218
- size_t upb_arena_bytesallocated(const upb_arena *a);
159
+ void upb_arena_fuse(upb_arena *a, upb_arena *b);
160
+ void *_upb_arena_slowmalloc(upb_arena *a, size_t size);
219
161
 
220
162
  UPB_INLINE upb_alloc *upb_arena_alloc(upb_arena *a) { return (upb_alloc*)a; }
221
163
 
222
- /* Convenience wrappers around upb_alloc functions. */
223
-
224
164
  UPB_INLINE void *upb_arena_malloc(upb_arena *a, size_t size) {
225
- return upb_malloc(upb_arena_alloc(a), size);
165
+ _upb_arena_head *h = (_upb_arena_head*)a;
166
+ void* ret;
167
+ size = UPB_ALIGN_MALLOC(size);
168
+
169
+ if (UPB_UNLIKELY((size_t)(h->end - h->ptr) < size)) {
170
+ return _upb_arena_slowmalloc(a, size);
171
+ }
172
+
173
+ ret = h->ptr;
174
+ h->ptr += size;
175
+ return ret;
226
176
  }
227
177
 
228
178
  UPB_INLINE void *upb_arena_realloc(upb_arena *a, void *ptr, size_t oldsize,
229
179
  size_t size) {
230
- return upb_realloc(upb_arena_alloc(a), ptr, oldsize, size);
180
+ void *ret = upb_arena_malloc(a, size);
181
+
182
+ if (ret && oldsize > 0) {
183
+ memcpy(ret, ptr, oldsize);
184
+ }
185
+
186
+ return ret;
231
187
  }
232
188
 
233
189
  UPB_INLINE upb_arena *upb_arena_new(void) {
234
190
  return upb_arena_init(NULL, 0, &upb_alloc_global);
235
191
  }
236
192
 
237
- #ifdef __cplusplus
238
- } /* extern "C" */
239
-
240
- class upb::Arena {
241
- public:
242
- /* A simple arena with no initial memory block and the default allocator. */
243
- Arena() : ptr_(upb_arena_new(), upb_arena_free) {}
244
-
245
- upb_arena* ptr() { return ptr_.get(); }
246
-
247
- /* Allows this arena to be used as a generic allocator.
248
- *
249
- * The arena does not need free() calls so when using Arena as an allocator
250
- * it is safe to skip them. However they are no-ops so there is no harm in
251
- * calling free() either. */
252
- upb_alloc *allocator() { return upb_arena_alloc(ptr_.get()); }
253
-
254
- /* Add a cleanup function to run when the arena is destroyed.
255
- * Returns false on out-of-memory. */
256
- bool AddCleanup(void *ud, upb_cleanup_func* func) {
257
- return upb_arena_addcleanup(ptr_.get(), ud, func);
258
- }
259
-
260
- /* Total number of bytes that have been allocated. It is undefined what
261
- * Realloc() does to &arena_ counter. */
262
- size_t BytesAllocated() const { return upb_arena_bytesallocated(ptr_.get()); }
263
-
264
- private:
265
- std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_;
266
- };
267
-
268
- #endif
269
-
270
- /* upb::InlinedArena **********************************************************/
271
-
272
- /* upb::InlinedArena seeds the arenas with a predefined amount of memory. No
273
- * heap memory will be allocated until the initial block is exceeded.
274
- *
275
- * These types only exist in C++ */
276
-
277
- #ifdef __cplusplus
278
-
279
- template <int N> class upb::InlinedArena : public upb::Arena {
280
- public:
281
- InlinedArena() : ptr_(upb_arena_new(&initial_block_, N, &upb_alloc_global)) {}
282
-
283
- upb_arena* ptr() { return ptr_.get(); }
284
-
285
- private:
286
- InlinedArena(const InlinedArena*) = delete;
287
- InlinedArena& operator=(const InlinedArena*) = delete;
288
-
289
- std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_;
290
- char initial_block_[N];
291
- };
292
-
293
- #endif /* __cplusplus */
294
-
295
193
  /* Constants ******************************************************************/
296
194
 
297
195
  /* Generic function type. */
@@ -311,21 +209,17 @@ typedef enum {
311
209
  * types defined in descriptor.proto, which gives INT32 and SINT32 separate
312
210
  * types (we distinguish the two with the "integer encoding" enum below). */
313
211
  typedef enum {
314
- /* Types stored in 1 byte. */
315
212
  UPB_TYPE_BOOL = 1,
316
- /* Types stored in 4 bytes. */
317
213
  UPB_TYPE_FLOAT = 2,
318
214
  UPB_TYPE_INT32 = 3,
319
215
  UPB_TYPE_UINT32 = 4,
320
216
  UPB_TYPE_ENUM = 5, /* Enum values are int32. */
321
- /* Types stored as pointers (probably 4 or 8 bytes). */
322
- UPB_TYPE_STRING = 6,
323
- UPB_TYPE_BYTES = 7,
324
- UPB_TYPE_MESSAGE = 8,
325
- /* Types stored as 8 bytes. */
326
- UPB_TYPE_DOUBLE = 9,
327
- UPB_TYPE_INT64 = 10,
328
- UPB_TYPE_UINT64 = 11
217
+ UPB_TYPE_MESSAGE = 6,
218
+ UPB_TYPE_DOUBLE = 7,
219
+ UPB_TYPE_INT64 = 8,
220
+ UPB_TYPE_UINT64 = 9,
221
+ UPB_TYPE_STRING = 10,
222
+ UPB_TYPE_BYTES = 11
329
223
  } upb_fieldtype_t;
330
224
 
331
225
  /* The repeated-ness of each field; this matches descriptor.proto. */
@@ -337,6 +231,7 @@ typedef enum {
337
231
 
338
232
  /* Descriptor types, as defined in descriptor.proto. */
339
233
  typedef enum {
234
+ /* Old (long) names. TODO(haberman): remove */
340
235
  UPB_DESCRIPTOR_TYPE_DOUBLE = 1,
341
236
  UPB_DESCRIPTOR_TYPE_FLOAT = 2,
342
237
  UPB_DESCRIPTOR_TYPE_INT64 = 3,
@@ -354,11 +249,34 @@ typedef enum {
354
249
  UPB_DESCRIPTOR_TYPE_SFIXED32 = 15,
355
250
  UPB_DESCRIPTOR_TYPE_SFIXED64 = 16,
356
251
  UPB_DESCRIPTOR_TYPE_SINT32 = 17,
357
- UPB_DESCRIPTOR_TYPE_SINT64 = 18
252
+ UPB_DESCRIPTOR_TYPE_SINT64 = 18,
253
+
254
+ UPB_DTYPE_DOUBLE = 1,
255
+ UPB_DTYPE_FLOAT = 2,
256
+ UPB_DTYPE_INT64 = 3,
257
+ UPB_DTYPE_UINT64 = 4,
258
+ UPB_DTYPE_INT32 = 5,
259
+ UPB_DTYPE_FIXED64 = 6,
260
+ UPB_DTYPE_FIXED32 = 7,
261
+ UPB_DTYPE_BOOL = 8,
262
+ UPB_DTYPE_STRING = 9,
263
+ UPB_DTYPE_GROUP = 10,
264
+ UPB_DTYPE_MESSAGE = 11,
265
+ UPB_DTYPE_BYTES = 12,
266
+ UPB_DTYPE_UINT32 = 13,
267
+ UPB_DTYPE_ENUM = 14,
268
+ UPB_DTYPE_SFIXED32 = 15,
269
+ UPB_DTYPE_SFIXED64 = 16,
270
+ UPB_DTYPE_SINT32 = 17,
271
+ UPB_DTYPE_SINT64 = 18
358
272
  } upb_descriptortype_t;
359
273
 
360
- extern const uint8_t upb_desctype_to_fieldtype[];
274
+ #define UPB_MAP_BEGIN ((size_t)-1)
361
275
 
362
276
  #include "upb/port_undef.inc"
363
277
 
278
+ #ifdef __cplusplus
279
+ } /* extern "C" */
280
+ #endif
281
+
364
282
  #endif /* UPB_H_ */
@@ -0,0 +1,86 @@
1
+
2
+ #ifndef UPB_HPP_
3
+ #define UPB_HPP_
4
+
5
+ #include <memory>
6
+
7
+ #include "upb/upb.h"
8
+
9
+ namespace upb {
10
+
11
+ class Status {
12
+ public:
13
+ Status() { upb_status_clear(&status_); }
14
+
15
+ upb_status* ptr() { return &status_; }
16
+
17
+ // Returns true if there is no error.
18
+ bool ok() const { return upb_ok(&status_); }
19
+
20
+ // Guaranteed to be NULL-terminated.
21
+ const char *error_message() const { return upb_status_errmsg(&status_); }
22
+
23
+ // The error message will be truncated if it is longer than
24
+ // UPB_STATUS_MAX_MESSAGE-4.
25
+ void SetErrorMessage(const char *msg) { upb_status_seterrmsg(&status_, msg); }
26
+ void SetFormattedErrorMessage(const char *fmt, ...) {
27
+ va_list args;
28
+ va_start(args, fmt);
29
+ upb_status_vseterrf(&status_, fmt, args);
30
+ va_end(args);
31
+ }
32
+
33
+ // Resets the status to a successful state with no message.
34
+ void Clear() { upb_status_clear(&status_); }
35
+
36
+ private:
37
+ upb_status status_;
38
+ };
39
+
40
+ class Arena {
41
+ public:
42
+ // A simple arena with no initial memory block and the default allocator.
43
+ Arena() : ptr_(upb_arena_new(), upb_arena_free) {}
44
+
45
+ upb_arena* ptr() { return ptr_.get(); }
46
+
47
+ // Allows this arena to be used as a generic allocator.
48
+ //
49
+ // The arena does not need free() calls so when using Arena as an allocator
50
+ // it is safe to skip them. However they are no-ops so there is no harm in
51
+ // calling free() either.
52
+ upb_alloc *allocator() { return upb_arena_alloc(ptr_.get()); }
53
+
54
+ // Add a cleanup function to run when the arena is destroyed.
55
+ // Returns false on out-of-memory.
56
+ template <class T>
57
+ bool Own(T *obj) {
58
+ return upb_arena_addcleanup(ptr_.get(), obj, [](void* obj) {
59
+ delete static_cast<T*>(obj);
60
+ });
61
+ }
62
+
63
+ private:
64
+ std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_;
65
+ };
66
+
67
+ // InlinedArena seeds the arenas with a predefined amount of memory. No
68
+ // heap memory will be allocated until the initial block is exceeded.
69
+ template <int N>
70
+ class InlinedArena : public Arena {
71
+ public:
72
+ InlinedArena() : ptr_(upb_arena_new(&initial_block_, N, &upb_alloc_global)) {}
73
+
74
+ upb_arena* ptr() { return ptr_.get(); }
75
+
76
+ private:
77
+ InlinedArena(const InlinedArena*) = delete;
78
+ InlinedArena& operator=(const InlinedArena*) = delete;
79
+
80
+ std::unique_ptr<upb_arena, decltype(&upb_arena_free)> ptr_;
81
+ char initial_block_[N];
82
+ };
83
+
84
+ } // namespace upb
85
+
86
+ #endif // UPB_HPP_
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.30.0
4
+ version: 1.31.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2020-06-22 00:00:00.000000000 Z
11
+ date: 2020-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -278,6 +278,8 @@ files:
278
278
  - src/core/ext/filters/client_channel/client_channel_factory.cc
279
279
  - src/core/ext/filters/client_channel/client_channel_factory.h
280
280
  - src/core/ext/filters/client_channel/client_channel_plugin.cc
281
+ - src/core/ext/filters/client_channel/config_selector.cc
282
+ - src/core/ext/filters/client_channel/config_selector.h
281
283
  - src/core/ext/filters/client_channel/connector.h
282
284
  - src/core/ext/filters/client_channel/global_subchannel_pool.cc
283
285
  - src/core/ext/filters/client_channel/global_subchannel_pool.h
@@ -360,6 +362,7 @@ files:
360
362
  - src/core/ext/filters/client_channel/service_config.cc
361
363
  - src/core/ext/filters/client_channel/service_config.h
362
364
  - src/core/ext/filters/client_channel/service_config_call_data.h
365
+ - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc
363
366
  - src/core/ext/filters/client_channel/service_config_parser.cc
364
367
  - src/core/ext/filters/client_channel/service_config_parser.h
365
368
  - src/core/ext/filters/client_channel/subchannel.cc
@@ -1206,7 +1209,10 @@ files:
1206
1209
  - src/ruby/spec/google_rpc_status_utils_spec.rb
1207
1210
  - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
1208
1211
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
1212
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
1209
1213
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
1214
+ - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
1215
+ - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
1210
1216
  - src/ruby/spec/pb/codegen/package_option_spec.rb
1211
1217
  - src/ruby/spec/pb/duplicate/codegen_spec.rb
1212
1218
  - src/ruby/spec/pb/health/checker_spec.rb
@@ -1222,6 +1228,7 @@ files:
1222
1228
  - src/ruby/spec/testdata/server1.key
1223
1229
  - src/ruby/spec/testdata/server1.pem
1224
1230
  - src/ruby/spec/time_consts_spec.rb
1231
+ - src/ruby/spec/user_agent_spec.rb
1225
1232
  - third_party/abseil-cpp/absl/algorithm/algorithm.h
1226
1233
  - third_party/abseil-cpp/absl/base/attributes.h
1227
1234
  - third_party/abseil-cpp/absl/base/call_once.h
@@ -1920,11 +1927,59 @@ files:
1920
1927
  - third_party/cares/config_freebsd/ares_config.h
1921
1928
  - third_party/cares/config_linux/ares_config.h
1922
1929
  - third_party/cares/config_openbsd/ares_config.h
1930
+ - third_party/re2/re2/bitmap256.h
1931
+ - third_party/re2/re2/bitstate.cc
1932
+ - third_party/re2/re2/compile.cc
1933
+ - third_party/re2/re2/dfa.cc
1934
+ - third_party/re2/re2/filtered_re2.cc
1935
+ - third_party/re2/re2/filtered_re2.h
1936
+ - third_party/re2/re2/mimics_pcre.cc
1937
+ - third_party/re2/re2/nfa.cc
1938
+ - third_party/re2/re2/onepass.cc
1939
+ - third_party/re2/re2/parse.cc
1940
+ - third_party/re2/re2/perl_groups.cc
1941
+ - third_party/re2/re2/pod_array.h
1942
+ - third_party/re2/re2/prefilter.cc
1943
+ - third_party/re2/re2/prefilter.h
1944
+ - third_party/re2/re2/prefilter_tree.cc
1945
+ - third_party/re2/re2/prefilter_tree.h
1946
+ - third_party/re2/re2/prog.cc
1947
+ - third_party/re2/re2/prog.h
1948
+ - third_party/re2/re2/re2.cc
1949
+ - third_party/re2/re2/re2.h
1950
+ - third_party/re2/re2/regexp.cc
1951
+ - third_party/re2/re2/regexp.h
1952
+ - third_party/re2/re2/set.cc
1953
+ - third_party/re2/re2/set.h
1954
+ - third_party/re2/re2/simplify.cc
1955
+ - third_party/re2/re2/sparse_array.h
1956
+ - third_party/re2/re2/sparse_set.h
1957
+ - third_party/re2/re2/stringpiece.cc
1958
+ - third_party/re2/re2/stringpiece.h
1959
+ - third_party/re2/re2/tostring.cc
1960
+ - third_party/re2/re2/unicode_casefold.cc
1961
+ - third_party/re2/re2/unicode_casefold.h
1962
+ - third_party/re2/re2/unicode_groups.cc
1963
+ - third_party/re2/re2/unicode_groups.h
1964
+ - third_party/re2/re2/walker-inl.h
1965
+ - third_party/re2/util/benchmark.h
1966
+ - third_party/re2/util/flags.h
1967
+ - third_party/re2/util/logging.h
1968
+ - third_party/re2/util/malloc_counter.h
1969
+ - third_party/re2/util/mix.h
1970
+ - third_party/re2/util/mutex.h
1971
+ - third_party/re2/util/pcre.cc
1972
+ - third_party/re2/util/pcre.h
1973
+ - third_party/re2/util/rune.cc
1974
+ - third_party/re2/util/strutil.cc
1975
+ - third_party/re2/util/strutil.h
1976
+ - third_party/re2/util/test.h
1977
+ - third_party/re2/util/utf.h
1978
+ - third_party/re2/util/util.h
1923
1979
  - third_party/upb/upb/decode.c
1924
1980
  - third_party/upb/upb/decode.h
1925
1981
  - third_party/upb/upb/encode.c
1926
1982
  - third_party/upb/upb/encode.h
1927
- - third_party/upb/upb/generated_util.h
1928
1983
  - third_party/upb/upb/msg.c
1929
1984
  - third_party/upb/upb/msg.h
1930
1985
  - third_party/upb/upb/port.c
@@ -1934,6 +1989,7 @@ files:
1934
1989
  - third_party/upb/upb/table.int.h
1935
1990
  - third_party/upb/upb/upb.c
1936
1991
  - third_party/upb/upb/upb.h
1992
+ - third_party/upb/upb/upb.hpp
1937
1993
  - third_party/zlib/adler32.c
1938
1994
  - third_party/zlib/compress.c
1939
1995
  - third_party/zlib/crc32.c
@@ -1986,42 +2042,46 @@ signing_key:
1986
2042
  specification_version: 4
1987
2043
  summary: GRPC system in Ruby
1988
2044
  test_files:
1989
- - src/ruby/spec/spec_helper.rb
1990
- - src/ruby/spec/client_auth_spec.rb
1991
- - src/ruby/spec/server_spec.rb
1992
- - src/ruby/spec/errors_spec.rb
1993
- - src/ruby/spec/generic/client_stub_spec.rb
1994
- - src/ruby/spec/generic/interceptor_registry_spec.rb
1995
- - src/ruby/spec/generic/rpc_server_pool_spec.rb
1996
- - src/ruby/spec/generic/rpc_server_spec.rb
1997
- - src/ruby/spec/generic/rpc_desc_spec.rb
1998
- - src/ruby/spec/generic/active_call_spec.rb
1999
- - src/ruby/spec/generic/server_interceptors_spec.rb
2000
- - src/ruby/spec/generic/service_spec.rb
2001
- - src/ruby/spec/generic/client_interceptors_spec.rb
2002
- - src/ruby/spec/channel_credentials_spec.rb
2003
2045
  - src/ruby/spec/time_consts_spec.rb
2004
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
2046
+ - src/ruby/spec/pb/health/checker_spec.rb
2005
2047
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
2048
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
2049
+ - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
2006
2050
  - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
2051
+ - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
2052
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
2007
2053
  - src/ruby/spec/pb/codegen/package_option_spec.rb
2008
- - src/ruby/spec/pb/health/checker_spec.rb
2009
2054
  - src/ruby/spec/pb/duplicate/codegen_spec.rb
2010
- - src/ruby/spec/call_spec.rb
2055
+ - src/ruby/spec/debug_message_spec.rb
2011
2056
  - src/ruby/spec/call_credentials_spec.rb
2012
2057
  - src/ruby/spec/client_server_spec.rb
2013
- - src/ruby/spec/compression_options_spec.rb
2014
- - src/ruby/spec/channel_spec.rb
2058
+ - src/ruby/spec/client_auth_spec.rb
2059
+ - src/ruby/spec/server_spec.rb
2015
2060
  - src/ruby/spec/server_credentials_spec.rb
2016
- - src/ruby/spec/debug_message_spec.rb
2017
- - src/ruby/spec/channel_connection_spec.rb
2018
- - src/ruby/spec/support/services.rb
2019
- - src/ruby/spec/support/helpers.rb
2020
- - src/ruby/spec/google_rpc_status_utils_spec.rb
2021
- - src/ruby/spec/testdata/client.key
2061
+ - src/ruby/spec/user_agent_spec.rb
2022
2062
  - src/ruby/spec/testdata/ca.pem
2023
- - src/ruby/spec/testdata/server1.key
2024
- - src/ruby/spec/testdata/server1.pem
2063
+ - src/ruby/spec/testdata/client.key
2025
2064
  - src/ruby/spec/testdata/client.pem
2026
2065
  - src/ruby/spec/testdata/README
2066
+ - src/ruby/spec/testdata/server1.key
2067
+ - src/ruby/spec/testdata/server1.pem
2068
+ - src/ruby/spec/spec_helper.rb
2069
+ - src/ruby/spec/generic/rpc_server_pool_spec.rb
2070
+ - src/ruby/spec/generic/rpc_desc_spec.rb
2071
+ - src/ruby/spec/generic/server_interceptors_spec.rb
2072
+ - src/ruby/spec/generic/interceptor_registry_spec.rb
2073
+ - src/ruby/spec/generic/client_interceptors_spec.rb
2074
+ - src/ruby/spec/generic/client_stub_spec.rb
2075
+ - src/ruby/spec/generic/rpc_server_spec.rb
2076
+ - src/ruby/spec/generic/active_call_spec.rb
2077
+ - src/ruby/spec/generic/service_spec.rb
2078
+ - src/ruby/spec/compression_options_spec.rb
2027
2079
  - src/ruby/spec/error_sanity_spec.rb
2080
+ - src/ruby/spec/errors_spec.rb
2081
+ - src/ruby/spec/channel_connection_spec.rb
2082
+ - src/ruby/spec/call_spec.rb
2083
+ - src/ruby/spec/channel_spec.rb
2084
+ - src/ruby/spec/google_rpc_status_utils_spec.rb
2085
+ - src/ruby/spec/channel_credentials_spec.rb
2086
+ - src/ruby/spec/support/services.rb
2087
+ - src/ruby/spec/support/helpers.rb