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

Side by Side Diff: net/quic/quic_protocol.cc

Issue 1330973002: relnote: Refactor QuicAckFrame::missing_packets to support a change to a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Tidy_up_DLOG_messages_101773586
Patch Set: Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_protocol.h" 5 #include "net/quic/quic_protocol.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "net/quic/quic_utils.h" 8 #include "net/quic/quic_utils.h"
9 9
10 using base::StringPiece; 10 using base::StringPiece;
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 << ", entropy hash: " << static_cast<int>(header.entropy_hash) 203 << ", entropy hash: " << static_cast<int>(header.entropy_hash)
204 << ", packet_number: " << header.packet_packet_number 204 << ", packet_number: " << header.packet_packet_number
205 << ", is_in_fec_group:" << header.is_in_fec_group 205 << ", is_in_fec_group:" << header.is_in_fec_group
206 << ", fec_group: " << header.fec_group << "}\n"; 206 << ", fec_group: " << header.fec_group << "}\n";
207 return os; 207 return os;
208 } 208 }
209 209
210 bool IsAwaitingPacket(const QuicAckFrame& ack_frame, 210 bool IsAwaitingPacket(const QuicAckFrame& ack_frame,
211 QuicPacketNumber packet_number) { 211 QuicPacketNumber packet_number) {
212 return packet_number > ack_frame.largest_observed || 212 return packet_number > ack_frame.largest_observed ||
213 ContainsKey(ack_frame.missing_packets, packet_number); 213 ack_frame.missing_packets.Contains(packet_number);
214 }
215
216 void InsertMissingPacketsBetween(QuicAckFrame* ack_frame,
217 QuicPacketNumber lower,
218 QuicPacketNumber higher) {
219 for (QuicPacketNumber i = lower; i < higher; ++i) {
220 ack_frame->missing_packets.insert(i);
221 }
222 } 214 }
223 215
224 QuicStopWaitingFrame::QuicStopWaitingFrame() 216 QuicStopWaitingFrame::QuicStopWaitingFrame()
225 : entropy_hash(0), 217 : entropy_hash(0),
226 least_unacked(0) { 218 least_unacked(0) {
227 } 219 }
228 220
229 QuicStopWaitingFrame::~QuicStopWaitingFrame() {} 221 QuicStopWaitingFrame::~QuicStopWaitingFrame() {}
230 222
231 QuicAckFrame::QuicAckFrame() 223 QuicAckFrame::QuicAckFrame()
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 } 307 }
316 308
317 QuicFecData::QuicFecData() : fec_group(0) {} 309 QuicFecData::QuicFecData() : fec_group(0) {}
318 310
319 ostream& operator<<(ostream& os, const QuicStopWaitingFrame& sent_info) { 311 ostream& operator<<(ostream& os, const QuicStopWaitingFrame& sent_info) {
320 os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash) 312 os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash)
321 << " least_unacked: " << sent_info.least_unacked; 313 << " least_unacked: " << sent_info.least_unacked;
322 return os; 314 return os;
323 } 315 }
324 316
317 PacketNumberQueue::PacketNumberQueue() {}
318
319 PacketNumberQueue::~PacketNumberQueue() {}
320
321 void PacketNumberQueue::Add(QuicPacketNumber packet_number) {
322 packet_numbers_.insert(packet_number);
323 }
324
325 void PacketNumberQueue::Add(QuicPacketNumber lower, QuicPacketNumber higher) {
326 for (QuicPacketNumber packet_number = lower; packet_number < higher;
327 ++packet_number) {
328 Add(packet_number);
329 }
330 }
331
332 void PacketNumberQueue::Remove(QuicPacketNumber packet_number) {
333 packet_numbers_.erase(packet_number);
334 }
335
336 bool PacketNumberQueue::RemoveUpTo(QuicPacketNumber higher) {
337 size_t orig_size = packet_numbers_.size();
338 packet_numbers_.erase(packet_numbers_.begin(),
339 packet_numbers_.lower_bound(higher));
340 return orig_size != packet_numbers_.size();
341 }
342
343 bool PacketNumberQueue::Contains(QuicPacketNumber packet_number) const {
344 return ContainsKey(packet_numbers_, packet_number);
345 }
346
347 bool PacketNumberQueue::Empty() const {
348 return packet_numbers_.empty();
349 }
350
351 QuicPacketNumber PacketNumberQueue::Min() const {
352 DCHECK(!Empty());
353 return *packet_numbers_.begin();
354 }
355
356 QuicPacketNumber PacketNumberQueue::Max() const {
357 DCHECK(!Empty());
358 return *packet_numbers_.rbegin();
359 }
360
361 size_t PacketNumberQueue::NumPackets() const {
362 return packet_numbers_.size();
363 }
364
365 PacketNumberQueue::const_iterator PacketNumberQueue::begin() const {
366 return packet_numbers_.cbegin();
367 }
368
369 PacketNumberQueue::const_iterator PacketNumberQueue::end() const {
370 return packet_numbers_.cend();
371 }
372
373 PacketNumberQueue::const_iterator PacketNumberQueue::lower_bound(
374 QuicPacketNumber packet_number) const {
375 return packet_numbers_.lower_bound(packet_number);
376 }
377
378 PacketNumberQueue::const_iterator PacketNumberQueue::upper_bound(
379 QuicPacketNumber packet_number) const {
380 return packet_numbers_.upper_bound(packet_number);
381 }
382
383 ostream& operator<<(ostream& os, const PacketNumberQueue& q) {
384 for (QuicPacketNumber packet_number : q.packet_numbers_) {
385 os << packet_number << " ";
386 }
387 return os;
388 }
389
325 ostream& operator<<(ostream& os, const QuicAckFrame& ack_frame) { 390 ostream& operator<<(ostream& os, const QuicAckFrame& ack_frame) {
326 os << "entropy_hash: " << static_cast<int>(ack_frame.entropy_hash) 391 os << "entropy_hash: " << static_cast<int>(ack_frame.entropy_hash)
327 << " largest_observed: " << ack_frame.largest_observed 392 << " largest_observed: " << ack_frame.largest_observed
328 << " delta_time_largest_observed: " 393 << " delta_time_largest_observed: "
329 << ack_frame.delta_time_largest_observed.ToMicroseconds() 394 << ack_frame.delta_time_largest_observed.ToMicroseconds()
330 << " missing_packets: [ "; 395 << " missing_packets: [ " << ack_frame.missing_packets
331 for (PacketNumberSet::const_iterator it = ack_frame.missing_packets.begin(); 396 << " ] is_truncated: " << ack_frame.is_truncated;
332 it != ack_frame.missing_packets.end(); ++it) {
333 os << *it << " ";
334 }
335 os << " ] is_truncated: " << ack_frame.is_truncated;
336 os << " revived_packets: [ "; 397 os << " revived_packets: [ ";
337 for (PacketNumberSet::const_iterator it = ack_frame.revived_packets.begin(); 398 for (PacketNumberSet::const_iterator it = ack_frame.revived_packets.begin();
338 it != ack_frame.revived_packets.end(); ++it) { 399 it != ack_frame.revived_packets.end(); ++it) {
339 os << *it << " "; 400 os << *it << " ";
340 } 401 }
341 os << " ] received_packets: [ "; 402 os << " ] received_packets: [ ";
342 for (PacketTimeList::const_iterator it = 403 for (PacketTimeList::const_iterator it =
343 ack_frame.received_packet_times.begin(); 404 ack_frame.received_packet_times.begin();
344 it != ack_frame.received_packet_times.end(); ++it) { 405 it != ack_frame.received_packet_times.end(); ++it) {
345 os << it->first << " at " << it->second.ToDebuggingValue() << " "; 406 os << it->first << " at " << it->second.ToDebuggingValue() << " ";
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 sent_time(sent_time), 733 sent_time(sent_time),
673 bytes_sent(bytes_sent), 734 bytes_sent(bytes_sent),
674 nack_count(0), 735 nack_count(0),
675 transmission_type(transmission_type), 736 transmission_type(transmission_type),
676 all_transmissions(nullptr), 737 all_transmissions(nullptr),
677 in_flight(false), 738 in_flight(false),
678 is_unackable(false), 739 is_unackable(false),
679 is_fec_packet(is_fec_packet) {} 740 is_fec_packet(is_fec_packet) {}
680 741
681 } // namespace net 742 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698