#include "net/quic/quic_session_pool_proxy_job.h"
#include "base/memory/weak_ptr.h"
#include "net/base/completion_once_callback.h"
#include "net/base/network_change_notifier.h"
#include "net/base/network_handle.h"
#include "net/base/request_priority.h"
#include "net/base/trace_constants.h"
#include "net/base/tracing.h"
#include "net/log/net_log_with_source.h"
#include "net/quic/address_utils.h"
#include "net/quic/quic_context.h"
#include "net/quic/quic_crypto_client_config_handle.h"
#include "net/quic/quic_http_stream.h"
#include "net/quic/quic_session_pool.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_packet_writer.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_versions.h"
namespace net {
QuicSessionPool::ProxyJob::ProxyJob(
QuicSessionPool* pool,
quic::ParsedQuicVersion target_quic_version,
QuicSessionAliasKey key,
NetworkTrafficAnnotationTag proxy_annotation_tag,
const HttpUserAgentSettings* http_user_agent_settings,
std::unique_ptr<CryptoClientConfigHandle> client_config_handle,
RequestPriority priority,
int cert_verify_flags,
const NetLogWithSource& net_log)
: … { … }
QuicSessionPool::ProxyJob::~ProxyJob() = default;
int QuicSessionPool::ProxyJob::Run(CompletionOnceCallback callback) { … }
void QuicSessionPool::ProxyJob::SetRequestExpectations(
QuicSessionRequest* request) { … }
void QuicSessionPool::ProxyJob::PopulateNetErrorDetails(
NetErrorDetails* details) const { … }
int QuicSessionPool::ProxyJob::DoLoop(int rv) { … }
void QuicSessionPool::ProxyJob::OnSessionAttemptComplete(int rv) { … }
void QuicSessionPool::ProxyJob::OnIOComplete(int rv) { … }
int QuicSessionPool::ProxyJob::DoCreateProxySession() { … }
int QuicSessionPool::ProxyJob::DoCreateProxySessionComplete(int rv) { … }
int QuicSessionPool::ProxyJob::DoCreateProxyStream() { … }
int QuicSessionPool::ProxyJob::DoCreateProxyStreamComplete(int rv) { … }
int QuicSessionPool::ProxyJob::DoAttemptSession() { … }
}