grpc 1.9.1 → 1.10.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +2654 -953
- data/etc/roots.pem +282 -683
- data/include/grpc/compression.h +9 -26
- data/include/grpc/grpc.h +10 -24
- data/include/grpc/grpc_security.h +7 -1
- data/include/grpc/impl/codegen/compression_types.h +5 -62
- data/include/grpc/impl/codegen/grpc_types.h +10 -6
- data/include/grpc/module.modulemap +1 -10
- data/include/grpc/support/alloc.h +3 -2
- data/include/grpc/support/log.h +1 -2
- data/{src/core/lib/gpr/thd_internal.h → include/grpc/support/thd_id.h} +23 -9
- data/src/boringssl/err_data.c +550 -496
- data/src/core/ext/census/grpc_context.cc +2 -1
- data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -7
- data/src/core/ext/filters/client_channel/client_channel.cc +162 -172
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +4 -2
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +10 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +18 -14
- data/src/core/ext/filters/client_channel/http_proxy.cc +3 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +21 -105
- data/src/core/ext/filters/client_channel/lb_policy.h +166 -170
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -36
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1452 -1459
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +7 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +27 -27
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +279 -304
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +358 -330
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +30 -41
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +7 -14
- data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -21
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +23 -27
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +58 -33
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +25 -12
- data/src/core/ext/filters/client_channel/parse_address.cc +10 -8
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver.cc +6 -52
- data/src/core/ext/filters/client_channel/resolver.h +98 -55
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +266 -237
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +31 -27
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +244 -207
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +161 -148
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +47 -31
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +126 -126
- data/src/core/ext/filters/client_channel/resolver_factory.h +33 -32
- data/src/core/ext/filters/client_channel/resolver_registry.cc +110 -90
- data/src/core/ext/filters/client_channel/resolver_registry.h +49 -36
- data/src/core/ext/filters/client_channel/retry_throttle.cc +29 -22
- data/src/core/ext/filters/client_channel/subchannel.cc +173 -173
- data/src/core/ext/filters/client_channel/subchannel.h +38 -45
- data/src/core/ext/filters/client_channel/subchannel_index.cc +44 -40
- data/src/core/ext/filters/client_channel/uri_parser.cc +3 -3
- data/src/core/ext/filters/deadline/deadline_filter.cc +27 -18
- data/src/core/ext/filters/http/client/http_client_filter.cc +26 -23
- data/src/core/ext/filters/http/http_filters_plugin.cc +3 -2
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +78 -110
- data/src/core/ext/filters/http/server/http_server_filter.cc +29 -26
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +9 -11
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +2 -1
- data/src/core/ext/filters/max_age/max_age_filter.cc +14 -14
- data/src/core/ext/filters/message_size/message_size_filter.cc +20 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -4
- data/src/core/ext/filters/workarounds/workaround_utils.cc +4 -4
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -10
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +4 -4
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +11 -12
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -13
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +36 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +3 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +17 -14
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -145
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +16 -14
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -7
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -33
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -25
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +12 -12
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +16 -15
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -11
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +23 -22
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +35 -35
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -39
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +8 -7
- data/src/core/ext/transport/chttp2/transport/varint.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +18 -18
- data/src/core/ext/transport/inproc/inproc_transport.cc +43 -23
- data/src/core/lib/{gpr → avl}/avl.cc +61 -57
- data/{include/grpc/support → src/core/lib/avl}/avl.h +25 -35
- data/src/core/lib/backoff/backoff.cc +6 -5
- data/src/core/lib/channel/channel_args.cc +23 -109
- data/src/core/lib/channel/channel_args.h +5 -31
- data/src/core/lib/channel/channel_stack.cc +11 -8
- data/src/core/lib/channel/channel_stack_builder.cc +10 -7
- data/src/core/lib/channel/connected_channel.cc +18 -17
- data/src/core/lib/channel/handshaker.cc +8 -8
- data/src/core/lib/channel/handshaker_registry.cc +3 -2
- data/src/core/lib/compression/algorithm_metadata.h +13 -6
- data/src/core/lib/compression/compression.cc +72 -183
- data/src/core/lib/compression/compression_internal.cc +274 -0
- data/src/core/lib/compression/compression_internal.h +86 -0
- data/src/core/lib/compression/message_compress.cc +15 -15
- data/src/core/lib/compression/message_compress.h +4 -3
- data/src/core/lib/compression/stream_compression_gzip.cc +8 -8
- data/src/core/lib/compression/stream_compression_identity.cc +1 -1
- data/src/core/lib/debug/stats.cc +10 -8
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/trace.cc +3 -3
- data/src/core/lib/gpr/alloc.cc +7 -11
- data/src/core/lib/gpr/arena.cc +34 -12
- data/src/core/lib/gpr/atm.cc +2 -1
- data/src/core/lib/gpr/cpu_linux.cc +3 -3
- data/src/core/lib/gpr/cpu_posix.cc +2 -1
- data/src/core/lib/gpr/env.h +1 -1
- data/src/core/lib/gpr/env_linux.cc +1 -1
- data/src/core/lib/gpr/env_windows.cc +4 -4
- data/src/core/lib/gpr/fork.cc +16 -2
- data/src/core/lib/gpr/host_port.cc +5 -4
- data/{include/grpc/support → src/core/lib/gpr}/host_port.h +5 -13
- data/src/core/lib/gpr/log.cc +5 -4
- data/src/core/lib/gpr/log_linux.cc +1 -1
- data/src/core/lib/gpr/mpscq.cc +1 -0
- data/src/core/lib/gpr/murmur_hash.cc +4 -4
- data/src/core/lib/gpr/string.cc +19 -16
- data/src/core/lib/gpr/string_posix.cc +3 -3
- data/src/core/lib/gpr/sync_posix.cc +5 -9
- data/src/core/lib/gpr/thd.cc +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/thd.h +20 -28
- data/src/core/lib/gpr/thd_posix.cc +6 -4
- data/src/core/lib/gpr/thd_windows.cc +3 -1
- data/src/core/lib/gpr/time.cc +6 -4
- data/src/core/lib/gpr/time_posix.cc +2 -2
- data/{include/grpc/support → src/core/lib/gpr}/tls.h +6 -6
- data/{include/grpc/support → src/core/lib/gpr}/tls_gcc.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/tls_msvc.h +3 -3
- data/src/core/lib/gpr/tls_pthread.cc +1 -1
- data/{include/grpc/support → src/core/lib/gpr}/tls_pthread.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/useful.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/abstract.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic.h +5 -5
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_atm.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_std.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/debug_location.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/inlined_vector.h +44 -22
- data/src/core/lib/{gpr++ → gprpp}/manual_constructor.h +2 -2
- data/src/core/lib/{gpr++ → gprpp}/memory.h +14 -5
- data/src/core/lib/{gpr++ → gprpp}/orphanable.h +39 -14
- data/src/core/lib/{gpr++ → gprpp}/ref_counted.h +42 -10
- data/src/core/lib/{gpr++ → gprpp}/ref_counted_ptr.h +18 -8
- data/src/core/lib/http/format_request.cc +3 -3
- data/src/core/lib/http/httpcli.cc +6 -7
- data/src/core/lib/http/httpcli_security_connector.cc +10 -10
- data/src/core/lib/http/parser.cc +16 -12
- data/src/core/lib/iomgr/call_combiner.cc +12 -13
- data/src/core/lib/iomgr/closure.h +4 -6
- data/src/core/lib/iomgr/combiner.cc +10 -21
- data/src/core/lib/iomgr/error.cc +50 -55
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +41 -52
- data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -28
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +23 -30
- data/src/core/lib/iomgr/ev_poll_posix.cc +52 -46
- data/src/core/lib/iomgr/ev_posix.cc +47 -6
- data/src/core/lib/iomgr/exec_ctx.cc +10 -10
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +16 -13
- data/src/core/lib/iomgr/fork_posix.cc +1 -3
- data/src/core/lib/iomgr/gethostname_host_name_max.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +1 -2
- data/src/core/lib/iomgr/iomgr.cc +2 -2
- data/src/core/lib/iomgr/iomgr_uv.cc +2 -0
- data/src/core/lib/iomgr/iomgr_uv.h +1 -1
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +5 -4
- data/src/core/lib/iomgr/load_file.cc +3 -3
- data/src/core/lib/iomgr/pollset_windows.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_uv.cc +2 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
- data/src/core/lib/iomgr/resource_quota.cc +36 -34
- data/src/core/lib/iomgr/sockaddr_utils.cc +39 -23
- data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
- data/src/core/lib/iomgr/socket_mutator.cc +7 -7
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -4
- data/src/core/lib/iomgr/socket_utils_linux.cc +3 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +7 -6
- data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +47 -55
- data/src/core/lib/iomgr/tcp_server_posix.cc +12 -10
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -3
- data/src/core/lib/iomgr/tcp_windows.cc +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +16 -14
- data/src/core/lib/iomgr/timer_heap.cc +8 -7
- data/src/core/lib/iomgr/timer_manager.cc +4 -3
- data/src/core/lib/iomgr/udp_server.cc +24 -16
- data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -10
- data/src/core/lib/iomgr/wakeup_fd_cv.cc +6 -5
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +1 -2
- data/src/core/lib/json/json.cc +1 -1
- data/src/core/lib/json/json_reader.cc +8 -6
- data/src/core/lib/json/json_string.cc +19 -18
- data/src/core/lib/json/json_writer.cc +10 -8
- data/src/core/lib/profiling/basic_timers.cc +1 -1
- data/src/core/lib/profiling/timers.h +3 -20
- data/src/core/lib/security/context/security_context.cc +16 -14
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -14
- data/src/core/lib/security/credentials/credentials.cc +9 -8
- data/src/core/lib/security/credentials/credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +12 -13
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -4
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -3
- data/src/core/lib/security/credentials/jwt/json_token.cc +4 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -7
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +21 -18
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +23 -18
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -7
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +22 -21
- data/src/core/lib/security/{transport → security_connector}/security_connector.cc +46 -43
- data/src/core/lib/security/{transport → security_connector}/security_connector.h +3 -3
- data/src/core/lib/security/transport/client_auth_filter.cc +32 -34
- data/src/core/lib/security/transport/lb_targets_info.cc +7 -5
- data/src/core/lib/security/transport/secure_endpoint.cc +21 -21
- data/src/core/lib/security/transport/security_handshaker.cc +19 -18
- data/src/core/lib/security/transport/security_handshaker.h +1 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
- data/src/core/lib/slice/b64.cc +19 -16
- data/src/core/lib/slice/percent_encoding.cc +5 -5
- data/src/core/lib/slice/slice.cc +35 -33
- data/src/core/lib/slice/slice_buffer.cc +16 -14
- data/src/core/lib/slice/slice_hash_table.cc +3 -2
- data/src/core/lib/slice/slice_intern.cc +21 -25
- data/src/core/lib/slice/slice_string_helpers.cc +45 -9
- data/src/core/lib/slice/slice_string_helpers.h +6 -0
- data/src/core/lib/surface/byte_buffer.cc +2 -2
- data/src/core/lib/surface/byte_buffer_reader.cc +6 -3
- data/src/core/lib/surface/call.cc +171 -260
- data/src/core/lib/surface/call_test_only.h +1 -13
- data/src/core/lib/surface/channel.cc +20 -43
- data/src/core/lib/surface/channel_init.cc +7 -7
- data/src/core/lib/surface/channel_ping.cc +2 -2
- data/src/core/lib/surface/completion_queue.cc +69 -75
- data/src/core/lib/surface/init.cc +4 -5
- data/src/core/lib/surface/init_secure.cc +1 -1
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/server.cc +64 -59
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +6 -5
- data/src/core/lib/transport/byte_stream.cc +23 -14
- data/src/core/lib/transport/byte_stream.h +1 -1
- data/src/core/lib/transport/connectivity_state.cc +9 -13
- data/src/core/lib/transport/error_utils.cc +10 -7
- data/src/core/lib/transport/metadata.cc +27 -26
- data/src/core/lib/transport/metadata.h +1 -1
- data/src/core/lib/transport/pid_controller.cc +2 -1
- data/src/core/lib/transport/service_config.cc +5 -5
- data/src/core/lib/transport/static_metadata.cc +225 -222
- data/src/core/lib/transport/static_metadata.h +77 -76
- data/src/core/lib/transport/timeout_encoding.cc +3 -2
- data/src/core/lib/transport/transport.cc +6 -5
- data/src/core/lib/transport/transport_op_string.cc +0 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
- data/src/core/tsi/alts_transport_security.cc +61 -0
- data/src/core/tsi/{gts_transport_security.h → alts_transport_security.h} +16 -8
- data/src/core/tsi/fake_transport_security.cc +59 -43
- data/src/core/tsi/ssl_transport_security.cc +122 -107
- data/src/core/tsi/transport_security.cc +3 -3
- data/src/core/tsi/transport_security_adapter.cc +16 -10
- data/src/ruby/bin/apis/pubsub_demo.rb +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +3 -4
- data/src/ruby/ext/grpc/rb_compression_options.c +13 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -76
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +8 -120
- data/src/ruby/ext/grpc/rb_server.c +52 -28
- data/src/ruby/lib/grpc/generic/rpc_server.rb +7 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/test/client.rb +1 -1
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +4 -2
- data/src/ruby/spec/generic/active_call_spec.rb +2 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +32 -8
- data/src/ruby/spec/server_spec.rb +26 -7
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +7 -2
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +15 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +1 -1
- data/third_party/boringssl/crypto/asn1/a_print.c +0 -28
- data/third_party/boringssl/crypto/asn1/a_strnid.c +3 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +17 -9
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -1
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -49
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +1 -1
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +9 -9
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -6
- data/third_party/boringssl/crypto/asn1/time_support.c +5 -5
- data/third_party/boringssl/crypto/base64/base64.c +65 -43
- data/third_party/boringssl/crypto/bio/bio.c +134 -110
- data/third_party/boringssl/crypto/bio/bio_mem.c +9 -9
- data/third_party/boringssl/crypto/bio/connect.c +17 -17
- data/third_party/boringssl/crypto/bio/fd.c +2 -1
- data/third_party/boringssl/crypto/bio/file.c +14 -14
- data/third_party/boringssl/crypto/bio/hexdump.c +15 -16
- data/third_party/boringssl/crypto/bio/internal.h +14 -14
- data/third_party/boringssl/crypto/bio/pair.c +45 -45
- data/third_party/boringssl/crypto/bio/printf.c +6 -10
- data/third_party/boringssl/crypto/{bn → bn_extra}/bn_asn1.c +9 -9
- data/third_party/boringssl/crypto/{bn → bn_extra}/convert.c +18 -223
- data/third_party/boringssl/crypto/buf/buf.c +20 -44
- data/third_party/boringssl/crypto/bytestring/ber.c +35 -35
- data/third_party/boringssl/crypto/bytestring/cbb.c +24 -24
- data/third_party/boringssl/crypto/bytestring/cbs.c +33 -37
- data/third_party/boringssl/crypto/bytestring/internal.h +38 -38
- data/third_party/boringssl/crypto/chacha/chacha.c +7 -7
- data/third_party/boringssl/crypto/{asn1/t_bitst.c → cipher_extra/cipher_extra.c} +49 -38
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/derive_key.c +0 -2
- data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +281 -0
- data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +867 -0
- data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +326 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_null.c +0 -1
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc2.c +22 -10
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc4.c +0 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_ssl3.c +120 -64
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_tls.c +220 -141
- data/third_party/boringssl/crypto/{asn1/x_bignum.c → cipher_extra/internal.h} +61 -86
- data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +482 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +20 -20
- data/third_party/boringssl/crypto/conf/conf.c +32 -20
- data/third_party/boringssl/crypto/conf/internal.h +3 -3
- data/third_party/boringssl/crypto/cpu-aarch64-linux.c +5 -5
- data/third_party/boringssl/crypto/cpu-arm-linux.c +44 -41
- data/third_party/boringssl/crypto/cpu-intel.c +68 -43
- data/third_party/boringssl/crypto/cpu-ppc64le.c +5 -7
- data/third_party/boringssl/crypto/crypto.c +54 -32
- data/third_party/boringssl/crypto/curve25519/curve25519.c +269 -269
- data/third_party/boringssl/crypto/curve25519/internal.h +28 -8
- data/third_party/boringssl/crypto/curve25519/spake25519.c +180 -106
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +9 -9
- data/third_party/boringssl/crypto/dh/check.c +33 -34
- data/third_party/boringssl/crypto/dh/dh.c +72 -36
- data/third_party/boringssl/crypto/dh/dh_asn1.c +1 -1
- data/third_party/boringssl/crypto/dh/params.c +1 -161
- data/third_party/boringssl/crypto/digest_extra/digest_extra.c +240 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +127 -87
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +1 -1
- data/third_party/boringssl/crypto/{ec → ec_extra}/ec_asn1.c +83 -70
- data/third_party/boringssl/crypto/ecdh/ecdh.c +1 -1
- data/third_party/boringssl/crypto/{ecdsa → ecdsa_extra}/ecdsa_asn1.c +86 -31
- data/third_party/boringssl/crypto/engine/engine.c +6 -6
- data/third_party/boringssl/crypto/err/err.c +197 -106
- data/third_party/boringssl/crypto/err/internal.h +58 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +86 -14
- data/third_party/boringssl/crypto/evp/evp.c +6 -11
- data/third_party/boringssl/crypto/evp/evp_asn1.c +17 -17
- data/third_party/boringssl/crypto/evp/evp_ctx.c +15 -11
- data/third_party/boringssl/crypto/evp/internal.h +66 -51
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +11 -11
- data/third_party/boringssl/crypto/evp/p_ec.c +10 -8
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +11 -12
- data/third_party/boringssl/crypto/evp/p_ed25519.c +71 -0
- data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +190 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +50 -95
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +28 -18
- data/third_party/boringssl/crypto/evp/pbkdf.c +49 -56
- data/third_party/boringssl/crypto/evp/print.c +5 -36
- data/third_party/boringssl/crypto/evp/scrypt.c +209 -0
- data/third_party/boringssl/crypto/ex_data.c +15 -45
- data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +100 -0
- data/third_party/boringssl/crypto/fipsmodule/bcm.c +679 -0
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/internal.h +40 -27
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/rsaz_exp.h +0 -0
- data/third_party/boringssl/crypto/{cipher → fipsmodule/cipher}/internal.h +34 -67
- data/third_party/boringssl/crypto/fipsmodule/delocate.h +88 -0
- data/third_party/boringssl/crypto/{des → fipsmodule/des}/internal.h +18 -4
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/internal.h +18 -18
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/md32_common.h +58 -64
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/internal.h +58 -52
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64-table.h +11 -11
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64.h +32 -32
- data/third_party/boringssl/crypto/{rand/internal.h → fipsmodule/is_fips.c} +10 -15
- data/third_party/boringssl/crypto/{modes → fipsmodule/modes}/internal.h +112 -119
- data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +92 -0
- data/third_party/boringssl/crypto/{rsa → fipsmodule/rsa}/internal.h +36 -49
- data/third_party/boringssl/crypto/hkdf/hkdf.c +6 -6
- data/third_party/boringssl/crypto/internal.h +301 -233
- data/third_party/boringssl/crypto/lhash/lhash.c +26 -45
- data/third_party/boringssl/crypto/mem.c +76 -33
- data/third_party/boringssl/crypto/obj/obj.c +44 -28
- data/third_party/boringssl/crypto/obj/obj_dat.h +102 -34
- data/third_party/boringssl/crypto/obj/obj_xref.c +6 -6
- data/third_party/boringssl/crypto/pem/pem_info.c +3 -5
- data/third_party/boringssl/crypto/pem/pem_lib.c +1 -6
- data/third_party/boringssl/crypto/pem/pem_pk8.c +1 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +1 -1
- data/third_party/boringssl/crypto/pem/pem_xaux.c +0 -2
- data/third_party/boringssl/crypto/pkcs7/internal.h +49 -0
- data/third_party/boringssl/crypto/pkcs7/pkcs7.c +166 -0
- data/third_party/boringssl/crypto/{x509/pkcs7.c → pkcs7/pkcs7_x509.c} +27 -147
- data/third_party/boringssl/crypto/pkcs8/internal.h +34 -16
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +120 -39
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +144 -857
- data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +789 -0
- data/third_party/boringssl/crypto/poly1305/internal.h +4 -3
- data/third_party/boringssl/crypto/poly1305/poly1305.c +14 -14
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +11 -11
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +41 -41
- data/third_party/boringssl/crypto/pool/internal.h +2 -2
- data/third_party/boringssl/crypto/pool/pool.c +15 -15
- data/third_party/boringssl/crypto/{rand → rand_extra}/deterministic.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/forkunsafe.c +46 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/fuchsia.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/rand_extra.c +70 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/windows.c +5 -5
- data/third_party/boringssl/crypto/refcount_c11.c +2 -2
- data/third_party/boringssl/crypto/refcount_lock.c +1 -1
- data/third_party/boringssl/crypto/{rsa → rsa_extra}/rsa_asn1.c +12 -120
- data/third_party/boringssl/crypto/stack/stack.c +13 -13
- data/third_party/boringssl/crypto/thread_none.c +1 -1
- data/third_party/boringssl/crypto/thread_pthread.c +1 -1
- data/third_party/boringssl/crypto/thread_win.c +40 -40
- data/third_party/boringssl/crypto/x509/a_sign.c +5 -12
- data/third_party/boringssl/crypto/x509/a_verify.c +6 -18
- data/third_party/boringssl/crypto/x509/algorithm.c +22 -6
- data/third_party/boringssl/crypto/x509/asn1_gen.c +30 -7
- data/third_party/boringssl/crypto/x509/by_dir.c +2 -2
- data/third_party/boringssl/crypto/x509/by_file.c +2 -2
- data/third_party/boringssl/crypto/x509/rsa_pss.c +5 -5
- data/third_party/boringssl/crypto/x509/t_x509.c +2 -1
- data/third_party/boringssl/crypto/x509/x509_def.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +35 -4
- data/third_party/boringssl/crypto/x509/x509_set.c +10 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +20 -17
- data/third_party/boringssl/crypto/x509/x_name.c +13 -16
- data/third_party/boringssl/crypto/x509/x_x509.c +3 -3
- data/third_party/boringssl/crypto/x509/x_x509a.c +0 -7
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +8 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +0 -9
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -1
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +25 -15
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +21 -11
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +9 -3
- data/third_party/boringssl/crypto/x509v3/v3_info.c +22 -14
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +27 -11
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -33
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +4 -4
- data/third_party/boringssl/include/openssl/aead.h +280 -191
- data/third_party/boringssl/include/openssl/aes.h +50 -50
- data/third_party/boringssl/include/openssl/arm_arch.h +12 -12
- data/third_party/boringssl/include/openssl/asn1.h +14 -77
- data/third_party/boringssl/include/openssl/asn1t.h +11 -15
- data/third_party/boringssl/include/openssl/base.h +78 -51
- data/third_party/boringssl/include/openssl/base64.h +68 -68
- data/third_party/boringssl/include/openssl/bio.h +472 -406
- data/third_party/boringssl/include/openssl/blowfish.h +1 -1
- data/third_party/boringssl/include/openssl/bn.h +454 -435
- data/third_party/boringssl/include/openssl/buf.h +27 -27
- data/third_party/boringssl/include/openssl/bytestring.h +282 -267
- data/third_party/boringssl/include/openssl/cast.h +2 -2
- data/third_party/boringssl/include/openssl/chacha.h +5 -5
- data/third_party/boringssl/include/openssl/cipher.h +209 -200
- data/third_party/boringssl/include/openssl/cmac.h +27 -27
- data/third_party/boringssl/include/openssl/conf.h +49 -46
- data/third_party/boringssl/include/openssl/cpu.h +60 -45
- data/third_party/boringssl/include/openssl/crypto.h +59 -35
- data/third_party/boringssl/include/openssl/curve25519.h +97 -92
- data/third_party/boringssl/include/openssl/des.h +25 -25
- data/third_party/boringssl/include/openssl/dh.h +98 -97
- data/third_party/boringssl/include/openssl/digest.h +143 -114
- data/third_party/boringssl/include/openssl/dsa.h +217 -202
- data/third_party/boringssl/include/openssl/ec.h +132 -131
- data/third_party/boringssl/include/openssl/ec_key.h +132 -128
- data/third_party/boringssl/include/openssl/ecdh.h +9 -9
- data/third_party/boringssl/include/openssl/ecdsa.h +66 -66
- data/third_party/boringssl/include/openssl/engine.h +38 -38
- data/third_party/boringssl/include/openssl/err.h +189 -219
- data/third_party/boringssl/include/openssl/evp.h +473 -397
- data/third_party/boringssl/include/openssl/ex_data.h +46 -56
- data/third_party/boringssl/include/openssl/hkdf.h +17 -17
- data/third_party/boringssl/include/openssl/hmac.h +55 -43
- data/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
- data/third_party/boringssl/include/openssl/lhash.h +67 -67
- data/third_party/boringssl/include/openssl/lhash_macros.h +4 -4
- data/third_party/boringssl/include/openssl/md4.h +14 -14
- data/third_party/boringssl/include/openssl/md5.h +14 -14
- data/third_party/boringssl/include/openssl/mem.h +39 -33
- data/third_party/boringssl/include/openssl/nid.h +43 -0
- data/third_party/boringssl/include/openssl/obj.h +93 -87
- data/third_party/boringssl/include/openssl/opensslconf.h +8 -1
- data/third_party/boringssl/include/openssl/pem.h +2 -122
- data/third_party/boringssl/include/openssl/pkcs7.h +68 -2
- data/third_party/boringssl/include/openssl/pkcs8.h +81 -66
- data/third_party/boringssl/include/openssl/poly1305.h +11 -11
- data/third_party/boringssl/include/openssl/pool.h +29 -25
- data/third_party/boringssl/include/openssl/rand.h +48 -45
- data/third_party/boringssl/include/openssl/rc4.h +9 -9
- data/third_party/boringssl/include/openssl/ripemd.h +13 -13
- data/third_party/boringssl/include/openssl/rsa.h +371 -340
- data/third_party/boringssl/include/openssl/sha.h +71 -71
- data/third_party/boringssl/include/openssl/span.h +191 -0
- data/third_party/boringssl/include/openssl/ssl.h +2639 -2519
- data/third_party/boringssl/include/openssl/ssl3.h +39 -122
- data/third_party/boringssl/include/openssl/stack.h +355 -164
- data/third_party/boringssl/include/openssl/thread.h +43 -43
- data/third_party/boringssl/include/openssl/tls1.h +60 -63
- data/third_party/boringssl/include/openssl/type_check.h +10 -14
- data/third_party/boringssl/include/openssl/x509.h +41 -116
- data/third_party/boringssl/include/openssl/x509_vfy.h +17 -25
- data/third_party/boringssl/include/openssl/x509v3.h +27 -21
- data/third_party/boringssl/ssl/{bio_ssl.c → bio_ssl.cc} +9 -5
- data/third_party/boringssl/ssl/{custom_extensions.c → custom_extensions.cc} +19 -12
- data/third_party/boringssl/ssl/{d1_both.c → d1_both.cc} +224 -193
- data/third_party/boringssl/ssl/{d1_lib.c → d1_lib.cc} +86 -79
- data/third_party/boringssl/ssl/{d1_pkt.c → d1_pkt.cc} +55 -87
- data/third_party/boringssl/ssl/{d1_srtp.c → d1_srtp.cc} +12 -16
- data/third_party/boringssl/ssl/{dtls_method.c → dtls_method.cc} +33 -50
- data/third_party/boringssl/ssl/{dtls_record.c → dtls_record.cc} +76 -64
- data/third_party/boringssl/ssl/handshake.cc +547 -0
- data/third_party/boringssl/ssl/handshake_client.cc +1828 -0
- data/third_party/boringssl/ssl/handshake_server.cc +1672 -0
- data/third_party/boringssl/ssl/internal.h +2027 -1280
- data/third_party/boringssl/ssl/s3_both.cc +603 -0
- data/third_party/boringssl/ssl/{s3_lib.c → s3_lib.cc} +22 -10
- data/third_party/boringssl/ssl/{s3_pkt.c → s3_pkt.cc} +171 -75
- data/third_party/boringssl/ssl/ssl_aead_ctx.cc +415 -0
- data/third_party/boringssl/ssl/{ssl_asn1.c → ssl_asn1.cc} +257 -261
- data/third_party/boringssl/ssl/{ssl_buffer.c → ssl_buffer.cc} +81 -97
- data/third_party/boringssl/ssl/{ssl_cert.c → ssl_cert.cc} +304 -414
- data/third_party/boringssl/ssl/{ssl_cipher.c → ssl_cipher.cc} +427 -505
- data/third_party/boringssl/ssl/{ssl_file.c → ssl_file.cc} +24 -16
- data/third_party/boringssl/ssl/ssl_key_share.cc +245 -0
- data/third_party/boringssl/ssl/{ssl_lib.c → ssl_lib.cc} +665 -828
- data/third_party/boringssl/ssl/ssl_privkey.cc +518 -0
- data/third_party/boringssl/ssl/{ssl_session.c → ssl_session.cc} +596 -471
- data/third_party/boringssl/ssl/{ssl_stat.c → ssl_stat.cc} +5 -224
- data/third_party/boringssl/ssl/{ssl_transcript.c → ssl_transcript.cc} +117 -140
- data/third_party/boringssl/ssl/ssl_versions.cc +439 -0
- data/third_party/boringssl/ssl/{ssl_x509.c → ssl_x509.cc} +751 -267
- data/third_party/boringssl/ssl/{t1_enc.c → t1_enc.cc} +120 -161
- data/third_party/boringssl/ssl/{t1_lib.c → t1_lib.cc} +859 -966
- data/third_party/boringssl/ssl/{tls13_both.c → tls13_both.cc} +202 -284
- data/third_party/boringssl/ssl/tls13_client.cc +842 -0
- data/third_party/boringssl/ssl/{tls13_enc.c → tls13_enc.cc} +108 -90
- data/third_party/boringssl/ssl/tls13_server.cc +967 -0
- data/third_party/boringssl/ssl/{tls_method.c → tls_method.cc} +94 -73
- data/third_party/boringssl/ssl/tls_record.cc +675 -0
- metadata +117 -168
- data/include/grpc/support/cmdline.h +0 -88
- data/include/grpc/support/subprocess.h +0 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -29
- data/src/core/ext/filters/client_channel/resolver_factory.cc +0 -40
- data/src/core/lib/gpr/cmdline.cc +0 -330
- data/src/core/lib/gpr/subprocess_posix.cc +0 -99
- data/src/core/lib/gpr/subprocess_windows.cc +0 -126
- data/src/core/lib/surface/alarm.cc +0 -137
- data/src/core/lib/surface/alarm_internal.h +0 -40
- data/src/core/tsi/gts_transport_security.cc +0 -40
- data/third_party/boringssl/crypto/aes/aes.c +0 -1142
- data/third_party/boringssl/crypto/aes/internal.h +0 -87
- data/third_party/boringssl/crypto/aes/key_wrap.c +0 -138
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +0 -112
- data/third_party/boringssl/crypto/asn1/x_long.c +0 -200
- data/third_party/boringssl/crypto/bn/add.c +0 -377
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -532
- data/third_party/boringssl/crypto/bn/bn.c +0 -365
- data/third_party/boringssl/crypto/bn/cmp.c +0 -239
- data/third_party/boringssl/crypto/bn/ctx.c +0 -313
- data/third_party/boringssl/crypto/bn/div.c +0 -728
- data/third_party/boringssl/crypto/bn/exponentiation.c +0 -1240
- data/third_party/boringssl/crypto/bn/gcd.c +0 -635
- data/third_party/boringssl/crypto/bn/generic.c +0 -707
- data/third_party/boringssl/crypto/bn/kronecker.c +0 -176
- data/third_party/boringssl/crypto/bn/montgomery.c +0 -409
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +0 -207
- data/third_party/boringssl/crypto/bn/mul.c +0 -871
- data/third_party/boringssl/crypto/bn/prime.c +0 -861
- data/third_party/boringssl/crypto/bn/random.c +0 -343
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -254
- data/third_party/boringssl/crypto/bn/shift.c +0 -307
- data/third_party/boringssl/crypto/bn/sqrt.c +0 -506
- data/third_party/boringssl/crypto/cipher/aead.c +0 -156
- data/third_party/boringssl/crypto/cipher/cipher.c +0 -657
- data/third_party/boringssl/crypto/cipher/e_aes.c +0 -1771
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +0 -276
- data/third_party/boringssl/crypto/cipher/e_des.c +0 -205
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +0 -482
- data/third_party/boringssl/crypto/des/des.c +0 -771
- data/third_party/boringssl/crypto/digest/digest.c +0 -251
- data/third_party/boringssl/crypto/digest/digests.c +0 -358
- data/third_party/boringssl/crypto/ec/ec.c +0 -847
- data/third_party/boringssl/crypto/ec/ec_key.c +0 -479
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -303
- data/third_party/boringssl/crypto/ec/oct.c +0 -416
- data/third_party/boringssl/crypto/ec/p224-64.c +0 -1143
- data/third_party/boringssl/crypto/ec/p256-64.c +0 -1701
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +0 -561
- data/third_party/boringssl/crypto/ec/simple.c +0 -1118
- data/third_party/boringssl/crypto/ec/util-64.c +0 -109
- data/third_party/boringssl/crypto/ec/wnaf.c +0 -458
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +0 -479
- data/third_party/boringssl/crypto/hmac/hmac.c +0 -215
- data/third_party/boringssl/crypto/md4/md4.c +0 -236
- data/third_party/boringssl/crypto/md5/md5.c +0 -285
- data/third_party/boringssl/crypto/modes/cbc.c +0 -212
- data/third_party/boringssl/crypto/modes/cfb.c +0 -230
- data/third_party/boringssl/crypto/modes/ctr.c +0 -219
- data/third_party/boringssl/crypto/modes/gcm.c +0 -1071
- data/third_party/boringssl/crypto/modes/ofb.c +0 -95
- data/third_party/boringssl/crypto/modes/polyval.c +0 -94
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +0 -85
- data/third_party/boringssl/crypto/rand/rand.c +0 -244
- data/third_party/boringssl/crypto/rand/urandom.c +0 -335
- data/third_party/boringssl/crypto/rsa/blinding.c +0 -265
- data/third_party/boringssl/crypto/rsa/padding.c +0 -708
- data/third_party/boringssl/crypto/rsa/rsa.c +0 -830
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +0 -1100
- data/third_party/boringssl/crypto/sha/sha1-altivec.c +0 -346
- data/third_party/boringssl/crypto/sha/sha1.c +0 -355
- data/third_party/boringssl/crypto/sha/sha256.c +0 -329
- data/third_party/boringssl/crypto/sha/sha512.c +0 -609
- data/third_party/boringssl/crypto/x509/x509type.c +0 -126
- data/third_party/boringssl/include/openssl/stack_macros.h +0 -3987
- data/third_party/boringssl/ssl/handshake_client.c +0 -1883
- data/third_party/boringssl/ssl/handshake_server.c +0 -1950
- data/third_party/boringssl/ssl/s3_both.c +0 -895
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +0 -335
- data/third_party/boringssl/ssl/ssl_ecdh.c +0 -465
- data/third_party/boringssl/ssl/ssl_privkey.c +0 -683
- data/third_party/boringssl/ssl/ssl_privkey_cc.cc +0 -76
- data/third_party/boringssl/ssl/tls13_client.c +0 -712
- data/third_party/boringssl/ssl/tls13_server.c +0 -680
- data/third_party/boringssl/ssl/tls_record.c +0 -556
@@ -39,11 +39,11 @@
|
|
39
39
|
|
40
40
|
#include <grpc/support/alloc.h>
|
41
41
|
#include <grpc/support/string_util.h>
|
42
|
-
#include <grpc/support/tls.h>
|
43
|
-
#include <grpc/support/useful.h>
|
44
42
|
|
45
43
|
#include "src/core/lib/debug/stats.h"
|
46
|
-
#include "src/core/lib/gpr
|
44
|
+
#include "src/core/lib/gpr/tls.h"
|
45
|
+
#include "src/core/lib/gpr/useful.h"
|
46
|
+
#include "src/core/lib/gprpp/manual_constructor.h"
|
47
47
|
#include "src/core/lib/iomgr/block_annotate.h"
|
48
48
|
#include "src/core/lib/iomgr/ev_posix.h"
|
49
49
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
@@ -349,7 +349,7 @@ static void polling_island_add_fds_locked(polling_island* pi, grpc_fd** fds,
|
|
349
349
|
#endif /* defined(GRPC_TSAN) */
|
350
350
|
|
351
351
|
for (i = 0; i < fd_count; i++) {
|
352
|
-
ev.events =
|
352
|
+
ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLOUT | EPOLLET);
|
353
353
|
ev.data.ptr = fds[i];
|
354
354
|
err = epoll_ctl(pi->epoll_fd, EPOLL_CTL_ADD, fds[i]->fd, &ev);
|
355
355
|
|
@@ -368,8 +368,8 @@ static void polling_island_add_fds_locked(polling_island* pi, grpc_fd** fds,
|
|
368
368
|
|
369
369
|
if (pi->fd_cnt == pi->fd_capacity) {
|
370
370
|
pi->fd_capacity = GPR_MAX(pi->fd_capacity + 8, pi->fd_cnt * 3 / 2);
|
371
|
-
pi->fds =
|
372
|
-
|
371
|
+
pi->fds = static_cast<grpc_fd**>(
|
372
|
+
gpr_realloc(pi->fds, sizeof(grpc_fd*) * pi->fd_capacity));
|
373
373
|
}
|
374
374
|
|
375
375
|
pi->fds[pi->fd_cnt++] = fds[i];
|
@@ -388,7 +388,7 @@ static void polling_island_add_wakeup_fd_locked(polling_island* pi,
|
|
388
388
|
char* err_msg;
|
389
389
|
const char* err_desc = "polling_island_add_wakeup_fd";
|
390
390
|
|
391
|
-
ev.events =
|
391
|
+
ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLET);
|
392
392
|
ev.data.ptr = wakeup_fd;
|
393
393
|
err = epoll_ctl(pi->epoll_fd, EPOLL_CTL_ADD,
|
394
394
|
GRPC_WAKEUP_FD_GET_READ_FD(wakeup_fd), &ev);
|
@@ -471,7 +471,7 @@ static polling_island* polling_island_create(grpc_fd* initial_fd,
|
|
471
471
|
|
472
472
|
*error = GRPC_ERROR_NONE;
|
473
473
|
|
474
|
-
pi = (
|
474
|
+
pi = static_cast<polling_island*>(gpr_malloc(sizeof(*pi)));
|
475
475
|
gpr_mu_init(&pi->mu);
|
476
476
|
pi->fd_cnt = 0;
|
477
477
|
pi->fd_capacity = 0;
|
@@ -815,7 +815,7 @@ static grpc_fd* fd_create(int fd, const char* name) {
|
|
815
815
|
gpr_mu_unlock(&fd_freelist_mu);
|
816
816
|
|
817
817
|
if (new_fd == nullptr) {
|
818
|
-
new_fd = (
|
818
|
+
new_fd = static_cast<grpc_fd*>(gpr_malloc(sizeof(grpc_fd)));
|
819
819
|
gpr_mu_init(&new_fd->po.mu);
|
820
820
|
new_fd->read_closure.Init();
|
821
821
|
new_fd->write_closure.Init();
|
@@ -976,7 +976,8 @@ static grpc_error* pollset_worker_kick(grpc_pollset_worker* worker) {
|
|
976
976
|
grpc_error* err = GRPC_ERROR_NONE;
|
977
977
|
|
978
978
|
/* Kick the worker only if it was not already kicked */
|
979
|
-
if (gpr_atm_no_barrier_cas(&worker->is_kicked, (
|
979
|
+
if (gpr_atm_no_barrier_cas(&worker->is_kicked, static_cast<gpr_atm>(0),
|
980
|
+
static_cast<gpr_atm>(1))) {
|
980
981
|
GRPC_POLLING_TRACE(
|
981
982
|
"pollset_worker_kick: Kicking worker: %p (thread id: %ld)",
|
982
983
|
(void*)worker, (long int)worker->pt_id);
|
@@ -1024,7 +1025,7 @@ static void push_front_worker(grpc_pollset* p, grpc_pollset_worker* worker) {
|
|
1024
1025
|
/* p->mu must be held before calling this function */
|
1025
1026
|
static grpc_error* pollset_kick(grpc_pollset* p,
|
1026
1027
|
grpc_pollset_worker* specific_worker) {
|
1027
|
-
|
1028
|
+
GPR_TIMER_SCOPE("pollset_kick", 0);
|
1028
1029
|
grpc_error* error = GRPC_ERROR_NONE;
|
1029
1030
|
GRPC_STATS_INC_POLLSET_KICK();
|
1030
1031
|
const char* err_desc = "Kick Failure";
|
@@ -1032,14 +1033,13 @@ static grpc_error* pollset_kick(grpc_pollset* p,
|
|
1032
1033
|
if (worker != nullptr) {
|
1033
1034
|
if (worker == GRPC_POLLSET_KICK_BROADCAST) {
|
1034
1035
|
if (pollset_has_workers(p)) {
|
1035
|
-
|
1036
|
+
GPR_TIMER_SCOPE("pollset_kick.broadcast", 0);
|
1036
1037
|
for (worker = p->root_worker.next; worker != &p->root_worker;
|
1037
1038
|
worker = worker->next) {
|
1038
1039
|
if (gpr_tls_get(&g_current_thread_worker) != (intptr_t)worker) {
|
1039
1040
|
append_error(&error, pollset_worker_kick(worker), err_desc);
|
1040
1041
|
}
|
1041
1042
|
}
|
1042
|
-
GPR_TIMER_END("pollset_kick.broadcast", 0);
|
1043
1043
|
} else {
|
1044
1044
|
p->kicked_without_pollers = true;
|
1045
1045
|
}
|
@@ -1069,7 +1069,6 @@ static grpc_error* pollset_kick(grpc_pollset* p,
|
|
1069
1069
|
}
|
1070
1070
|
}
|
1071
1071
|
|
1072
|
-
GPR_TIMER_END("pollset_kick", 0);
|
1073
1072
|
GRPC_LOG_IF_ERROR("pollset_kick", GRPC_ERROR_REF(error));
|
1074
1073
|
return error;
|
1075
1074
|
}
|
@@ -1098,7 +1097,7 @@ static int poll_deadline_to_millis_timeout(grpc_millis millis) {
|
|
1098
1097
|
else if (delta < 0)
|
1099
1098
|
return 0;
|
1100
1099
|
else
|
1101
|
-
return (
|
1100
|
+
return static_cast<int>(delta);
|
1102
1101
|
}
|
1103
1102
|
|
1104
1103
|
static void fd_become_readable(grpc_fd* fd, grpc_pollset* notifier) {
|
@@ -1136,7 +1135,7 @@ static void finish_shutdown_locked(grpc_pollset* pollset) {
|
|
1136
1135
|
|
1137
1136
|
/* pollset->po.mu lock must be held by the caller before calling this */
|
1138
1137
|
static void pollset_shutdown(grpc_pollset* pollset, grpc_closure* closure) {
|
1139
|
-
|
1138
|
+
GPR_TIMER_SCOPE("pollset_shutdown", 0);
|
1140
1139
|
GPR_ASSERT(!pollset->shutting_down);
|
1141
1140
|
pollset->shutting_down = true;
|
1142
1141
|
pollset->shutdown_done = closure;
|
@@ -1150,7 +1149,6 @@ static void pollset_shutdown(grpc_pollset* pollset, grpc_closure* closure) {
|
|
1150
1149
|
GPR_TIMER_MARK("pollset_shutdown.finish_shutdown_locked", 0);
|
1151
1150
|
finish_shutdown_locked(pollset);
|
1152
1151
|
}
|
1153
|
-
GPR_TIMER_END("pollset_shutdown", 0);
|
1154
1152
|
}
|
1155
1153
|
|
1156
1154
|
/* pollset_shutdown is guaranteed to be called before pollset_destroy. So other
|
@@ -1166,13 +1164,13 @@ static void pollset_destroy(grpc_pollset* pollset) {
|
|
1166
1164
|
static void pollset_work_and_unlock(grpc_pollset* pollset,
|
1167
1165
|
grpc_pollset_worker* worker, int timeout_ms,
|
1168
1166
|
sigset_t* sig_mask, grpc_error** error) {
|
1167
|
+
GPR_TIMER_SCOPE("pollset_work_and_unlock", 0);
|
1169
1168
|
struct epoll_event ep_ev[GRPC_EPOLL_MAX_EVENTS];
|
1170
1169
|
int epoll_fd = -1;
|
1171
1170
|
int ep_rv;
|
1172
1171
|
polling_island* pi = nullptr;
|
1173
1172
|
char* err_msg;
|
1174
1173
|
const char* err_desc = "pollset_work_and_unlock";
|
1175
|
-
GPR_TIMER_BEGIN("pollset_work_and_unlock", 0);
|
1176
1174
|
|
1177
1175
|
/* We need to get the epoll_fd to wait on. The epoll_fd is in inside the
|
1178
1176
|
latest polling island pointed by pollset->po.pi
|
@@ -1187,7 +1185,6 @@ static void pollset_work_and_unlock(grpc_pollset* pollset,
|
|
1187
1185
|
if (pollset->po.pi == nullptr) {
|
1188
1186
|
pollset->po.pi = polling_island_create(nullptr, error);
|
1189
1187
|
if (pollset->po.pi == nullptr) {
|
1190
|
-
GPR_TIMER_END("pollset_work_and_unlock", 0);
|
1191
1188
|
return; /* Fatal error. We cannot continue */
|
1192
1189
|
}
|
1193
1190
|
|
@@ -1255,7 +1252,7 @@ static void pollset_work_and_unlock(grpc_pollset* pollset,
|
|
1255
1252
|
to the function pollset_work_and_unlock() will pick up the correct
|
1256
1253
|
epoll_fd */
|
1257
1254
|
} else {
|
1258
|
-
grpc_fd* fd = (
|
1255
|
+
grpc_fd* fd = static_cast<grpc_fd*>(data_ptr);
|
1259
1256
|
int cancel = ep_ev[i].events & (EPOLLERR | EPOLLHUP);
|
1260
1257
|
int read_ev = ep_ev[i].events & (EPOLLIN | EPOLLPRI);
|
1261
1258
|
int write_ev = ep_ev[i].events & EPOLLOUT;
|
@@ -1279,8 +1276,6 @@ static void pollset_work_and_unlock(grpc_pollset* pollset,
|
|
1279
1276
|
pollset->po.pi pointer might get udpated in other parts of the
|
1280
1277
|
code when there is an island merge while we are doing epoll_wait() above */
|
1281
1278
|
PI_UNREF(pi, "ps_work");
|
1282
|
-
|
1283
|
-
GPR_TIMER_END("pollset_work_and_unlock", 0);
|
1284
1279
|
}
|
1285
1280
|
|
1286
1281
|
/* pollset->po.mu lock must be held by the caller before calling this.
|
@@ -1290,7 +1285,7 @@ static void pollset_work_and_unlock(grpc_pollset* pollset,
|
|
1290
1285
|
static grpc_error* pollset_work(grpc_pollset* pollset,
|
1291
1286
|
grpc_pollset_worker** worker_hdl,
|
1292
1287
|
grpc_millis deadline) {
|
1293
|
-
|
1288
|
+
GPR_TIMER_SCOPE("pollset_work", 0);
|
1294
1289
|
grpc_error* error = GRPC_ERROR_NONE;
|
1295
1290
|
int timeout_ms = poll_deadline_to_millis_timeout(deadline);
|
1296
1291
|
|
@@ -1384,15 +1379,13 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
1384
1379
|
gpr_tls_set(&g_current_thread_pollset, (intptr_t)0);
|
1385
1380
|
gpr_tls_set(&g_current_thread_worker, (intptr_t)0);
|
1386
1381
|
|
1387
|
-
GPR_TIMER_END("pollset_work", 0);
|
1388
|
-
|
1389
1382
|
GRPC_LOG_IF_ERROR("pollset_work", GRPC_ERROR_REF(error));
|
1390
1383
|
return error;
|
1391
1384
|
}
|
1392
1385
|
|
1393
1386
|
static void add_poll_object(poll_obj* bag, poll_obj_type bag_type,
|
1394
1387
|
poll_obj* item, poll_obj_type item_type) {
|
1395
|
-
|
1388
|
+
GPR_TIMER_SCOPE("add_poll_object", 0);
|
1396
1389
|
|
1397
1390
|
#ifndef NDEBUG
|
1398
1391
|
GPR_ASSERT(item->obj_type == item_type);
|
@@ -1535,7 +1528,6 @@ retry:
|
|
1535
1528
|
gpr_mu_unlock(&bag->mu);
|
1536
1529
|
|
1537
1530
|
GRPC_LOG_IF_ERROR("add_poll_object", error);
|
1538
|
-
GPR_TIMER_END("add_poll_object", 0);
|
1539
1531
|
}
|
1540
1532
|
|
1541
1533
|
static void pollset_add_fd(grpc_pollset* pollset, grpc_fd* fd) {
|
@@ -1547,7 +1539,8 @@ static void pollset_add_fd(grpc_pollset* pollset, grpc_fd* fd) {
|
|
1547
1539
|
*/
|
1548
1540
|
|
1549
1541
|
static grpc_pollset_set* pollset_set_create(void) {
|
1550
|
-
grpc_pollset_set* pss =
|
1542
|
+
grpc_pollset_set* pss =
|
1543
|
+
static_cast<grpc_pollset_set*>(gpr_malloc(sizeof(*pss)));
|
1551
1544
|
gpr_mu_init(&pss->po.mu);
|
1552
1545
|
pss->po.pi = nullptr;
|
1553
1546
|
#ifndef NDEBUG
|
@@ -1616,8 +1609,8 @@ void* grpc_pollset_get_polling_island(grpc_pollset* ps) {
|
|
1616
1609
|
}
|
1617
1610
|
|
1618
1611
|
bool grpc_are_polling_islands_equal(void* p, void* q) {
|
1619
|
-
polling_island* p1 = (
|
1620
|
-
polling_island* p2 = (
|
1612
|
+
polling_island* p1 = static_cast<polling_island*>(p);
|
1613
|
+
polling_island* p2 = static_cast<polling_island*>(q);
|
1621
1614
|
|
1622
1615
|
/* Note: polling_island_lock_pair() may change p1 and p2 to point to the
|
1623
1616
|
latest polling islands in their respective linked lists */
|
@@ -33,12 +33,12 @@
|
|
33
33
|
#include <grpc/support/alloc.h>
|
34
34
|
#include <grpc/support/log.h>
|
35
35
|
#include <grpc/support/string_util.h>
|
36
|
-
#include <grpc/support/thd.h>
|
37
|
-
#include <grpc/support/tls.h>
|
38
|
-
#include <grpc/support/useful.h>
|
39
36
|
|
40
37
|
#include "src/core/lib/debug/stats.h"
|
41
38
|
#include "src/core/lib/gpr/murmur_hash.h"
|
39
|
+
#include "src/core/lib/gpr/thd.h"
|
40
|
+
#include "src/core/lib/gpr/tls.h"
|
41
|
+
#include "src/core/lib/gpr/useful.h"
|
42
42
|
#include "src/core/lib/iomgr/block_annotate.h"
|
43
43
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
44
44
|
#include "src/core/lib/iomgr/wakeup_fd_cv.h"
|
@@ -323,7 +323,7 @@ static void unref_by(grpc_fd* fd, int n) {
|
|
323
323
|
}
|
324
324
|
|
325
325
|
static grpc_fd* fd_create(int fd, const char* name) {
|
326
|
-
grpc_fd* r = (
|
326
|
+
grpc_fd* r = static_cast<grpc_fd*>(gpr_malloc(sizeof(*r)));
|
327
327
|
gpr_mu_init(&r->mu);
|
328
328
|
gpr_atm_rel_store(&r->refst, 1);
|
329
329
|
r->shutdown = 0;
|
@@ -457,16 +457,20 @@ static grpc_error* fd_shutdown_error(grpc_fd* fd) {
|
|
457
457
|
if (!fd->shutdown) {
|
458
458
|
return GRPC_ERROR_NONE;
|
459
459
|
} else {
|
460
|
-
return GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
|
461
|
-
|
460
|
+
return grpc_error_set_int(GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
|
461
|
+
"FD shutdown", &fd->shutdown_error, 1),
|
462
|
+
GRPC_ERROR_INT_GRPC_STATUS,
|
463
|
+
GRPC_STATUS_UNAVAILABLE);
|
462
464
|
}
|
463
465
|
}
|
464
466
|
|
465
467
|
static void notify_on_locked(grpc_fd* fd, grpc_closure** st,
|
466
468
|
grpc_closure* closure) {
|
467
469
|
if (fd->shutdown || gpr_atm_no_barrier_load(&fd->pollhup)) {
|
468
|
-
GRPC_CLOSURE_SCHED(
|
469
|
-
|
470
|
+
GRPC_CLOSURE_SCHED(
|
471
|
+
closure, grpc_error_set_int(
|
472
|
+
GRPC_ERROR_CREATE_FROM_STATIC_STRING("FD shutdown"),
|
473
|
+
GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE));
|
470
474
|
} else if (*st == CLOSURE_NOT_READY) {
|
471
475
|
/* not ready ==> switch to a waiting state by setting the closure */
|
472
476
|
*st = closure;
|
@@ -706,14 +710,14 @@ static void kick_append_error(grpc_error** composite, grpc_error* error) {
|
|
706
710
|
static grpc_error* pollset_kick_ext(grpc_pollset* p,
|
707
711
|
grpc_pollset_worker* specific_worker,
|
708
712
|
uint32_t flags) {
|
709
|
-
|
713
|
+
GPR_TIMER_SCOPE("pollset_kick_ext", 0);
|
710
714
|
grpc_error* error = GRPC_ERROR_NONE;
|
711
715
|
GRPC_STATS_INC_POLLSET_KICK();
|
712
716
|
|
713
717
|
/* pollset->mu already held */
|
714
718
|
if (specific_worker != nullptr) {
|
715
719
|
if (specific_worker == GRPC_POLLSET_KICK_BROADCAST) {
|
716
|
-
|
720
|
+
GPR_TIMER_SCOPE("pollset_kick_ext.broadcast", 0);
|
717
721
|
GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0);
|
718
722
|
for (specific_worker = p->root_worker.next;
|
719
723
|
specific_worker != &p->root_worker;
|
@@ -722,7 +726,6 @@ static grpc_error* pollset_kick_ext(grpc_pollset* p,
|
|
722
726
|
&error, grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd));
|
723
727
|
}
|
724
728
|
p->kicked_without_pollers = true;
|
725
|
-
GPR_TIMER_END("pollset_kick_ext.broadcast", 0);
|
726
729
|
} else if (gpr_tls_get(&g_current_thread_worker) !=
|
727
730
|
(intptr_t)specific_worker) {
|
728
731
|
GPR_TIMER_MARK("different_thread_worker", 0);
|
@@ -769,7 +772,6 @@ static grpc_error* pollset_kick_ext(grpc_pollset* p,
|
|
769
772
|
}
|
770
773
|
}
|
771
774
|
|
772
|
-
GPR_TIMER_END("pollset_kick_ext", 0);
|
773
775
|
GRPC_LOG_IF_ERROR("pollset_kick_ext", GRPC_ERROR_REF(error));
|
774
776
|
return error;
|
775
777
|
}
|
@@ -833,8 +835,8 @@ static void pollset_add_fd(grpc_pollset* pollset, grpc_fd* fd) {
|
|
833
835
|
if (pollset->fd_count == pollset->fd_capacity) {
|
834
836
|
pollset->fd_capacity =
|
835
837
|
GPR_MAX(pollset->fd_capacity + 8, pollset->fd_count * 3 / 2);
|
836
|
-
pollset->fds =
|
837
|
-
pollset->fds, sizeof(grpc_fd*) * pollset->fd_capacity);
|
838
|
+
pollset->fds = static_cast<grpc_fd**>(
|
839
|
+
gpr_realloc(pollset->fds, sizeof(grpc_fd*) * pollset->fd_capacity));
|
838
840
|
}
|
839
841
|
pollset->fds[pollset->fd_count++] = fd;
|
840
842
|
GRPC_FD_REF(fd, "multipoller");
|
@@ -864,6 +866,8 @@ static void work_combine_error(grpc_error** composite, grpc_error* error) {
|
|
864
866
|
static grpc_error* pollset_work(grpc_pollset* pollset,
|
865
867
|
grpc_pollset_worker** worker_hdl,
|
866
868
|
grpc_millis deadline) {
|
869
|
+
GPR_TIMER_SCOPE("pollset_work", 0);
|
870
|
+
|
867
871
|
grpc_pollset_worker worker;
|
868
872
|
if (worker_hdl) *worker_hdl = &worker;
|
869
873
|
grpc_error* error = GRPC_ERROR_NONE;
|
@@ -878,7 +882,6 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
878
882
|
int locked = 1;
|
879
883
|
int queued_work = 0;
|
880
884
|
int keep_polling = 0;
|
881
|
-
GPR_TIMER_BEGIN("pollset_work", 0);
|
882
885
|
/* this must happen before we (potentially) drop pollset->mu */
|
883
886
|
worker.next = worker.prev = nullptr;
|
884
887
|
worker.reevaluate_polling_on_wakeup = 0;
|
@@ -886,8 +889,8 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
886
889
|
worker.wakeup_fd = pollset->local_wakeup_cache;
|
887
890
|
pollset->local_wakeup_cache = worker.wakeup_fd->next;
|
888
891
|
} else {
|
889
|
-
worker.wakeup_fd =
|
890
|
-
|
892
|
+
worker.wakeup_fd = static_cast<grpc_cached_wakeup_fd*>(
|
893
|
+
gpr_malloc(sizeof(*worker.wakeup_fd)));
|
891
894
|
error = grpc_wakeup_fd_init(&worker.wakeup_fd->fd);
|
892
895
|
if (error != GRPC_ERROR_NONE) {
|
893
896
|
GRPC_LOG_IF_ERROR("pollset_work", GRPC_ERROR_REF(error));
|
@@ -921,7 +924,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
921
924
|
added_worker = 1;
|
922
925
|
gpr_tls_set(&g_current_thread_worker, (intptr_t)&worker);
|
923
926
|
}
|
924
|
-
|
927
|
+
GPR_TIMER_SCOPE("maybe_work_and_unlock", 0);
|
925
928
|
#define POLLOUT_CHECK (POLLOUT | POLLHUP | POLLERR)
|
926
929
|
#define POLLIN_CHECK (POLLIN | POLLHUP | POLLERR)
|
927
930
|
|
@@ -942,8 +945,9 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
942
945
|
const size_t pfd_size = sizeof(*pfds) * (pollset->fd_count + 2);
|
943
946
|
const size_t watch_size = sizeof(*watchers) * (pollset->fd_count + 2);
|
944
947
|
void* buf = gpr_malloc(pfd_size + watch_size);
|
945
|
-
pfds =
|
946
|
-
watchers =
|
948
|
+
pfds = static_cast<struct pollfd*>(buf);
|
949
|
+
watchers = static_cast<grpc_fd_watcher*>(
|
950
|
+
(void*)(static_cast<char*>(buf) + pfd_size));
|
947
951
|
}
|
948
952
|
|
949
953
|
fd_count = 0;
|
@@ -969,8 +973,8 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
969
973
|
|
970
974
|
for (i = 1; i < pfd_count; i++) {
|
971
975
|
grpc_fd* fd = watchers[i].fd;
|
972
|
-
pfds[i].events =
|
973
|
-
|
976
|
+
pfds[i].events = static_cast<short>(
|
977
|
+
fd_begin_poll(fd, pollset, &worker, POLLIN, POLLOUT, &watchers[i]));
|
974
978
|
GRPC_FD_UNREF(fd, "multipoller_start");
|
975
979
|
}
|
976
980
|
|
@@ -1037,7 +1041,6 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
1037
1041
|
gpr_free(pfds);
|
1038
1042
|
}
|
1039
1043
|
|
1040
|
-
GPR_TIMER_END("maybe_work_and_unlock", 0);
|
1041
1044
|
locked = 0;
|
1042
1045
|
} else {
|
1043
1046
|
GPR_TIMER_MARK("pollset_work.kicked_without_pollers", 0);
|
@@ -1097,7 +1100,6 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
1097
1100
|
}
|
1098
1101
|
}
|
1099
1102
|
if (worker_hdl) *worker_hdl = nullptr;
|
1100
|
-
GPR_TIMER_END("pollset_work", 0);
|
1101
1103
|
GRPC_LOG_IF_ERROR("pollset_work", GRPC_ERROR_REF(error));
|
1102
1104
|
return error;
|
1103
1105
|
}
|
@@ -1122,7 +1124,7 @@ static int poll_deadline_to_millis_timeout(grpc_millis deadline) {
|
|
1122
1124
|
grpc_millis n = deadline - grpc_core::ExecCtx::Get()->Now();
|
1123
1125
|
if (n < 0) return 0;
|
1124
1126
|
if (n > INT_MAX) return -1;
|
1125
|
-
return (
|
1127
|
+
return static_cast<int>(n);
|
1126
1128
|
}
|
1127
1129
|
|
1128
1130
|
/*******************************************************************************
|
@@ -1131,7 +1133,7 @@ static int poll_deadline_to_millis_timeout(grpc_millis deadline) {
|
|
1131
1133
|
|
1132
1134
|
static grpc_pollset_set* pollset_set_create(void) {
|
1133
1135
|
grpc_pollset_set* pollset_set =
|
1134
|
-
(
|
1136
|
+
static_cast<grpc_pollset_set*>(gpr_zalloc(sizeof(*pollset_set)));
|
1135
1137
|
gpr_mu_init(&pollset_set->mu);
|
1136
1138
|
return pollset_set;
|
1137
1139
|
}
|
@@ -1172,9 +1174,9 @@ static void pollset_set_add_pollset(grpc_pollset_set* pollset_set,
|
|
1172
1174
|
if (pollset_set->pollset_count == pollset_set->pollset_capacity) {
|
1173
1175
|
pollset_set->pollset_capacity =
|
1174
1176
|
GPR_MAX(8, 2 * pollset_set->pollset_capacity);
|
1175
|
-
pollset_set->pollsets = (
|
1177
|
+
pollset_set->pollsets = static_cast<grpc_pollset**>(gpr_realloc(
|
1176
1178
|
pollset_set->pollsets,
|
1177
|
-
pollset_set->pollset_capacity * sizeof(*pollset_set->pollsets));
|
1179
|
+
pollset_set->pollset_capacity * sizeof(*pollset_set->pollsets)));
|
1178
1180
|
}
|
1179
1181
|
pollset_set->pollsets[pollset_set->pollset_count++] = pollset;
|
1180
1182
|
for (i = 0, j = 0; i < pollset_set->fd_count; i++) {
|
@@ -1221,9 +1223,9 @@ static void pollset_set_add_pollset_set(grpc_pollset_set* bag,
|
|
1221
1223
|
gpr_mu_lock(&bag->mu);
|
1222
1224
|
if (bag->pollset_set_count == bag->pollset_set_capacity) {
|
1223
1225
|
bag->pollset_set_capacity = GPR_MAX(8, 2 * bag->pollset_set_capacity);
|
1224
|
-
bag->pollset_sets =
|
1225
|
-
bag->pollset_sets,
|
1226
|
-
|
1226
|
+
bag->pollset_sets = static_cast<grpc_pollset_set**>(
|
1227
|
+
gpr_realloc(bag->pollset_sets,
|
1228
|
+
bag->pollset_set_capacity * sizeof(*bag->pollset_sets)));
|
1227
1229
|
}
|
1228
1230
|
bag->pollset_sets[bag->pollset_set_count++] = item;
|
1229
1231
|
for (i = 0, j = 0; i < bag->fd_count; i++) {
|
@@ -1258,8 +1260,9 @@ static void pollset_set_add_fd(grpc_pollset_set* pollset_set, grpc_fd* fd) {
|
|
1258
1260
|
gpr_mu_lock(&pollset_set->mu);
|
1259
1261
|
if (pollset_set->fd_count == pollset_set->fd_capacity) {
|
1260
1262
|
pollset_set->fd_capacity = GPR_MAX(8, 2 * pollset_set->fd_capacity);
|
1261
|
-
pollset_set->fds =
|
1262
|
-
pollset_set->fds,
|
1263
|
+
pollset_set->fds = static_cast<grpc_fd**>(
|
1264
|
+
gpr_realloc(pollset_set->fds,
|
1265
|
+
pollset_set->fd_capacity * sizeof(*pollset_set->fds)));
|
1263
1266
|
}
|
1264
1267
|
GRPC_FD_REF(fd, "pollset_set");
|
1265
1268
|
pollset_set->fds[pollset_set->fd_count++] = fd;
|
@@ -1311,12 +1314,12 @@ static void cache_insert_locked(poll_args* args) {
|
|
1311
1314
|
}
|
1312
1315
|
|
1313
1316
|
static void init_result(poll_args* pargs) {
|
1314
|
-
pargs->result = (
|
1317
|
+
pargs->result = static_cast<poll_result*>(gpr_malloc(sizeof(poll_result)));
|
1315
1318
|
gpr_ref_init(&pargs->result->refcount, 1);
|
1316
1319
|
pargs->result->watchers = nullptr;
|
1317
1320
|
pargs->result->watchcount = 0;
|
1318
|
-
pargs->result->fds =
|
1319
|
-
|
1321
|
+
pargs->result->fds = static_cast<struct pollfd*>(
|
1322
|
+
gpr_malloc(sizeof(struct pollfd) * pargs->nfds));
|
1320
1323
|
memcpy(pargs->result->fds, pargs->fds, sizeof(struct pollfd) * pargs->nfds);
|
1321
1324
|
pargs->result->nfds = pargs->nfds;
|
1322
1325
|
pargs->result->retval = 0;
|
@@ -1355,7 +1358,8 @@ static poll_args* get_poller_locked(struct pollfd* fds, nfds_t count) {
|
|
1355
1358
|
return pargs;
|
1356
1359
|
}
|
1357
1360
|
|
1358
|
-
poll_args* pargs =
|
1361
|
+
poll_args* pargs =
|
1362
|
+
static_cast<poll_args*>(gpr_malloc(sizeof(struct poll_args)));
|
1359
1363
|
gpr_cv_init(&pargs->trigger);
|
1360
1364
|
pargs->fds = fds;
|
1361
1365
|
pargs->nfds = count;
|
@@ -1403,7 +1407,7 @@ static void cache_poller_locked(poll_args* args) {
|
|
1403
1407
|
poll_cache.size = poll_cache.size * 2;
|
1404
1408
|
poll_cache.count = 0;
|
1405
1409
|
poll_cache.active_pollers =
|
1406
|
-
(
|
1410
|
+
static_cast<poll_args**>(gpr_malloc(sizeof(void*) * poll_cache.size));
|
1407
1411
|
for (unsigned int i = 0; i < poll_cache.size; i++) {
|
1408
1412
|
poll_cache.active_pollers[i] = nullptr;
|
1409
1413
|
}
|
@@ -1460,7 +1464,7 @@ gpr_timespec thread_grace;
|
|
1460
1464
|
|
1461
1465
|
// Poll in a background thread
|
1462
1466
|
static void run_poll(void* args) {
|
1463
|
-
poll_args* pargs = (
|
1467
|
+
poll_args* pargs = static_cast<poll_args*>(args);
|
1464
1468
|
while (1) {
|
1465
1469
|
poll_result* result = pargs->result;
|
1466
1470
|
int retval = g_cvfds.poll(result->fds, result->nfds, CV_POLL_PERIOD_MS);
|
@@ -1508,12 +1512,13 @@ static int cvfd_poll(struct pollfd* fds, nfds_t nfds, int timeout) {
|
|
1508
1512
|
nfds_t nsockfds = 0;
|
1509
1513
|
poll_result* result = nullptr;
|
1510
1514
|
gpr_mu_lock(&g_cvfds.mu);
|
1511
|
-
pollcv = (
|
1515
|
+
pollcv = static_cast<grpc_cv_node*>(gpr_malloc(sizeof(grpc_cv_node)));
|
1512
1516
|
pollcv->next = nullptr;
|
1513
1517
|
gpr_cv pollcv_cv;
|
1514
1518
|
gpr_cv_init(&pollcv_cv);
|
1515
1519
|
pollcv->cv = &pollcv_cv;
|
1516
|
-
grpc_cv_node* fd_cvs =
|
1520
|
+
grpc_cv_node* fd_cvs =
|
1521
|
+
static_cast<grpc_cv_node*>(gpr_malloc(nfds * sizeof(grpc_cv_node)));
|
1517
1522
|
|
1518
1523
|
for (i = 0; i < nfds; i++) {
|
1519
1524
|
fds[i].revents = 0;
|
@@ -1545,8 +1550,8 @@ static int cvfd_poll(struct pollfd* fds, nfds_t nfds, int timeout) {
|
|
1545
1550
|
|
1546
1551
|
res = 0;
|
1547
1552
|
if (!skip_poll && nsockfds > 0) {
|
1548
|
-
struct pollfd* pollfds =
|
1549
|
-
|
1553
|
+
struct pollfd* pollfds = static_cast<struct pollfd*>(
|
1554
|
+
gpr_malloc(sizeof(struct pollfd) * nsockfds));
|
1550
1555
|
idx = 0;
|
1551
1556
|
for (i = 0; i < nfds; i++) {
|
1552
1557
|
if (fds[i].fd >= 0) {
|
@@ -1609,8 +1614,8 @@ static void global_cv_fd_table_init() {
|
|
1609
1614
|
gpr_cv_init(&g_cvfds.shutdown_cv);
|
1610
1615
|
gpr_ref_init(&g_cvfds.pollcount, 1);
|
1611
1616
|
g_cvfds.size = CV_DEFAULT_TABLE_SIZE;
|
1612
|
-
g_cvfds.cvfds =
|
1613
|
-
|
1617
|
+
g_cvfds.cvfds = static_cast<grpc_fd_node*>(
|
1618
|
+
gpr_malloc(sizeof(grpc_fd_node) * CV_DEFAULT_TABLE_SIZE));
|
1614
1619
|
g_cvfds.free_fds = nullptr;
|
1615
1620
|
thread_grace = gpr_time_from_millis(POLLCV_THREAD_GRACE_MS, GPR_TIMESPAN);
|
1616
1621
|
for (int i = 0; i < CV_DEFAULT_TABLE_SIZE; i++) {
|
@@ -1627,7 +1632,8 @@ static void global_cv_fd_table_init() {
|
|
1627
1632
|
poll_cache.size = 32;
|
1628
1633
|
poll_cache.count = 0;
|
1629
1634
|
poll_cache.free_pollers = nullptr;
|
1630
|
-
poll_cache.active_pollers =
|
1635
|
+
poll_cache.active_pollers =
|
1636
|
+
static_cast<poll_args**>(gpr_malloc(sizeof(void*) * 32));
|
1631
1637
|
for (unsigned int i = 0; i < poll_cache.size; i++) {
|
1632
1638
|
poll_cache.active_pollers[i] = nullptr;
|
1633
1639
|
}
|