#include "net/socket/transport_connect_sub_job.h"
#include <set>
#include <string>
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/notreached.h"
#include "net/base/ip_endpoint.h"
#include "net/base/net_errors.h"
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/connection_attempts.h"
#include "net/socket/socket_performance_watcher.h"
#include "net/socket/socket_performance_watcher_factory.h"
#include "net/socket/websocket_endpoint_lock_manager.h"
namespace net {
namespace {
class WebSocketStreamSocket final : public StreamSocket { … };
}
TransportConnectSubJob::TransportConnectSubJob(
std::vector<IPEndPoint> addresses,
TransportConnectJob* parent_job,
SubJobType type)
: … { … }
TransportConnectSubJob::~TransportConnectSubJob() = default;
int TransportConnectSubJob::Start() { … }
void TransportConnectSubJob::GotEndpointLock() { … }
LoadState TransportConnectSubJob::GetLoadState() const { … }
const IPEndPoint& TransportConnectSubJob::CurrentAddress() const { … }
void TransportConnectSubJob::OnIOComplete(int result) { … }
int TransportConnectSubJob::DoLoop(int result) { … }
int TransportConnectSubJob::DoEndpointLock() { … }
int TransportConnectSubJob::DoEndpointLockComplete() { … }
int TransportConnectSubJob::DoTransportConnectComplete(int result) { … }
}