#include "quiche/quic/masque/masque_encapsulated_client_session.h"
#include <cstdint>
#include <string>
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/quic_crypto_client_config.h"
#include "quiche/quic/core/frames/quic_connection_close_frame.h"
#include "quiche/quic/core/http/quic_spdy_client_session.h"
#include "quiche/quic/core/quic_config.h"
#include "quiche/quic/core/quic_connection.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/core/quic_server_id.h"
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/masque/masque_client_session.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/common/capsule.h"
#include "quiche/common/platform/api/quiche_logging.h"
#include "quiche/common/quiche_data_reader.h"
#include "quiche/common/quiche_ip_address.h"
#include "quiche/common/quiche_text_utils.h"
namespace quic {
AddressAssignCapsule;
AddressRequestCapsule;
RouteAdvertisementCapsule;
MasqueEncapsulatedClientSession::MasqueEncapsulatedClientSession(
const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
QuicConnection* connection, const QuicServerId& server_id,
QuicCryptoClientConfig* crypto_config,
MasqueClientSession* masque_client_session,
MasqueClientSession::Owner* owner)
: … { … }
MasqueEncapsulatedClientSession::MasqueEncapsulatedClientSession(
MasqueMode masque_mode, const std::string& uri_template,
const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
QuicConnection* connection, const QuicServerId& server_id,
QuicCryptoClientConfig* crypto_config,
MasqueClientSession* masque_client_session,
MasqueClientSession::Owner* owner)
: … { … }
void MasqueEncapsulatedClientSession::ProcessPacket(
absl::string_view packet, QuicSocketAddress server_address) { … }
void MasqueEncapsulatedClientSession::CloseConnection(
QuicErrorCode error, const std::string& details,
ConnectionCloseBehavior connection_close_behavior) { … }
void MasqueEncapsulatedClientSession::OnConnectionClosed(
const QuicConnectionCloseFrame& frame, ConnectionCloseSource source) { … }
void MasqueEncapsulatedClientSession::ProcessIpPacket(
absl::string_view packet) { … }
void MasqueEncapsulatedClientSession::CloseIpSession(
const std::string& details) { … }
bool MasqueEncapsulatedClientSession::OnAddressAssignCapsule(
const AddressAssignCapsule& capsule) { … }
bool MasqueEncapsulatedClientSession::OnAddressRequestCapsule(
const AddressRequestCapsule& capsule) { … }
bool MasqueEncapsulatedClientSession::OnRouteAdvertisementCapsule(
const RouteAdvertisementCapsule& capsule) { … }
}