Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Unified Diff: net/quic/quic_protocol.cc

Issue 16256017: Land Recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merging with TOT Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_protocol.h ('k') | net/quic/quic_session.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_protocol.cc
diff --git a/net/quic/quic_protocol.cc b/net/quic/quic_protocol.cc
index 2293076fa7c3bda4203b248bba0cd36607793aba..051a6406589e9b7125e1d1e1d6db95eefda9b728 100644
--- a/net/quic/quic_protocol.cc
+++ b/net/quic/quic_protocol.cc
@@ -16,31 +16,39 @@ namespace net {
size_t GetPacketHeaderSize(QuicPacketHeader header) {
return GetPacketHeaderSize(header.public_header.guid_length,
header.public_header.version_flag,
+ header.public_header.sequence_number_length,
header.is_in_fec_group);
}
size_t GetPacketHeaderSize(QuicGuidLength guid_length,
bool include_version,
+ QuicSequenceNumberLength sequence_number_length,
InFecGroup is_in_fec_group) {
return kPublicFlagsSize + guid_length +
- (include_version ? kQuicVersionSize : 0) + kSequenceNumberSize +
+ (include_version ? kQuicVersionSize : 0) + sequence_number_length +
kPrivateFlagsSize + (is_in_fec_group == IN_FEC_GROUP ? kFecGroupSize : 0);
}
size_t GetPublicResetPacketSize() {
return kPublicFlagsSize + PACKET_8BYTE_GUID + kPublicResetNonceSize +
- kSequenceNumberSize;
+ PACKET_6BYTE_SEQUENCE_NUMBER;
}
-size_t GetStartOfFecProtectedData(QuicGuidLength guid_length,
- bool include_version) {
- return GetPacketHeaderSize(guid_length, include_version, IN_FEC_GROUP);
+size_t GetStartOfFecProtectedData(
+ QuicGuidLength guid_length,
+ bool include_version,
+ QuicSequenceNumberLength sequence_number_length) {
+ return GetPacketHeaderSize(
+ guid_length, include_version, sequence_number_length, IN_FEC_GROUP);
}
-size_t GetStartOfEncryptedData(QuicGuidLength guid_length,
- bool include_version) {
+size_t GetStartOfEncryptedData(
+ QuicGuidLength guid_length,
+ bool include_version,
+ QuicSequenceNumberLength sequence_number_length) {
// Don't include the fec size, since encryption starts before private flags.
- return GetPacketHeaderSize(guid_length, include_version, NOT_IN_FEC_GROUP) -
+ return GetPacketHeaderSize(
+ guid_length, include_version, sequence_number_length, NOT_IN_FEC_GROUP) -
kPrivateFlagsSize;
}
@@ -55,7 +63,8 @@ QuicPacketPublicHeader::QuicPacketPublicHeader()
: guid(0),
guid_length(PACKET_8BYTE_GUID),
reset_flag(false),
- version_flag(false) {
+ version_flag(false),
+ sequence_number_length(PACKET_6BYTE_SEQUENCE_NUMBER) {
}
QuicPacketPublicHeader::QuicPacketPublicHeader(
@@ -64,6 +73,7 @@ QuicPacketPublicHeader::QuicPacketPublicHeader(
guid_length(other.guid_length),
reset_flag(other.reset_flag),
version_flag(other.version_flag),
+ sequence_number_length(other.sequence_number_length),
versions(other.versions) {
}
@@ -251,16 +261,6 @@ QuicGoAwayFrame::QuicGoAwayFrame(QuicErrorCode error_code,
QuicFecData::QuicFecData() {}
-bool QuicFecData::operator==(const QuicFecData& other) const {
- if (fec_group != other.fec_group) {
- return false;
- }
- if (redundancy != other.redundancy) {
- return false;
- }
- return true;
-}
-
QuicData::~QuicData() {
if (owns_buffer_) {
delete [] const_cast<char*>(buffer_);
@@ -268,25 +268,29 @@ QuicData::~QuicData() {
}
StringPiece QuicPacket::FecProtectedData() const {
- const size_t start_of_fec = GetStartOfFecProtectedData(guid_length_,
- includes_version_);
+ const size_t start_of_fec = GetStartOfFecProtectedData(
+ guid_length_, includes_version_, sequence_number_length_);
return StringPiece(data() + start_of_fec, length() - start_of_fec);
}
StringPiece QuicPacket::AssociatedData() const {
- return StringPiece(data() + kStartOfHashData,
- GetStartOfEncryptedData(guid_length_, includes_version_) -
- kStartOfHashData);
+ return StringPiece(
+ data() + kStartOfHashData,
+ GetStartOfEncryptedData(
+ guid_length_, includes_version_, sequence_number_length_) -
+ kStartOfHashData);
}
StringPiece QuicPacket::BeforePlaintext() const {
return StringPiece(data(), GetStartOfEncryptedData(guid_length_,
- includes_version_));
+ includes_version_,
+ sequence_number_length_));
}
StringPiece QuicPacket::Plaintext() const {
const size_t start_of_encrypted_data =
- GetStartOfEncryptedData(guid_length_, includes_version_);
+ GetStartOfEncryptedData(
+ guid_length_, includes_version_, sequence_number_length_);
return StringPiece(data() + start_of_encrypted_data,
length() - start_of_encrypted_data);
}
« no previous file with comments | « net/quic/quic_protocol.h ('k') | net/quic/quic_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698