#include "quiche/quic/core/http/quic_spdy_client_session.h"
#include <memory>
#include <string>
#include <utility>
#include "absl/memory/memory.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/http/quic_server_initiated_spdy_stream.h"
#include "quiche/quic/core/http/quic_spdy_client_stream.h"
#include "quiche/quic/core/http/spdy_utils.h"
#include "quiche/quic/core/quic_server_id.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.h"
namespace quic {
QuicSpdyClientSession::QuicSpdyClientSession(
const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
QuicConnection* connection, const QuicServerId& server_id,
QuicCryptoClientConfig* crypto_config)
: … { … }
QuicSpdyClientSession::QuicSpdyClientSession(
const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
QuicConnection* connection, QuicSession::Visitor* visitor,
const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config)
: … { … }
QuicSpdyClientSession::~QuicSpdyClientSession() = default;
void QuicSpdyClientSession::Initialize() { … }
void QuicSpdyClientSession::OnProofValid(
const QuicCryptoClientConfig::CachedState& ) { … }
void QuicSpdyClientSession::OnProofVerifyDetailsAvailable(
const ProofVerifyDetails& ) { … }
bool QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() { … }
bool QuicSpdyClientSession::ShouldCreateOutgoingUnidirectionalStream() { … }
QuicSpdyClientStream*
QuicSpdyClientSession::CreateOutgoingBidirectionalStream() { … }
QuicSpdyClientStream*
QuicSpdyClientSession::CreateOutgoingUnidirectionalStream() { … }
std::unique_ptr<QuicSpdyClientStream>
QuicSpdyClientSession::CreateClientStream() { … }
QuicCryptoClientStreamBase* QuicSpdyClientSession::GetMutableCryptoStream() { … }
const QuicCryptoClientStreamBase* QuicSpdyClientSession::GetCryptoStream()
const { … }
void QuicSpdyClientSession::CryptoConnect() { … }
int QuicSpdyClientSession::GetNumSentClientHellos() const { … }
bool QuicSpdyClientSession::ResumptionAttempted() const { … }
bool QuicSpdyClientSession::IsResumption() const { … }
bool QuicSpdyClientSession::EarlyDataAccepted() const { … }
bool QuicSpdyClientSession::ReceivedInchoateReject() const { … }
int QuicSpdyClientSession::GetNumReceivedServerConfigUpdates() const { … }
bool QuicSpdyClientSession::ShouldCreateIncomingStream(QuicStreamId id) { … }
QuicSpdyStream* QuicSpdyClientSession::CreateIncomingStream(
PendingStream* pending) { … }
QuicSpdyStream* QuicSpdyClientSession::CreateIncomingStream(QuicStreamId id) { … }
std::unique_ptr<QuicCryptoClientStreamBase>
QuicSpdyClientSession::CreateQuicCryptoStream() { … }
}