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.
- checksums.yaml +4 -4
- data/Makefile +560 -619
- data/include/grpc/grpc_security.h +8 -0
- data/include/grpc/grpc_security_constants.h +3 -0
- data/include/grpc/impl/codegen/grpc_types.h +7 -5
- data/include/grpc/impl/codegen/port_platform.h +0 -32
- data/src/core/ext/filters/client_channel/backend_metric.cc +12 -9
- data/src/core/ext/filters/client_channel/client_channel.cc +406 -261
- data/src/core/ext/filters/client_channel/config_selector.cc +62 -0
- data/src/core/ext/filters/client_channel/config_selector.h +93 -0
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -2
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +2 -0
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +6 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +6 -4
- data/src/core/ext/filters/client_channel/lb_policy.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +39 -23
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +4 -6
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -4
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +381 -72
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +5 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +6 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +8 -6
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +9 -7
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +7 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -48
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +21 -18
- data/src/core/ext/filters/client_channel/resolver_registry.cc +13 -14
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +6 -7
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +33 -28
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +39 -20
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
- data/src/core/ext/filters/client_channel/subchannel.cc +1 -1
- data/src/core/ext/filters/client_channel/xds/xds_api.cc +327 -123
- data/src/core/ext/filters/client_channel/xds/xds_api.h +72 -7
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +12 -23
- data/src/core/ext/filters/client_channel/xds/xds_client.cc +112 -33
- data/src/core/ext/filters/client_channel/xds/xds_client_stats.h +10 -10
- data/src/core/ext/filters/http/client/http_client_filter.cc +5 -5
- data/src/core/ext/filters/http/http_filters_plugin.cc +2 -1
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +74 -33
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +3 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +56 -80
- data/src/core/ext/filters/message_size/message_size_filter.h +6 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +383 -347
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +6 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +1 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -13
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +19 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +22 -27
- data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -16
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +9 -12
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -13
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -7
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +9 -12
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -29
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +13 -17
- data/src/core/ext/transport/chttp2/transport/internal.h +13 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +33 -43
- data/src/core/ext/transport/chttp2/transport/writing.cc +9 -14
- data/src/core/ext/transport/inproc/inproc_transport.cc +35 -15
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +3 -4
- data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +80 -69
- data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +24 -23
- data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +66 -56
- data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +317 -311
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +42 -34
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +7 -7
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +79 -61
- data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +55 -49
- data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +9 -8
- data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +163 -169
- data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +51 -45
- data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +4 -5
- data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +107 -100
- data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +137 -117
- data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +9 -9
- data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +105 -87
- data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +12 -13
- data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +95 -101
- data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +49 -65
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +49 -42
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +70 -62
- data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +81 -65
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +91 -80
- data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +9 -10
- data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +36 -31
- data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +648 -696
- data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +16 -15
- data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +95 -88
- data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +234 -199
- data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +5 -5
- data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +13 -13
- data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +20 -18
- data/src/core/ext/upb-generated/envoy/type/http.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +18 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +14 -14
- data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +23 -23
- data/src/core/ext/upb-generated/envoy/type/percent.upb.h +8 -9
- data/src/core/ext/upb-generated/envoy/type/range.upb.h +15 -16
- data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +7 -8
- data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +36 -35
- data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -1
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -1
- data/src/core/ext/upb-generated/google/api/http.upb.h +29 -28
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +5 -6
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +3 -3
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +412 -386
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +5 -6
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +1 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +33 -54
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +5 -6
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -28
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +8 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +1 -1
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +32 -45
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +4 -4
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +157 -178
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +14 -13
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -7
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +59 -56
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +11 -12
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -1
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +5 -6
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +6 -6
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +41 -68
- data/src/core/ext/upb-generated/validate/validate.upb.h +536 -535
- data/src/core/lib/channel/channel_trace.cc +2 -6
- data/src/core/lib/channel/channelz.cc +5 -15
- data/src/core/lib/gpr/log_linux.cc +6 -8
- data/src/core/lib/gpr/log_posix.cc +6 -8
- data/src/core/lib/gpr/string.cc +10 -9
- data/src/core/lib/gpr/string.h +4 -2
- data/src/core/lib/gprpp/global_config_env.cc +8 -6
- data/src/core/lib/http/httpcli.cc +13 -10
- data/src/core/lib/http/httpcli_security_connector.cc +5 -5
- data/src/core/lib/iomgr/cfstream_handle.cc +1 -0
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +10 -10
- data/src/core/lib/iomgr/error_cfstream.cc +9 -8
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -6
- data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -21
- data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
- data/src/core/lib/iomgr/ev_posix.cc +2 -0
- data/src/core/lib/iomgr/iomgr.cc +10 -0
- data/src/core/lib/iomgr/iomgr.h +10 -0
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
- data/src/core/lib/iomgr/port.h +1 -21
- data/src/core/lib/iomgr/resolve_address_custom.cc +13 -18
- data/src/core/lib/iomgr/resolve_address_windows.cc +8 -8
- data/src/core/lib/iomgr/resource_quota.cc +34 -31
- data/src/core/lib/iomgr/sockaddr_utils.cc +7 -5
- data/src/core/lib/iomgr/sockaddr_utils.h +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +95 -55
- data/src/core/lib/iomgr/socket_windows.cc +4 -5
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -11
- data/src/core/lib/iomgr/tcp_client_custom.cc +6 -9
- data/src/core/lib/iomgr/tcp_client_posix.cc +27 -36
- data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
- data/src/core/lib/iomgr/tcp_custom.cc +1 -1
- data/src/core/lib/iomgr/tcp_custom.h +1 -1
- data/src/core/lib/iomgr/tcp_server.cc +3 -4
- data/src/core/lib/iomgr/tcp_server.h +7 -5
- data/src/core/lib/iomgr/tcp_server_custom.cc +6 -14
- data/src/core/lib/iomgr/tcp_server_posix.cc +34 -41
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -7
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -9
- data/src/core/lib/iomgr/tcp_server_windows.cc +16 -16
- data/src/core/lib/iomgr/timer_generic.cc +13 -12
- data/src/core/lib/iomgr/udp_server.cc +24 -23
- data/src/core/lib/iomgr/udp_server.h +5 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +9 -14
- data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +5 -2
- data/src/core/lib/json/json_reader.cc +20 -21
- data/src/core/lib/security/credentials/credentials.h +5 -3
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +12 -9
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +19 -28
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -6
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +20 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +10 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +10 -0
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +10 -10
- data/src/core/lib/security/security_connector/security_connector.cc +2 -0
- data/src/core/lib/security/security_connector/security_connector.h +1 -1
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +18 -11
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +5 -0
- data/src/core/lib/security/security_connector/ssl_utils.cc +44 -23
- data/src/core/lib/security/security_connector/ssl_utils.h +6 -2
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -24
- data/src/core/lib/security/transport/auth_filters.h +0 -5
- data/src/core/lib/security/transport/client_auth_filter.cc +10 -9
- data/src/core/lib/security/util/json_util.cc +12 -13
- data/src/core/lib/slice/slice.cc +38 -1
- data/src/core/lib/slice/slice_internal.h +1 -0
- data/src/core/lib/surface/call.cc +40 -41
- data/src/core/lib/surface/completion_queue.cc +271 -14
- data/src/core/lib/surface/completion_queue.h +8 -0
- data/src/core/lib/surface/init.cc +2 -0
- data/src/core/lib/surface/server.cc +565 -632
- data/src/core/lib/surface/server.h +34 -12
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/transport.h +6 -0
- data/src/core/lib/uri/uri_parser.cc +8 -15
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +23 -13
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +2 -0
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -0
- data/src/core/tsi/ssl_transport_security.cc +108 -11
- data/src/core/tsi/ssl_transport_security.h +14 -2
- data/src/core/tsi/transport_security_interface.h +5 -0
- data/src/ruby/bin/math_services_pb.rb +4 -4
- data/src/ruby/ext/grpc/extconf.rb +5 -2
- data/src/ruby/ext/grpc/rb_call.c +3 -2
- data/src/ruby/ext/grpc/rb_call.h +4 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +57 -12
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
- data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +5 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +28 -12
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +2 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
- data/src/ruby/spec/pb/codegen/package_option_spec.rb +25 -1
- data/src/ruby/spec/support/services.rb +10 -4
- data/src/ruby/spec/user_agent_spec.rb +74 -0
- data/third_party/boringssl-with-bazel/err_data.c +89 -83
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +12 -52
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -22
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +143 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +11 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +13 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +24 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +20 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +62 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +29 -15
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -5
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +0 -29
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +116 -363
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +7 -45
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +13 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +10 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +28 -9
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +25 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +35 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -154
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +28 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +74 -35
- data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +22 -22
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +69 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +33 -16
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +789 -715
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +3 -3
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +9 -2
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +9 -0
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -14
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -7
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +28 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +4 -24
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +5 -5
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -24
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +31 -21
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +12 -9
- data/third_party/re2/re2/bitmap256.h +117 -0
- data/third_party/re2/re2/bitstate.cc +385 -0
- data/third_party/re2/re2/compile.cc +1279 -0
- data/third_party/re2/re2/dfa.cc +2130 -0
- data/third_party/re2/re2/filtered_re2.cc +121 -0
- data/third_party/re2/re2/filtered_re2.h +109 -0
- data/third_party/re2/re2/mimics_pcre.cc +197 -0
- data/third_party/re2/re2/nfa.cc +713 -0
- data/third_party/re2/re2/onepass.cc +623 -0
- data/third_party/re2/re2/parse.cc +2464 -0
- data/third_party/re2/re2/perl_groups.cc +119 -0
- data/third_party/re2/re2/pod_array.h +55 -0
- data/third_party/re2/re2/prefilter.cc +710 -0
- data/third_party/re2/re2/prefilter.h +108 -0
- data/third_party/re2/re2/prefilter_tree.cc +407 -0
- data/third_party/re2/re2/prefilter_tree.h +139 -0
- data/third_party/re2/re2/prog.cc +988 -0
- data/third_party/re2/re2/prog.h +436 -0
- data/third_party/re2/re2/re2.cc +1362 -0
- data/third_party/re2/re2/re2.h +1002 -0
- data/third_party/re2/re2/regexp.cc +980 -0
- data/third_party/re2/re2/regexp.h +659 -0
- data/third_party/re2/re2/set.cc +154 -0
- data/third_party/re2/re2/set.h +80 -0
- data/third_party/re2/re2/simplify.cc +657 -0
- data/third_party/re2/re2/sparse_array.h +392 -0
- data/third_party/re2/re2/sparse_set.h +264 -0
- data/third_party/re2/re2/stringpiece.cc +65 -0
- data/third_party/re2/re2/stringpiece.h +210 -0
- data/third_party/re2/re2/tostring.cc +351 -0
- data/third_party/re2/re2/unicode_casefold.cc +582 -0
- data/third_party/re2/re2/unicode_casefold.h +78 -0
- data/third_party/re2/re2/unicode_groups.cc +6269 -0
- data/third_party/re2/re2/unicode_groups.h +67 -0
- data/third_party/re2/re2/walker-inl.h +246 -0
- data/third_party/re2/util/benchmark.h +156 -0
- data/third_party/re2/util/flags.h +26 -0
- data/third_party/re2/util/logging.h +109 -0
- data/third_party/re2/util/malloc_counter.h +19 -0
- data/third_party/re2/util/mix.h +41 -0
- data/third_party/re2/util/mutex.h +148 -0
- data/third_party/re2/util/pcre.cc +1025 -0
- data/third_party/re2/util/pcre.h +681 -0
- data/third_party/re2/util/rune.cc +260 -0
- data/third_party/re2/util/strutil.cc +149 -0
- data/third_party/re2/util/strutil.h +21 -0
- data/third_party/re2/util/test.h +50 -0
- data/third_party/re2/util/utf.h +44 -0
- data/third_party/re2/util/util.h +42 -0
- data/third_party/upb/upb/decode.c +467 -504
- data/third_party/upb/upb/encode.c +163 -121
- data/third_party/upb/upb/msg.c +130 -64
- data/third_party/upb/upb/msg.h +418 -14
- data/third_party/upb/upb/port_def.inc +35 -6
- data/third_party/upb/upb/port_undef.inc +8 -1
- data/third_party/upb/upb/table.c +53 -75
- data/third_party/upb/upb/table.int.h +11 -43
- data/third_party/upb/upb/upb.c +148 -124
- data/third_party/upb/upb/upb.h +65 -147
- data/third_party/upb/upb/upb.hpp +86 -0
- metadata +90 -30
- data/third_party/upb/upb/generated_util.h +0 -105
data/third_party/upb/upb/upb.h
CHANGED
@@ -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
|
-
|
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
|
-
/*
|
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
|
-
|
209
|
-
|
210
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
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
|
-
|
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.
|
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-
|
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/
|
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/
|
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/
|
2014
|
-
- src/ruby/spec/
|
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/
|
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/
|
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
|