Index: net/quic/quic_framer.h |
diff --git a/net/quic/quic_framer.h b/net/quic/quic_framer.h |
index e2556df1ffe4b9eaac3b2970e4671d96bb6b892d..5d55138e377217f12a4b9e29fc1d7b68b0b34ead 100644 |
--- a/net/quic/quic_framer.h |
+++ b/net/quic/quic_framer.h |
@@ -150,8 +150,10 @@ class NET_EXPORT_PRIVATE QuicReceivedEntropyHashCalculatorInterface { |
class NET_EXPORT_PRIVATE QuicFramer { |
public: |
// Constructs a new framer that installs a kNULL QuicEncrypter and |
- // QuicDecrypter for level ENCRYPTION_NONE. |
- QuicFramer(QuicVersion quic_version, |
+ // QuicDecrypter for level ENCRYPTION_NONE. |supported_versions| specifies the |
+ // list of supported QUIC versions. |quic_version_| is set to the maximum |
+ // version in |supported_versions|. |
+ QuicFramer(const QuicVersionVector& supported_versions, |
QuicTime creation_time, |
bool is_server); |
@@ -182,6 +184,10 @@ class NET_EXPORT_PRIVATE QuicFramer { |
fec_builder_ = builder; |
} |
+ const QuicVersionVector& supported_versions() const { |
+ return supported_versions_; |
+ } |
+ |
QuicVersion version() const { |
return quic_version_; |
} |
@@ -429,6 +435,11 @@ class NET_EXPORT_PRIVATE QuicFramer { |
scoped_ptr<QuicData> decrypted_; |
// Version of the protocol being used. |
QuicVersion quic_version_; |
+ // This vector contains QUIC versions which we currently support. |
+ // This should be ordered such that the highest supported version is the first |
+ // element, with subsequent elements in descending order (versions can be |
+ // skipped as necessary). |
+ QuicVersionVector supported_versions_; |
// Primary decrypter used to decrypt packets during parsing. |
scoped_ptr<QuicDecrypter> decrypter_; |
// Alternative decrypter that can also be used to decrypt packets. |