#ifndef QUICHE_QUIC_CORE_QUIC_GENERIC_CLIENT_SESSION_H_
#define QUICHE_QUIC_CORE_QUIC_GENERIC_CLIENT_SESSION_H_
#include <cstdint>
#include <memory>
#include "absl/algorithm/container.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/quic_crypto_client_config.h"
#include "quiche/quic/core/crypto/quic_crypto_server_config.h"
#include "quiche/quic/core/quic_config.h"
#include "quiche/quic/core/quic_connection.h"
#include "quiche/quic/core/quic_crypto_client_stream.h"
#include "quiche/quic/core/quic_crypto_server_stream_base.h"
#include "quiche/quic/core/quic_crypto_stream.h"
#include "quiche/quic/core/quic_datagram_queue.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_session.h"
#include "quiche/quic/core/quic_stream.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/core/web_transport_stats.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/common/quiche_callbacks.h"
#include "quiche/web_transport/web_transport.h"
namespace quic {
class QuicGenericStream;
QUICHE_EXPORT ParsedQuicVersionVector GetQuicVersionsForGenericSession();
CreateWebTransportSessionVisitorCallback;
class QUICHE_EXPORT QuicGenericSessionBase : public QuicSession,
public webtransport::Session { … };
class QUICHE_EXPORT QuicGenericClientSession final
: public QuicGenericSessionBase { … };
class QUICHE_EXPORT QuicGenericServerSession final
: public QuicGenericSessionBase { … };
}
#endif