#include "net/http/http_stream_pool_quic_task.h"
#include <memory>
#include <vector>
#include "base/task/sequenced_task_runner.h"
#include "base/time/time.h"
#include "net/base/connection_endpoint_metadata.h"
#include "net/base/ip_endpoint.h"
#include "net/dns/host_resolver.h"
#include "net/dns/public/host_resolver_results.h"
#include "net/http/http_network_session.h"
#include "net/http/http_stream_pool.h"
#include "net/http/http_stream_pool_attempt_manager.h"
#include "net/http/http_stream_pool_group.h"
#include "net/log/net_log_source_type.h"
#include "net/log/net_log_with_source.h"
#include "net/quic/quic_session_alias_key.h"
#include "net/quic/quic_session_key.h"
#include "net/quic/quic_session_pool.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_versions.h"
namespace net {
HttpStreamPool::QuicTask::QuicTask(AttemptManager* manager,
quic::ParsedQuicVersion quic_version)
: … { … }
HttpStreamPool::QuicTask::~QuicTask() { … }
void HttpStreamPool::QuicTask::MaybeAttempt() { … }
QuicSessionPool* HttpStreamPool::QuicTask::GetQuicSessionPool() { … }
const QuicSessionAliasKey& HttpStreamPool::QuicTask::GetKey() { … }
const NetLogWithSource& HttpStreamPool::QuicTask::GetNetLog() { … }
const HttpStreamKey& HttpStreamPool::QuicTask::stream_key() const { … }
const QuicSessionKey& HttpStreamPool::QuicTask::quic_session_key() const { … }
QuicSessionPool* HttpStreamPool::QuicTask::quic_session_pool() { … }
HostResolver::ServiceEndpointRequest*
HttpStreamPool::QuicTask::service_endpoint_request() { … }
std::optional<QuicEndpoint>
HttpStreamPool::QuicTask::GetQuicEndpointToAttempt() { … }
std::optional<QuicEndpoint>
HttpStreamPool::QuicTask::GetQuicEndpointFromServiceEndpoint(
const ServiceEndpoint& service_endpoint) { … }
std::optional<IPEndPoint> HttpStreamPool::QuicTask::GetPreferredIPEndPoint(
const std::vector<IPEndPoint>& ip_endpoints) { … }
void HttpStreamPool::QuicTask::OnSessionAttemptComplete(int rv) { … }
}