diff options
Diffstat (limited to 'chromium/net/third_party/quiche/src/quic/core/quic_version_manager.h')
-rw-r--r-- | chromium/net/third_party/quiche/src/quic/core/quic_version_manager.h | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/chromium/net/third_party/quiche/src/quic/core/quic_version_manager.h b/chromium/net/third_party/quiche/src/quic/core/quic_version_manager.h deleted file mode 100644 index 44e134ac363..00000000000 --- a/chromium/net/third_party/quiche/src/quic/core/quic_version_manager.h +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (c) 2016 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. - -#ifndef QUICHE_QUIC_CORE_QUIC_VERSION_MANAGER_H_ -#define QUICHE_QUIC_CORE_QUIC_VERSION_MANAGER_H_ - -#include "quic/core/quic_versions.h" -#include "quic/platform/api/quic_export.h" - -namespace quic { - -// Used to generate filtered supported versions based on flags. -class QUIC_EXPORT_PRIVATE QuicVersionManager { - public: - // |supported_versions| should be sorted in the order of preference (typically - // highest supported version to the lowest supported version). - explicit QuicVersionManager(ParsedQuicVersionVector supported_versions); - virtual ~QuicVersionManager(); - - // Returns currently supported QUIC versions. This vector has the same order - // as the versions passed to the constructor. - const ParsedQuicVersionVector& GetSupportedVersions(); - - // Returns currently supported versions using HTTP/3. - const ParsedQuicVersionVector& GetSupportedVersionsWithOnlyHttp3(); - - // Returns the list of supported ALPNs, based on the current supported - // versions and any custom additions by subclasses. - const std::vector<std::string>& GetSupportedAlpns(); - - protected: - // If the value of any reloadable flag is different from the cached value, - // re-filter |filtered_supported_versions_| and update the cached flag values. - // Otherwise, does nothing. - // TODO(dschinazi): Make private when deprecating - // FLAGS_gfe2_restart_flag_quic_disable_old_alt_svc_format. - void MaybeRefilterSupportedVersions(); - - // Refilters filtered_supported_versions_. - virtual void RefilterSupportedVersions(); - - // RefilterSupportedVersions() must be called before calling this method. - // TODO(dschinazi): Remove when deprecating - // FLAGS_gfe2_restart_flag_quic_disable_old_alt_svc_format. - const QuicTransportVersionVector& filtered_transport_versions() const { - return filtered_transport_versions_; - } - - // Subclasses may add custom ALPNs to the supported list by overriding - // RefilterSupportedVersions() to first call - // QuicVersionManager::RefilterSupportedVersions() then AddCustomAlpn(). - // Must not be called elsewhere. - void AddCustomAlpn(const std::string& alpn); - - private: - // Cached value of reloadable flags. - // quic_enable_version_2_draft_01 flag - bool enable_version_2_draft_01_ = false; - // quic_disable_version_rfcv1 flag - bool disable_version_rfcv1_ = true; - // quic_disable_version_draft_29 flag - bool disable_version_draft_29_ = true; - // quic_disable_version_q050 flag - bool disable_version_q050_ = true; - // quic_disable_version_q046 flag - bool disable_version_q046_ = true; - // quic_disable_version_q043 flag - bool disable_version_q043_ = true; - - // The list of versions that may be supported. - const ParsedQuicVersionVector allowed_supported_versions_; - - // The following vectors are calculated from reloadable flags by - // RefilterSupportedVersions(). It is performed lazily when first needed, and - // after that, since the calculation is relatively expensive, only if the flag - // values change. - - // This vector contains QUIC versions which are currently supported based on - // flags. - ParsedQuicVersionVector filtered_supported_versions_; - // Currently supported versions using HTTP/3. - ParsedQuicVersionVector filtered_supported_versions_with_http3_; - // This vector contains the transport versions from - // |filtered_supported_versions_|. No guarantees are made that the same - // transport version isn't repeated. - QuicTransportVersionVector filtered_transport_versions_; - // Contains the list of ALPNs corresponding to filtered_supported_versions_ - // with custom ALPNs added. - std::vector<std::string> filtered_supported_alpns_; -}; - -} // namespace quic - -#endif // QUICHE_QUIC_CORE_QUIC_VERSION_MANAGER_H_ |