chromium/net/third_party/quiche/src/quiche/quic/core/quic_versions.cc

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "quiche/quic/core/quic_versions.h"

#include <algorithm>
#include <ostream>
#include <string>
#include <vector>

#include "absl/base/macros.h"
#include "absl/strings/numbers.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_split.h"
#include "quiche/quic/core/crypto/quic_random.h"
#include "quiche/quic/core/quic_tag.h"
#include "quiche/quic/core/quic_types.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"
#include "quiche/common/quiche_endian.h"
#include "quiche/common/quiche_text_utils.h"

namespace quic {
namespace {

QuicVersionLabel CreateRandomVersionLabelForNegotiation() {}

void SetVersionFlag(const ParsedQuicVersion& version, bool should_enable) {}

}  // namespace

bool ParsedQuicVersion::IsKnown() const {}

bool ParsedQuicVersion::KnowsWhichDecrypterToUse() const {}

bool ParsedQuicVersion::UsesInitialObfuscators() const {}

bool ParsedQuicVersion::AllowsLowFlowControlLimits() const {}

bool ParsedQuicVersion::HasHeaderProtection() const {}

bool ParsedQuicVersion::SupportsRetry() const {}

bool ParsedQuicVersion::SendsVariableLengthPacketNumberInLongHeader() const {}

bool ParsedQuicVersion::AllowsVariableLengthConnectionIds() const {}

bool ParsedQuicVersion::SupportsClientConnectionIds() const {}

bool ParsedQuicVersion::HasLengthPrefixedConnectionIds() const {}

bool ParsedQuicVersion::SupportsAntiAmplificationLimit() const {}

bool ParsedQuicVersion::CanSendCoalescedPackets() const {}

bool ParsedQuicVersion::SupportsGoogleAltSvcFormat() const {}

bool ParsedQuicVersion::UsesHttp3() const {}

bool ParsedQuicVersion::HasLongHeaderLengths() const {}

bool ParsedQuicVersion::UsesCryptoFrames() const {}

bool ParsedQuicVersion::HasIetfQuicFrames() const {}

bool ParsedQuicVersion::UsesLegacyTlsExtension() const {}

bool ParsedQuicVersion::UsesTls() const {}

bool ParsedQuicVersion::UsesQuicCrypto() const {}

bool ParsedQuicVersion::UsesV2PacketTypes() const {}

bool ParsedQuicVersion::AlpnDeferToRFCv1() const {}

bool VersionHasLengthPrefixedConnectionIds(
    QuicTransportVersion transport_version) {}

std::ostream& operator<<(std::ostream& os, const ParsedQuicVersion& version) {}

std::ostream& operator<<(std::ostream& os,
                         const ParsedQuicVersionVector& versions) {}

QuicVersionLabel MakeVersionLabel(uint8_t a, uint8_t b, uint8_t c, uint8_t d) {}

std::ostream& operator<<(std::ostream& os,
                         const QuicVersionLabelVector& version_labels) {}

std::ostream& operator<<(std::ostream& os,
                         const QuicTransportVersionVector& transport_versions) {}

QuicVersionLabel CreateQuicVersionLabel(ParsedQuicVersion parsed_version) {}

QuicVersionLabelVector CreateQuicVersionLabelVector(
    const ParsedQuicVersionVector& versions) {}

ParsedQuicVersionVector AllSupportedVersionsWithQuicCrypto() {}

ParsedQuicVersionVector CurrentSupportedVersionsWithQuicCrypto() {}

ParsedQuicVersionVector AllSupportedVersionsWithTls() {}

ParsedQuicVersionVector CurrentSupportedVersionsWithTls() {}

ParsedQuicVersionVector ObsoleteSupportedVersions() {}

bool IsObsoleteSupportedVersion(ParsedQuicVersion version) {}

ParsedQuicVersionVector CurrentSupportedVersionsForClients() {}

ParsedQuicVersionVector CurrentSupportedHttp3Versions() {}

ParsedQuicVersion ParseQuicVersionLabel(QuicVersionLabel version_label) {}

ParsedQuicVersionVector ParseQuicVersionLabelVector(
    const QuicVersionLabelVector& version_labels) {}

ParsedQuicVersion ParseQuicVersionString(absl::string_view version_string) {}

ParsedQuicVersionVector ParseQuicVersionVectorString(
    absl::string_view versions_string) {}

QuicTransportVersionVector AllSupportedTransportVersions() {}

ParsedQuicVersionVector AllSupportedVersions() {}

ParsedQuicVersionVector CurrentSupportedVersions() {}

ParsedQuicVersionVector FilterSupportedVersions(
    ParsedQuicVersionVector versions) {}

ParsedQuicVersionVector ParsedVersionOfIndex(
    const ParsedQuicVersionVector& versions, int index) {}

std::string QuicVersionLabelToString(QuicVersionLabel version_label) {}

ParsedQuicVersion ParseQuicVersionLabelString(
    absl::string_view version_label_string) {}

std::string QuicVersionLabelVectorToString(
    const QuicVersionLabelVector& version_labels, const std::string& separator,
    size_t skip_after_nth_version) {}

#define RETURN_STRING_LITERAL

std::string QuicVersionToString(QuicTransportVersion transport_version) {}

std::string HandshakeProtocolToString(HandshakeProtocol handshake_protocol) {}

std::string ParsedQuicVersionToString(ParsedQuicVersion version) {}

std::string QuicTransportVersionVectorToString(
    const QuicTransportVersionVector& versions) {}

std::string ParsedQuicVersionVectorToString(
    const ParsedQuicVersionVector& versions, const std::string& separator,
    size_t skip_after_nth_version) {}

bool VersionSupportsGoogleAltSvcFormat(QuicTransportVersion transport_version) {}

bool VersionAllowsVariableLengthConnectionIds(
    QuicTransportVersion transport_version) {}

bool QuicVersionLabelUses4BitConnectionIdLength(
    QuicVersionLabel version_label) {}

ParsedQuicVersion UnsupportedQuicVersion() {}

ParsedQuicVersion QuicVersionReservedForNegotiation() {}

std::string AlpnForVersion(ParsedQuicVersion parsed_version) {}

void QuicEnableVersion(const ParsedQuicVersion& version) {}

void QuicDisableVersion(const ParsedQuicVersion& version) {}

bool QuicVersionIsEnabled(const ParsedQuicVersion& version) {}

#undef RETURN_STRING_LITERAL  // undef for jumbo builds
}  // namespace quic