#include "quiche/quic/masque/masque_client.h"
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include "absl/memory/memory.h"
#include "absl/strings/str_cat.h"
#include "quiche/quic/core/crypto/proof_verifier.h"
#include "quiche/quic/core/io/quic_event_loop.h"
#include "quiche/quic/core/quic_connection.h"
#include "quiche/quic/core/quic_connection_id.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_session.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/masque/masque_client_session.h"
#include "quiche/quic/masque/masque_utils.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/quic/tools/quic_client_default_network_helper.h"
#include "quiche/quic/tools/quic_default_client.h"
#include "quiche/quic/tools/quic_name_lookup.h"
#include "quiche/quic/tools/quic_url.h"
namespace quic {
MasqueClient::MasqueClient(QuicSocketAddress server_address,
const QuicServerId& server_id,
MasqueMode masque_mode, QuicEventLoop* event_loop,
std::unique_ptr<ProofVerifier> proof_verifier,
const std::string& uri_template)
: … { … }
MasqueClient::MasqueClient(
QuicSocketAddress server_address, const QuicServerId& server_id,
MasqueMode masque_mode, QuicEventLoop* event_loop, const QuicConfig& config,
std::unique_ptr<QuicClientDefaultNetworkHelper> network_helper,
std::unique_ptr<ProofVerifier> proof_verifier,
const std::string& uri_template)
: … { … }
MasqueClient::MasqueClient(
QuicSocketAddress server_address, const QuicServerId& server_id,
QuicEventLoop* event_loop, const QuicConfig& config,
std::unique_ptr<QuicClientDefaultNetworkHelper> network_helper,
std::unique_ptr<ProofVerifier> proof_verifier)
: … { … }
std::unique_ptr<QuicSession> MasqueClient::CreateQuicClientSession(
const ParsedQuicVersionVector& supported_versions,
QuicConnection* connection) { … }
MasqueClientSession* MasqueClient::masque_client_session() { … }
QuicConnectionId MasqueClient::connection_id() { … }
std::string MasqueClient::authority() const { … }
std::unique_ptr<MasqueClient> MasqueClient::Create(
const std::string& uri_template, MasqueMode masque_mode,
QuicEventLoop* event_loop, std::unique_ptr<ProofVerifier> proof_verifier) { … }
bool MasqueClient::Prepare(QuicByteCount max_packet_size) { … }
void MasqueClient::OnSettingsReceived() { … }
bool MasqueClient::WaitUntilSettingsReceived() { … }
}