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

Unified Diff: net/quic/quic_fec_group.cc

Issue 990533002: Land Recent QUIC Changes until 03/06/2015. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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_fec_group.h ('k') | net/quic/quic_fec_group_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_fec_group.cc
diff --git a/net/quic/quic_fec_group.cc b/net/quic/quic_fec_group.cc
index 3d52810c9bd6809047dea7b28768e59d321264dd..b06f63ed232d9275e679a28b4c11c30774deaa89 100644
--- a/net/quic/quic_fec_group.cc
+++ b/net/quic/quic_fec_group.cc
@@ -16,13 +16,9 @@ using std::set;
namespace net {
-namespace {
-const QuicPacketSequenceNumber kNoSequenceNumber = kuint64max;
-} // namespace
-
QuicFecGroup::QuicFecGroup()
- : min_protected_packet_(kNoSequenceNumber),
- max_protected_packet_(kNoSequenceNumber),
+ : min_protected_packet_(kInvalidPacketSequenceNumber),
+ max_protected_packet_(kInvalidPacketSequenceNumber),
payload_parity_len_(0),
effective_encryption_level_(NUM_ENCRYPTION_LEVELS) {
}
@@ -32,11 +28,12 @@ QuicFecGroup::~QuicFecGroup() {}
bool QuicFecGroup::Update(EncryptionLevel encryption_level,
const QuicPacketHeader& header,
StringPiece decrypted_payload) {
+ DCHECK_NE(kInvalidPacketSequenceNumber, header.packet_sequence_number);
if (ContainsKey(received_packets_, header.packet_sequence_number)) {
return false;
}
- if (min_protected_packet_ != kNoSequenceNumber &&
- max_protected_packet_ != kNoSequenceNumber &&
+ if (min_protected_packet_ != kInvalidPacketSequenceNumber &&
+ max_protected_packet_ != kInvalidPacketSequenceNumber &&
(header.packet_sequence_number < min_protected_packet_ ||
header.packet_sequence_number > max_protected_packet_)) {
DLOG(ERROR) << "FEC group does not cover received packet: "
@@ -57,7 +54,9 @@ bool QuicFecGroup::UpdateFec(
EncryptionLevel encryption_level,
QuicPacketSequenceNumber fec_packet_sequence_number,
const QuicFecData& fec) {
- if (min_protected_packet_ != kNoSequenceNumber) {
+ DCHECK_NE(kInvalidPacketSequenceNumber, fec_packet_sequence_number);
+ DCHECK_NE(kInvalidPacketSequenceNumber, fec.fec_group);
+ if (min_protected_packet_ != kInvalidPacketSequenceNumber) {
return false;
}
SequenceNumberSet::const_iterator it = received_packets_.begin();
@@ -97,7 +96,7 @@ size_t QuicFecGroup::Revive(QuicPacketHeader* header,
}
// Identify the packet sequence number to be resurrected.
- QuicPacketSequenceNumber missing = kNoSequenceNumber;
+ QuicPacketSequenceNumber missing = kInvalidPacketSequenceNumber;
for (QuicPacketSequenceNumber i = min_protected_packet_;
i <= max_protected_packet_; ++i) {
// Is this packet missing?
@@ -106,7 +105,7 @@ size_t QuicFecGroup::Revive(QuicPacketHeader* header,
break;
}
}
- DCHECK_NE(kNoSequenceNumber, missing);
+ DCHECK_NE(kInvalidPacketSequenceNumber, missing);
DCHECK_LE(payload_parity_len_, decrypted_payload_len);
if (payload_parity_len_ > decrypted_payload_len) {
@@ -124,7 +123,7 @@ size_t QuicFecGroup::Revive(QuicPacketHeader* header,
}
bool QuicFecGroup::ProtectsPacketsBefore(QuicPacketSequenceNumber num) const {
- if (max_protected_packet_ != kNoSequenceNumber) {
+ if (max_protected_packet_ != kInvalidPacketSequenceNumber) {
return max_protected_packet_ < num;
}
// Since we might not yet have received the FEC packet, we must check
@@ -133,7 +132,7 @@ bool QuicFecGroup::ProtectsPacketsBefore(QuicPacketSequenceNumber num) const {
}
bool QuicFecGroup::UpdateParity(StringPiece payload) {
- DCHECK_LE(payload.size(), kMaxPacketSize);
+ DCHECK_GE(kMaxPacketSize, payload.size());
if (payload.size() > kMaxPacketSize) {
DLOG(ERROR) << "Illegal payload size: " << payload.size();
return false;
@@ -141,9 +140,8 @@ bool QuicFecGroup::UpdateParity(StringPiece payload) {
if (payload_parity_len_ < payload.size()) {
payload_parity_len_ = payload.size();
}
- DCHECK_LE(payload.size(), kMaxPacketSize);
if (received_packets_.empty() &&
- min_protected_packet_ == kNoSequenceNumber) {
+ min_protected_packet_ == kInvalidPacketSequenceNumber) {
// Initialize the parity to the value of this payload
memcpy(payload_parity_, payload.data(), payload.size());
if (payload.size() < kMaxPacketSize) {
@@ -161,10 +159,11 @@ bool QuicFecGroup::UpdateParity(StringPiece payload) {
return true;
}
-size_t QuicFecGroup::NumMissingPackets() const {
- if (min_protected_packet_ == kNoSequenceNumber)
- return numeric_limits<size_t>::max();
- return static_cast<size_t>(
+QuicPacketCount QuicFecGroup::NumMissingPackets() const {
+ if (min_protected_packet_ == kInvalidPacketSequenceNumber) {
+ return numeric_limits<QuicPacketCount>::max();
+ }
+ return static_cast<QuicPacketCount>(
(max_protected_packet_ - min_protected_packet_ + 1) -
received_packets_.size());
}
« no previous file with comments | « net/quic/quic_fec_group.h ('k') | net/quic/quic_fec_group_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698