#include "net/socket/connect_job.h"
#include <set>
#include <utility>
#include "net/base/connection_endpoint_metadata.h"
#include "net/base/net_errors.h"
#include "net/base/trace_constants.h"
#include "net/base/tracing.h"
#include "net/dns/public/host_resolver_results.h"
#include "net/dns/public/secure_dns_policy.h"
#include "net/http/http_auth_controller.h"
#include "net/http/http_proxy_connect_job.h"
#include "net/log/net_log.h"
#include "net/log/net_log_event_type.h"
#include "net/socket/client_socket_handle.h"
#include "net/socket/socket_tag.h"
#include "net/socket/socks_connect_job.h"
#include "net/socket/ssl_connect_job.h"
#include "net/socket/stream_socket.h"
#include "net/socket/transport_connect_job.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
namespace net {
CommonConnectJobParams::CommonConnectJobParams(
ClientSocketFactory* client_socket_factory,
HostResolver* host_resolver,
HttpAuthCache* http_auth_cache,
HttpAuthHandlerFactory* http_auth_handler_factory,
SpdySessionPool* spdy_session_pool,
const quic::ParsedQuicVersionVector* quic_supported_versions,
QuicSessionPool* quic_session_pool,
ProxyDelegate* proxy_delegate,
const HttpUserAgentSettings* http_user_agent_settings,
SSLClientContext* ssl_client_context,
SocketPerformanceWatcherFactory* socket_performance_watcher_factory,
NetworkQualityEstimator* network_quality_estimator,
NetLog* net_log,
WebSocketEndpointLockManager* websocket_endpoint_lock_manager,
HttpServerProperties* http_server_properties,
const NextProtoVector* alpn_protos,
const SSLConfig::ApplicationSettings* application_settings,
const bool* ignore_certificate_errors,
const bool* enable_early_data)
: … { … }
CommonConnectJobParams::CommonConnectJobParams(
const CommonConnectJobParams& other) = default;
CommonConnectJobParams::~CommonConnectJobParams() = default;
CommonConnectJobParams& CommonConnectJobParams::operator=(
const CommonConnectJobParams& other) = default;
ConnectJob::ConnectJob(RequestPriority priority,
const SocketTag& socket_tag,
base::TimeDelta timeout_duration,
const CommonConnectJobParams* common_connect_job_params,
Delegate* delegate,
const NetLogWithSource* net_log,
NetLogSourceType net_log_source_type,
NetLogEventType net_log_connect_event_type)
: … { … }
ConnectJob::~ConnectJob() { … }
std::unique_ptr<StreamSocket> ConnectJob::PassSocket() { … }
void ConnectJob::ChangePriority(RequestPriority priority) { … }
int ConnectJob::Connect() { … }
ConnectionAttempts ConnectJob::GetConnectionAttempts() const { … }
bool ConnectJob::IsSSLError() const { … }
scoped_refptr<SSLCertRequestInfo> ConnectJob::GetCertRequestInfo() { … }
void ConnectJob::set_done_closure(base::OnceClosure done_closure) { … }
std::optional<HostResolverEndpointResult>
ConnectJob::GetHostResolverEndpointResult() const { … }
void ConnectJob::SetSocket(std::unique_ptr<StreamSocket> socket,
std::optional<std::set<std::string>> dns_aliases) { … }
void ConnectJob::NotifyDelegateOfCompletion(int rv) { … }
void ConnectJob::NotifyDelegateOfProxyAuth(
const HttpResponseInfo& response,
HttpAuthController* auth_controller,
base::OnceClosure restart_with_auth_callback) { … }
void ConnectJob::ResetTimer(base::TimeDelta remaining_time) { … }
bool ConnectJob::TimerIsRunning() const { … }
void ConnectJob::LogConnectStart() { … }
void ConnectJob::LogConnectCompletion(int net_error) { … }
void ConnectJob::OnTimeout() { … }
void ConnectJob::OnTimedOutInternal() { … }
}