#include "quiche/quic/core/quic_crypto_stream.h"
#include <algorithm>
#include <optional>
#include <string>
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/crypto_handshake.h"
#include "quiche/quic/core/frames/quic_crypto_frame.h"
#include "quiche/quic/core/quic_connection.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_session.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_utils.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 {
#define ENDPOINT …
QuicCryptoStream::QuicCryptoStream(QuicSession* session)
: … { … }
QuicCryptoStream::~QuicCryptoStream() { … }
QuicByteCount QuicCryptoStream::CryptoMessageFramingOverhead(
QuicTransportVersion version, QuicConnectionId connection_id) { … }
void QuicCryptoStream::OnCryptoFrame(const QuicCryptoFrame& frame) { … }
void QuicCryptoStream::OnStreamFrame(const QuicStreamFrame& frame) { … }
void QuicCryptoStream::OnDataAvailable() { … }
void QuicCryptoStream::OnDataAvailableInSequencer(
QuicStreamSequencer* sequencer, EncryptionLevel level) { … }
void QuicCryptoStream::WriteCryptoData(EncryptionLevel level,
absl::string_view data) { … }
size_t QuicCryptoStream::BufferSizeLimitForLevel(EncryptionLevel) const { … }
bool QuicCryptoStream::OnCryptoFrameAcked(const QuicCryptoFrame& frame,
QuicTime::Delta ) { … }
void QuicCryptoStream::OnStreamReset(const QuicRstStreamFrame& ) { … }
void QuicCryptoStream::NeuterUnencryptedStreamData() { … }
void QuicCryptoStream::NeuterStreamDataOfEncryptionLevel(
EncryptionLevel level) { … }
void QuicCryptoStream::OnStreamDataConsumed(QuicByteCount bytes_consumed) { … }
bool QuicCryptoStream::HasPendingCryptoRetransmission() const { … }
void QuicCryptoStream::WritePendingCryptoRetransmission() { … }
void QuicCryptoStream::WritePendingRetransmission() { … }
bool QuicCryptoStream::RetransmitStreamData(QuicStreamOffset offset,
QuicByteCount data_length,
bool ,
TransmissionType type) { … }
QuicConsumedData QuicCryptoStream::RetransmitStreamDataAtLevel(
QuicStreamOffset retransmission_offset, QuicByteCount retransmission_length,
EncryptionLevel encryption_level, TransmissionType type) { … }
uint64_t QuicCryptoStream::crypto_bytes_read() const { … }
uint64_t QuicCryptoStream::BytesReadOnLevel(EncryptionLevel level) const { … }
uint64_t QuicCryptoStream::BytesSentOnLevel(EncryptionLevel level) const { … }
bool QuicCryptoStream::WriteCryptoFrame(EncryptionLevel level,
QuicStreamOffset offset,
QuicByteCount data_length,
QuicDataWriter* writer) { … }
void QuicCryptoStream::OnCryptoFrameLost(QuicCryptoFrame* crypto_frame) { … }
bool QuicCryptoStream::RetransmitData(QuicCryptoFrame* crypto_frame,
TransmissionType type) { … }
void QuicCryptoStream::WriteBufferedCryptoFrames() { … }
bool QuicCryptoStream::HasBufferedCryptoFrames() const { … }
bool QuicCryptoStream::IsFrameOutstanding(EncryptionLevel level, size_t offset,
size_t length) const { … }
bool QuicCryptoStream::IsWaitingForAcks() const { … }
QuicCryptoStream::CryptoSubstream::CryptoSubstream(
QuicCryptoStream* crypto_stream)
: … { … }
#undef ENDPOINT
}