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

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

Issue 12806002: Land Recent QUIC Changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: minor comment fix Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_protocol.h ('k') | net/quic/quic_reliable_client_stream_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "base/stl_util.h" 6 #include "base/stl_util.h"
7 7
8 using base::StringPiece; 8 using base::StringPiece;
9 using std::map; 9 using std::map;
10 using std::numeric_limits; 10 using std::numeric_limits;
(...skipping 15 matching lines...) Expand all
26 26
27 size_t GetStartOfFecProtectedData(bool include_version) { 27 size_t GetStartOfFecProtectedData(bool include_version) {
28 return GetPacketHeaderSize(include_version); 28 return GetPacketHeaderSize(include_version);
29 } 29 }
30 30
31 size_t GetStartOfEncryptedData(bool include_version) { 31 size_t GetStartOfEncryptedData(bool include_version) {
32 return GetPacketHeaderSize(include_version) - kPrivateFlagsSize - 32 return GetPacketHeaderSize(include_version) - kPrivateFlagsSize -
33 kFecGroupSize; 33 kFecGroupSize;
34 } 34 }
35 35
36 QuicPacketPublicHeader::QuicPacketPublicHeader() {}
37
38 QuicPacketPublicHeader::QuicPacketPublicHeader(
39 const QuicPacketPublicHeader& other)
40 : guid(other.guid),
41 reset_flag(other.reset_flag),
42 version_flag(other.version_flag),
43 versions(other.versions) {
44 }
45
46 QuicPacketPublicHeader::~QuicPacketPublicHeader() {}
47
48 QuicPacketPublicHeader& QuicPacketPublicHeader::operator=(
49 const QuicPacketPublicHeader& other) {
50 guid = other.guid;
51 reset_flag = other.reset_flag;
52 version_flag = other.version_flag;
53 // Window's STL crashes when empty std::vectors are copied.
54 if (other.versions.size() > 0)
55 versions = other.versions;
56 return *this;
57 }
58
36 QuicStreamFrame::QuicStreamFrame() {} 59 QuicStreamFrame::QuicStreamFrame() {}
37 60
38 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id, 61 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
39 bool fin, 62 bool fin,
40 QuicStreamOffset offset, 63 QuicStreamOffset offset,
41 StringPiece data) 64 StringPiece data)
42 : stream_id(stream_id), 65 : stream_id(stream_id),
43 fin(fin), 66 fin(fin),
44 offset(offset), 67 offset(offset),
45 data(data) { 68 data(data) {
46 } 69 }
47 70
48 ostream& operator<<(ostream& os, const QuicPacketHeader& header) { 71 ostream& operator<<(ostream& os, const QuicPacketHeader& header) {
49 os << "{ guid: " << header.public_header.guid 72 os << "{ guid: " << header.public_header.guid
50 << ", reset_flag: " << header.public_header.reset_flag 73 << ", reset_flag: " << header.public_header.reset_flag
51 << ", version_flag: " << header.public_header.version_flag 74 << ", version_flag: " << header.public_header.version_flag;
52 << ", fec_flag: " << header.fec_flag 75 if (header.public_header.version_flag) {
76 os << " version: ";
77 for (size_t i = 0; i < header.public_header.versions.size(); ++i) {
78 os << header.public_header.versions[0] << " ";
79 }
80 }
81 os << ", fec_flag: " << header.fec_flag
53 << ", entropy_flag: " << header.entropy_flag 82 << ", entropy_flag: " << header.entropy_flag
54 << ", entropy hash: " << static_cast<int>(header.entropy_hash) 83 << ", entropy hash: " << static_cast<int>(header.entropy_hash)
55 << ", sequence_number: " << header.packet_sequence_number 84 << ", sequence_number: " << header.packet_sequence_number
56 << ", fec_group: " << header.fec_group<< "}\n"; 85 << ", fec_group: " << header.fec_group<< "}\n";
57 return os; 86 return os;
58 } 87 }
59 88
60 // TODO(ianswett): Initializing largest_observed to 0 should not be necessary. 89 // TODO(ianswett): Initializing largest_observed to 0 should not be necessary.
61 ReceivedPacketInfo::ReceivedPacketInfo() 90 ReceivedPacketInfo::ReceivedPacketInfo()
62 : largest_observed(0) { 91 : largest_observed(0),
92 delta_time_largest_observed(QuicTime::Delta::Infinite()) {
63 } 93 }
64 94
65 ReceivedPacketInfo::~ReceivedPacketInfo() {} 95 ReceivedPacketInfo::~ReceivedPacketInfo() {}
66 96
67 bool IsAwaitingPacket(const ReceivedPacketInfo& received_info, 97 bool IsAwaitingPacket(const ReceivedPacketInfo& received_info,
68 QuicPacketSequenceNumber sequence_number) { 98 QuicPacketSequenceNumber sequence_number) {
69 return sequence_number > received_info.largest_observed || 99 return sequence_number > received_info.largest_observed ||
70 ContainsKey(received_info.missing_packets, sequence_number); 100 ContainsKey(received_info.missing_packets, sequence_number);
71 } 101 }
72 102
73 void InsertMissingPacketsBetween(ReceivedPacketInfo* received_info, 103 void InsertMissingPacketsBetween(ReceivedPacketInfo* received_info,
74 QuicPacketSequenceNumber lower, 104 QuicPacketSequenceNumber lower,
75 QuicPacketSequenceNumber higher) { 105 QuicPacketSequenceNumber higher) {
76 for (QuicPacketSequenceNumber i = lower; i < higher; ++i) { 106 for (QuicPacketSequenceNumber i = lower; i < higher; ++i) {
77 received_info->missing_packets.insert(i); 107 received_info->missing_packets.insert(i);
78 } 108 }
79 } 109 }
80 110
81 SentPacketInfo::SentPacketInfo() {} 111 SentPacketInfo::SentPacketInfo() {}
82 112
83 SentPacketInfo::~SentPacketInfo() {} 113 SentPacketInfo::~SentPacketInfo() {}
84 114
85 // Testing convenience method. 115 // Testing convenience method.
86 QuicAckFrame::QuicAckFrame(QuicPacketSequenceNumber largest_observed, 116 QuicAckFrame::QuicAckFrame(QuicPacketSequenceNumber largest_observed,
117 QuicTime largest_observed_receive_time,
87 QuicPacketSequenceNumber least_unacked) { 118 QuicPacketSequenceNumber least_unacked) {
88 received_info.largest_observed = largest_observed; 119 received_info.largest_observed = largest_observed;
89 received_info.entropy_hash = 0; 120 received_info.entropy_hash = 0;
90 sent_info.least_unacked = least_unacked; 121 sent_info.least_unacked = least_unacked;
91 sent_info.entropy_hash = 0; 122 sent_info.entropy_hash = 0;
92 } 123 }
93 124
94 ostream& operator<<(ostream& os, const SentPacketInfo& sent_info) { 125 ostream& operator<<(ostream& os, const SentPacketInfo& sent_info) {
95 os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash) 126 os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash)
96 << " least_unacked: " << sent_info.least_unacked; 127 << " least_unacked: " << sent_info.least_unacked;
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 return os; 303 return os;
273 } 304 }
274 305
275 ostream& operator<<(ostream& os, const QuicConsumedData& s) { 306 ostream& operator<<(ostream& os, const QuicConsumedData& s) {
276 os << "bytes_consumed: " << s.bytes_consumed 307 os << "bytes_consumed: " << s.bytes_consumed
277 << " fin_consumed: " << s.fin_consumed; 308 << " fin_consumed: " << s.fin_consumed;
278 return os; 309 return os;
279 } 310 }
280 311
281 } // namespace net 312 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_protocol.h ('k') | net/quic/quic_reliable_client_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698