grpc 1.37.1 → 1.38.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 +64 -58
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/channel_args.h +28 -0
- data/include/grpc/event_engine/event_engine.h +336 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/event_engine/slice_allocator.h +81 -0
- data/include/grpc/grpc.h +2 -2
- data/include/grpc/grpc_security_constants.h +14 -0
- data/include/grpc/impl/codegen/grpc_types.h +11 -0
- data/include/grpc/impl/codegen/port_platform.h +5 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
- data/src/core/ext/filters/client_channel/client_channel.h +489 -55
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
- data/src/core/ext/filters/client_channel/server_address.cc +1 -1
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
- data/src/core/ext/filters/client_channel/subchannel.h +7 -6
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +101 -93
- data/src/core/ext/xds/xds_api.h +6 -6
- data/src/core/ext/xds/xds_bootstrap.cc +97 -159
- data/src/core/ext/xds/xds_bootstrap.h +19 -24
- data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
- data/src/core/ext/xds/xds_certificate_provider.h +4 -4
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +310 -178
- data/src/core/ext/xds/xds_client.h +41 -27
- data/src/core/ext/xds/xds_client_stats.h +3 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
- data/src/core/lib/channel/channel_stack.cc +10 -9
- data/src/core/lib/channel/channel_stack.h +10 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +21 -13
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +7 -6
- data/src/core/lib/channel/handshaker.h +5 -5
- data/src/core/lib/event_engine/slice_allocator.cc +59 -0
- data/src/core/lib/event_engine/sockaddr.cc +38 -0
- data/src/core/lib/gprpp/ref_counted.h +28 -14
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +11 -7
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +4 -5
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +167 -61
- data/src/core/lib/iomgr/error.h +217 -106
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +5 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +4 -4
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +5 -5
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +3 -3
- data/src/core/lib/iomgr/resolve_address.h +6 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +11 -10
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +36 -34
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
- data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +25 -23
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +6 -6
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +39 -39
- data/src/core/lib/matchers/matchers.h +28 -28
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +2 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +33 -32
- data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/surface/call.cc +46 -45
- data/src/core/lib/surface/call.h +2 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +46 -47
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/lame_client.cc +11 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +28 -22
- data/src/core/lib/surface/server.h +16 -15
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +19 -8
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata_batch.cc +37 -37
- data/src/core/lib/transport/metadata_batch.h +19 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +4 -4
- data/src/core/lib/transport/transport_op_string.cc +5 -5
- data/src/core/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/ssl_transport_security.cc +32 -14
- data/src/core/tsi/ssl_transport_security.h +3 -4
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +477 -461
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +68 -45
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -32,10 +32,10 @@
|
|
32
32
|
#include <grpc/support/log_windows.h>
|
33
33
|
#include <grpc/support/string_util.h>
|
34
34
|
|
35
|
+
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
35
36
|
#include "src/core/lib/gpr/useful.h"
|
36
37
|
#include "src/core/lib/iomgr/iocp_windows.h"
|
37
38
|
#include "src/core/lib/iomgr/sockaddr.h"
|
38
|
-
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
39
39
|
#include "src/core/lib/iomgr/socket_windows.h"
|
40
40
|
#include "src/core/lib/iomgr/tcp_client.h"
|
41
41
|
#include "src/core/lib/iomgr/tcp_windows.h"
|
@@ -53,7 +53,7 @@
|
|
53
53
|
|
54
54
|
extern grpc_core::TraceFlag grpc_tcp_trace;
|
55
55
|
|
56
|
-
|
56
|
+
grpc_error_handle grpc_tcp_set_non_block(SOCKET sock) {
|
57
57
|
int status;
|
58
58
|
uint32_t param = 1;
|
59
59
|
DWORD ret;
|
@@ -64,7 +64,7 @@ grpc_error* grpc_tcp_set_non_block(SOCKET sock) {
|
|
64
64
|
: GRPC_WSA_ERROR(WSAGetLastError(), "WSAIoctl(GRPC_FIONBIO)");
|
65
65
|
}
|
66
66
|
|
67
|
-
static
|
67
|
+
static grpc_error_handle set_dualstack(SOCKET sock) {
|
68
68
|
int status;
|
69
69
|
unsigned long param = 0;
|
70
70
|
status = setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (const char*)¶m,
|
@@ -74,7 +74,7 @@ static grpc_error* set_dualstack(SOCKET sock) {
|
|
74
74
|
: GRPC_WSA_ERROR(WSAGetLastError(), "setsockopt(IPV6_V6ONLY)");
|
75
75
|
}
|
76
76
|
|
77
|
-
static
|
77
|
+
static grpc_error_handle enable_socket_low_latency(SOCKET sock) {
|
78
78
|
int status;
|
79
79
|
BOOL param = TRUE;
|
80
80
|
status = ::setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
|
@@ -86,8 +86,8 @@ static grpc_error* enable_socket_low_latency(SOCKET sock) {
|
|
86
86
|
: GRPC_WSA_ERROR(status, "setsockopt(TCP_NODELAY)");
|
87
87
|
}
|
88
88
|
|
89
|
-
|
90
|
-
|
89
|
+
grpc_error_handle grpc_tcp_prepare_socket(SOCKET sock) {
|
90
|
+
grpc_error_handle err;
|
91
91
|
err = grpc_tcp_set_non_block(sock);
|
92
92
|
if (err != GRPC_ERROR_NONE) return err;
|
93
93
|
err = set_dualstack(sock);
|
@@ -123,7 +123,7 @@ typedef struct grpc_tcp {
|
|
123
123
|
to protect ourselves when requesting a shutdown. */
|
124
124
|
gpr_mu mu;
|
125
125
|
int shutting_down;
|
126
|
-
|
126
|
+
grpc_error_handle shutdown_error;
|
127
127
|
|
128
128
|
std::string peer_string;
|
129
129
|
std::string local_address;
|
@@ -177,7 +177,7 @@ static void tcp_ref(grpc_tcp* tcp) { gpr_ref(&tcp->refcount); }
|
|
177
177
|
#endif
|
178
178
|
|
179
179
|
/* Asynchronous callback from the IOCP, or the background thread. */
|
180
|
-
static void on_read(void* tcpp,
|
180
|
+
static void on_read(void* tcpp, grpc_error_handle error) {
|
181
181
|
grpc_tcp* tcp = (grpc_tcp*)tcpp;
|
182
182
|
grpc_closure* cb = tcp->read_cb;
|
183
183
|
grpc_winsocket* socket = tcp->socket;
|
@@ -313,7 +313,7 @@ static void win_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
|
|
313
313
|
}
|
314
314
|
|
315
315
|
/* Asynchronous callback from the IOCP, or the background thread. */
|
316
|
-
static void on_write(void* tcpp,
|
316
|
+
static void on_write(void* tcpp, grpc_error_handle error) {
|
317
317
|
grpc_tcp* tcp = (grpc_tcp*)tcpp;
|
318
318
|
grpc_winsocket* handle = tcp->socket;
|
319
319
|
grpc_winsocket_callback_info* info = &handle->write_info;
|
@@ -399,9 +399,9 @@ static void win_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
399
399
|
connection that has its send queue filled up. But if we don't, then we can
|
400
400
|
avoid doing an async write operation at all. */
|
401
401
|
if (info->wsa_error != WSAEWOULDBLOCK) {
|
402
|
-
|
403
|
-
|
404
|
-
|
402
|
+
grpc_error_handle error = status == 0
|
403
|
+
? GRPC_ERROR_NONE
|
404
|
+
: GRPC_WSA_ERROR(info->wsa_error, "WSASend");
|
405
405
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION, cb, error);
|
406
406
|
if (allocated) gpr_free(allocated);
|
407
407
|
return;
|
@@ -454,7 +454,7 @@ static void win_delete_from_pollset_set(grpc_endpoint* ep,
|
|
454
454
|
we're not going to protect against these. However the IO Completion Port
|
455
455
|
callback will happen from another thread, so we need to protect against
|
456
456
|
concurrent access of the data structure in that regard. */
|
457
|
-
static void win_shutdown(grpc_endpoint* ep,
|
457
|
+
static void win_shutdown(grpc_endpoint* ep, grpc_error_handle why) {
|
458
458
|
grpc_tcp* tcp = (grpc_tcp*)ep;
|
459
459
|
gpr_mu_lock(&tcp->mu);
|
460
460
|
/* At that point, what may happen is that we're already inside the IOCP
|
@@ -44,9 +44,9 @@ grpc_endpoint* grpc_tcp_create(grpc_winsocket* socket,
|
|
44
44
|
grpc_channel_args* channel_args,
|
45
45
|
const char* peer_string);
|
46
46
|
|
47
|
-
|
47
|
+
grpc_error_handle grpc_tcp_prepare_socket(SOCKET sock);
|
48
48
|
|
49
|
-
|
49
|
+
grpc_error_handle grpc_tcp_set_non_block(SOCKET sock);
|
50
50
|
|
51
51
|
#endif
|
52
52
|
|
@@ -30,7 +30,8 @@
|
|
30
30
|
|
31
31
|
static grpc_custom_timer_vtable* custom_timer_impl;
|
32
32
|
|
33
|
-
void grpc_custom_timer_callback(grpc_custom_timer* t,
|
33
|
+
void grpc_custom_timer_callback(grpc_custom_timer* t,
|
34
|
+
grpc_error_handle /*error*/) {
|
34
35
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
35
36
|
grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
|
36
37
|
grpc_core::ExecCtx exec_ctx;
|
@@ -38,6 +38,6 @@ typedef struct grpc_custom_timer_vtable {
|
|
38
38
|
|
39
39
|
void grpc_custom_timer_init(grpc_custom_timer_vtable* impl);
|
40
40
|
|
41
|
-
void grpc_custom_timer_callback(grpc_custom_timer* t,
|
41
|
+
void grpc_custom_timer_callback(grpc_custom_timer* t, grpc_error_handle error);
|
42
42
|
|
43
43
|
#endif /* GRPC_CORE_LIB_IOMGR_TIMER_CUSTOM_H */
|
@@ -247,7 +247,7 @@ static grpc_millis saturating_add(grpc_millis a, grpc_millis b) {
|
|
247
247
|
|
248
248
|
static grpc_timer_check_result run_some_expired_timers(grpc_millis now,
|
249
249
|
grpc_millis* next,
|
250
|
-
|
250
|
+
grpc_error_handle error);
|
251
251
|
|
252
252
|
static grpc_millis compute_min_deadline(timer_shard* shard) {
|
253
253
|
return grpc_timer_heap_is_empty(&shard->heap)
|
@@ -561,7 +561,8 @@ static grpc_timer* pop_one(timer_shard* shard, grpc_millis now) {
|
|
561
561
|
|
562
562
|
/* REQUIRES: shard->mu unlocked */
|
563
563
|
static size_t pop_timers(timer_shard* shard, grpc_millis now,
|
564
|
-
grpc_millis* new_min_deadline,
|
564
|
+
grpc_millis* new_min_deadline,
|
565
|
+
grpc_error_handle error) {
|
565
566
|
size_t n = 0;
|
566
567
|
grpc_timer* timer;
|
567
568
|
gpr_mu_lock(&shard->mu);
|
@@ -580,9 +581,8 @@ static size_t pop_timers(timer_shard* shard, grpc_millis now,
|
|
580
581
|
return n;
|
581
582
|
}
|
582
583
|
|
583
|
-
static grpc_timer_check_result run_some_expired_timers(
|
584
|
-
|
585
|
-
grpc_error* error) {
|
584
|
+
static grpc_timer_check_result run_some_expired_timers(
|
585
|
+
grpc_millis now, grpc_millis* next, grpc_error_handle error) {
|
586
586
|
grpc_timer_check_result result = GRPC_TIMERS_NOT_CHECKED;
|
587
587
|
|
588
588
|
#if GPR_ARCH_64
|
@@ -702,7 +702,7 @@ static grpc_timer_check_result timer_check(grpc_millis* next) {
|
|
702
702
|
return GRPC_TIMERS_CHECKED_AND_EMPTY;
|
703
703
|
}
|
704
704
|
|
705
|
-
|
705
|
+
grpc_error_handle shutdown_error =
|
706
706
|
now != GRPC_MILLIS_INF_FUTURE
|
707
707
|
? GRPC_ERROR_NONE
|
708
708
|
: GRPC_ERROR_CREATE_FROM_STATIC_STRING("Shutting down timer system");
|
@@ -56,6 +56,8 @@
|
|
56
56
|
#include <grpc/support/string_util.h>
|
57
57
|
#include <grpc/support/sync.h>
|
58
58
|
#include <grpc/support/time.h>
|
59
|
+
|
60
|
+
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
59
61
|
#include "src/core/lib/channel/channel_args.h"
|
60
62
|
#include "src/core/lib/gpr/string.h"
|
61
63
|
#include "src/core/lib/gprpp/memory.h"
|
@@ -64,7 +66,6 @@
|
|
64
66
|
#include "src/core/lib/iomgr/executor.h"
|
65
67
|
#include "src/core/lib/iomgr/resolve_address.h"
|
66
68
|
#include "src/core/lib/iomgr/sockaddr.h"
|
67
|
-
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
68
69
|
#include "src/core/lib/iomgr/socket_factory_posix.h"
|
69
70
|
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
70
71
|
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
@@ -83,11 +84,11 @@ class GrpcUdpListener {
|
|
83
84
|
|
84
85
|
/* Called when data is available to read from the socket.
|
85
86
|
* Return true if there is more data to read from fd. */
|
86
|
-
void OnRead(
|
87
|
+
void OnRead(grpc_error_handle error, void* do_read_arg);
|
87
88
|
|
88
89
|
/* Called when the socket is writeable. The given closure should be scheduled
|
89
90
|
* when the socket becomes blocked next time. */
|
90
|
-
void OnCanWrite(
|
91
|
+
void OnCanWrite(grpc_error_handle error, void* do_write_arg);
|
91
92
|
|
92
93
|
/* Called when the grpc_fd is about to be orphaned (and the FD closed). */
|
93
94
|
void OnFdAboutToOrphan();
|
@@ -107,16 +108,16 @@ class GrpcUdpListener {
|
|
107
108
|
|
108
109
|
private:
|
109
110
|
/* event manager callback when reads are ready */
|
110
|
-
static void on_read(void* arg,
|
111
|
-
static void on_write(void* arg,
|
111
|
+
static void on_read(void* arg, grpc_error_handle error);
|
112
|
+
static void on_write(void* arg, grpc_error_handle error);
|
112
113
|
|
113
|
-
static void do_read(void* arg,
|
114
|
-
static void do_write(void* arg,
|
114
|
+
static void do_read(void* arg, grpc_error_handle error);
|
115
|
+
static void do_write(void* arg, grpc_error_handle error);
|
115
116
|
// Wrapper of grpc_fd_notify_on_write() with a grpc_closure callback
|
116
117
|
// interface.
|
117
|
-
static void fd_notify_on_write_wrapper(void* arg,
|
118
|
+
static void fd_notify_on_write_wrapper(void* arg, grpc_error_handle error);
|
118
119
|
|
119
|
-
static void shutdown_fd(void* args,
|
120
|
+
static void shutdown_fd(void* args, grpc_error_handle error);
|
120
121
|
|
121
122
|
int fd_;
|
122
123
|
grpc_fd* emfd_;
|
@@ -222,7 +223,7 @@ grpc_udp_server* grpc_udp_server_create(const grpc_channel_args* args) {
|
|
222
223
|
}
|
223
224
|
|
224
225
|
// static
|
225
|
-
void GrpcUdpListener::shutdown_fd(void* args,
|
226
|
+
void GrpcUdpListener::shutdown_fd(void* args, grpc_error_handle error) {
|
226
227
|
if (args == nullptr) {
|
227
228
|
// No-op if shutdown args are null.
|
228
229
|
return;
|
@@ -261,7 +262,7 @@ static void finish_shutdown(grpc_udp_server* s) {
|
|
261
262
|
delete s;
|
262
263
|
}
|
263
264
|
|
264
|
-
static void destroyed_port(void* server,
|
265
|
+
static void destroyed_port(void* server, grpc_error_handle /*error*/) {
|
265
266
|
grpc_udp_server* s = static_cast<grpc_udp_server*>(server);
|
266
267
|
gpr_mu_lock(&s->mu);
|
267
268
|
s->destroyed_ports++;
|
@@ -436,7 +437,7 @@ error:
|
|
436
437
|
}
|
437
438
|
|
438
439
|
// static
|
439
|
-
void GrpcUdpListener::do_read(void* arg,
|
440
|
+
void GrpcUdpListener::do_read(void* arg, grpc_error_handle error) {
|
440
441
|
GrpcUdpListener* sp = static_cast<GrpcUdpListener*>(arg);
|
441
442
|
GPR_ASSERT(error == GRPC_ERROR_NONE);
|
442
443
|
/* TODO: the reason we hold server->mu here is merely to prevent fd
|
@@ -460,12 +461,12 @@ void GrpcUdpListener::do_read(void* arg, grpc_error* error) {
|
|
460
461
|
}
|
461
462
|
|
462
463
|
// static
|
463
|
-
void GrpcUdpListener::on_read(void* arg,
|
464
|
+
void GrpcUdpListener::on_read(void* arg, grpc_error_handle error) {
|
464
465
|
GrpcUdpListener* sp = static_cast<GrpcUdpListener*>(arg);
|
465
466
|
sp->OnRead(error, arg);
|
466
467
|
}
|
467
468
|
|
468
|
-
void GrpcUdpListener::OnRead(
|
469
|
+
void GrpcUdpListener::OnRead(grpc_error_handle error, void* do_read_arg) {
|
469
470
|
if (error != GRPC_ERROR_NONE) {
|
470
471
|
gpr_mu_lock(&server_->mu);
|
471
472
|
if (0 == --server_->active_ports && server_->shutdown) {
|
@@ -497,7 +498,7 @@ void GrpcUdpListener::OnRead(grpc_error* error, void* do_read_arg) {
|
|
497
498
|
// static
|
498
499
|
// Wrapper of grpc_fd_notify_on_write() with a grpc_closure callback interface.
|
499
500
|
void GrpcUdpListener::fd_notify_on_write_wrapper(void* arg,
|
500
|
-
|
501
|
+
grpc_error_handle /*error*/) {
|
501
502
|
GrpcUdpListener* sp = static_cast<GrpcUdpListener*>(arg);
|
502
503
|
gpr_mu_lock(sp->mutex());
|
503
504
|
if (!sp->notify_on_write_armed_) {
|
@@ -508,7 +509,7 @@ void GrpcUdpListener::fd_notify_on_write_wrapper(void* arg,
|
|
508
509
|
}
|
509
510
|
|
510
511
|
// static
|
511
|
-
void GrpcUdpListener::do_write(void* arg,
|
512
|
+
void GrpcUdpListener::do_write(void* arg, grpc_error_handle error) {
|
512
513
|
GrpcUdpListener* sp = static_cast<GrpcUdpListener*>(arg);
|
513
514
|
gpr_mu_lock(sp->mutex());
|
514
515
|
if (sp->already_shutdown_) {
|
@@ -527,12 +528,12 @@ void GrpcUdpListener::do_write(void* arg, grpc_error* error) {
|
|
527
528
|
}
|
528
529
|
|
529
530
|
// static
|
530
|
-
void GrpcUdpListener::on_write(void* arg,
|
531
|
+
void GrpcUdpListener::on_write(void* arg, grpc_error_handle error) {
|
531
532
|
GrpcUdpListener* sp = static_cast<GrpcUdpListener*>(arg);
|
532
533
|
sp->OnCanWrite(error, arg);
|
533
534
|
}
|
534
535
|
|
535
|
-
void GrpcUdpListener::OnCanWrite(
|
536
|
+
void GrpcUdpListener::OnCanWrite(grpc_error_handle error, void* do_write_arg) {
|
536
537
|
if (error != GRPC_ERROR_NONE) {
|
537
538
|
gpr_mu_lock(&server_->mu);
|
538
539
|
if (0 == --server_->active_ports && server_->shutdown) {
|
@@ -630,7 +631,7 @@ int grpc_udp_server_add_port(grpc_udp_server* s, grpc_resolved_address* addr,
|
|
630
631
|
|
631
632
|
/* Try listening on IPv6 first. */
|
632
633
|
addr = &wild6;
|
633
|
-
// TODO(rjshade): Test and propagate the returned
|
634
|
+
// TODO(rjshade): Test and propagate the returned grpc_error_handle:
|
634
635
|
GRPC_ERROR_UNREF(grpc_create_dualstack_socket_using_factory(
|
635
636
|
s->socket_factory, addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode, &fd));
|
636
637
|
allocated_port1 =
|
@@ -666,7 +667,7 @@ int grpc_udp_server_add_port(grpc_udp_server* s, grpc_resolved_address* addr,
|
|
666
667
|
addr = &wild4;
|
667
668
|
}
|
668
669
|
|
669
|
-
// TODO(rjshade): Test and propagate the returned
|
670
|
+
// TODO(rjshade): Test and propagate the returned grpc_error_handle:
|
670
671
|
GRPC_ERROR_UNREF(grpc_create_dualstack_socket_using_factory(
|
671
672
|
s->socket_factory, addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode, &fd));
|
672
673
|
if (fd < 0) {
|
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
#include "absl/strings/str_cat.h"
|
32
32
|
|
33
|
-
#include "src/core/lib/
|
33
|
+
#include "src/core/lib/address_utils/parse_address.h"
|
34
34
|
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
35
35
|
|
36
36
|
#include <grpc/support/alloc.h>
|
@@ -42,7 +42,7 @@ void grpc_create_socketpair_if_unix(int sv[2]) {
|
|
42
42
|
GPR_ASSERT(socketpair(AF_UNIX, SOCK_STREAM, 0, sv) == 0);
|
43
43
|
}
|
44
44
|
|
45
|
-
|
45
|
+
grpc_error_handle grpc_resolve_unix_domain_address(
|
46
46
|
const char* name, grpc_resolved_addresses** addresses) {
|
47
47
|
*addresses = static_cast<grpc_resolved_addresses*>(
|
48
48
|
gpr_malloc(sizeof(grpc_resolved_addresses)));
|
@@ -52,7 +52,7 @@ grpc_error* grpc_resolve_unix_domain_address(
|
|
52
52
|
return grpc_core::UnixSockaddrPopulate(name, (*addresses)->addrs);
|
53
53
|
}
|
54
54
|
|
55
|
-
|
55
|
+
grpc_error_handle grpc_resolve_unix_abstract_domain_address(
|
56
56
|
const absl::string_view name, grpc_resolved_addresses** addresses) {
|
57
57
|
*addresses = static_cast<grpc_resolved_addresses*>(
|
58
58
|
gpr_malloc(sizeof(grpc_resolved_addresses)));
|
@@ -33,10 +33,10 @@
|
|
33
33
|
|
34
34
|
void grpc_create_socketpair_if_unix(int sv[2]);
|
35
35
|
|
36
|
-
|
36
|
+
grpc_error_handle grpc_resolve_unix_domain_address(
|
37
37
|
const char* name, grpc_resolved_addresses** addresses);
|
38
38
|
|
39
|
-
|
39
|
+
grpc_error_handle grpc_resolve_unix_abstract_domain_address(
|
40
40
|
absl::string_view name, grpc_resolved_addresses** addresses);
|
41
41
|
|
42
42
|
int grpc_is_unix_socket(const grpc_resolved_address* resolved_addr);
|
@@ -26,33 +26,36 @@
|
|
26
26
|
|
27
27
|
#include <grpc/support/log.h>
|
28
28
|
|
29
|
-
void grpc_create_socketpair_if_unix(int sv[2]) {
|
29
|
+
void grpc_create_socketpair_if_unix(int /* sv */[2]) {
|
30
30
|
// TODO: Either implement this for the non-Unix socket case or make
|
31
31
|
// sure that it is never called in any such case. Until then, leave an
|
32
32
|
// assertion to notify if this gets called inadvertently
|
33
33
|
GPR_ASSERT(0);
|
34
34
|
}
|
35
35
|
|
36
|
-
|
37
|
-
const char* name
|
36
|
+
grpc_error_handle grpc_resolve_unix_domain_address(
|
37
|
+
const char* /* name */, grpc_resolved_addresses** addresses) {
|
38
38
|
*addresses = NULL;
|
39
39
|
return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
40
40
|
"Unix domain sockets are not supported on Windows");
|
41
41
|
}
|
42
42
|
|
43
|
-
|
43
|
+
grpc_error_handle grpc_resolve_unix_abstract_domain_address(
|
44
44
|
absl::string_view, grpc_resolved_addresses** addresses) {
|
45
45
|
*addresses = NULL;
|
46
46
|
return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
47
47
|
"Unix domain sockets are not supported on Windows");
|
48
48
|
}
|
49
49
|
|
50
|
-
int grpc_is_unix_socket(const grpc_resolved_address* addr) {
|
50
|
+
int grpc_is_unix_socket(const grpc_resolved_address* /* addr */) {
|
51
|
+
return false;
|
52
|
+
}
|
51
53
|
|
52
|
-
void grpc_unlink_if_unix_domain_socket(
|
54
|
+
void grpc_unlink_if_unix_domain_socket(
|
55
|
+
const grpc_resolved_address* /* addr */) {}
|
53
56
|
|
54
57
|
std::string grpc_sockaddr_to_uri_unix_if_possible(
|
55
|
-
const grpc_resolved_address* addr) {
|
58
|
+
const grpc_resolved_address* /* addr */) {
|
56
59
|
return "";
|
57
60
|
}
|
58
61
|
|
@@ -31,7 +31,7 @@
|
|
31
31
|
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
|
32
32
|
#include "src/core/lib/profiling/timers.h"
|
33
33
|
|
34
|
-
static
|
34
|
+
static grpc_error_handle eventfd_create(grpc_wakeup_fd* fd_info) {
|
35
35
|
fd_info->read_fd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
|
36
36
|
fd_info->write_fd = -1;
|
37
37
|
if (fd_info->read_fd < 0) {
|
@@ -40,7 +40,7 @@ static grpc_error* eventfd_create(grpc_wakeup_fd* fd_info) {
|
|
40
40
|
return GRPC_ERROR_NONE;
|
41
41
|
}
|
42
42
|
|
43
|
-
static
|
43
|
+
static grpc_error_handle eventfd_consume(grpc_wakeup_fd* fd_info) {
|
44
44
|
eventfd_t value;
|
45
45
|
int err;
|
46
46
|
do {
|
@@ -52,7 +52,7 @@ static grpc_error* eventfd_consume(grpc_wakeup_fd* fd_info) {
|
|
52
52
|
return GRPC_ERROR_NONE;
|
53
53
|
}
|
54
54
|
|
55
|
-
static
|
55
|
+
static grpc_error_handle eventfd_wakeup(grpc_wakeup_fd* fd_info) {
|
56
56
|
GPR_TIMER_SCOPE("eventfd_wakeup", 0);
|
57
57
|
int err;
|
58
58
|
do {
|
@@ -33,14 +33,14 @@
|
|
33
33
|
|
34
34
|
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
35
35
|
|
36
|
-
static
|
36
|
+
static grpc_error_handle pipe_init(grpc_wakeup_fd* fd_info) {
|
37
37
|
int pipefd[2];
|
38
38
|
int r = pipe(pipefd);
|
39
39
|
if (0 != r) {
|
40
40
|
gpr_log(GPR_ERROR, "pipe creation failed (%d): %s", errno, strerror(errno));
|
41
41
|
return GRPC_OS_ERROR(errno, "pipe");
|
42
42
|
}
|
43
|
-
|
43
|
+
grpc_error_handle err;
|
44
44
|
err = grpc_set_socket_nonblocking(pipefd[0], 1);
|
45
45
|
if (err != GRPC_ERROR_NONE) return err;
|
46
46
|
err = grpc_set_socket_nonblocking(pipefd[1], 1);
|
@@ -50,7 +50,7 @@ static grpc_error* pipe_init(grpc_wakeup_fd* fd_info) {
|
|
50
50
|
return GRPC_ERROR_NONE;
|
51
51
|
}
|
52
52
|
|
53
|
-
static
|
53
|
+
static grpc_error_handle pipe_consume(grpc_wakeup_fd* fd_info) {
|
54
54
|
char buf[128];
|
55
55
|
ssize_t r;
|
56
56
|
|
@@ -69,7 +69,7 @@ static grpc_error* pipe_consume(grpc_wakeup_fd* fd_info) {
|
|
69
69
|
}
|
70
70
|
}
|
71
71
|
|
72
|
-
static
|
72
|
+
static grpc_error_handle pipe_wakeup(grpc_wakeup_fd* fd_info) {
|
73
73
|
char c = 0;
|
74
74
|
while (write(fd_info->write_fd, &c, 1) != 1 && errno == EINTR) {
|
75
75
|
}
|