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

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

Issue 11820005: Largest received -> largest observed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 11 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_framer_test.cc ('k') | net/quic/quic_protocol.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 #ifndef NET_QUIC_QUIC_PROTOCOL_H_ 5 #ifndef NET_QUIC_QUIC_PROTOCOL_H_
6 #define NET_QUIC_QUIC_PROTOCOL_H_ 6 #define NET_QUIC_QUIC_PROTOCOL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <limits> 9 #include <limits>
10 #include <map> 10 #include <map>
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 191
192 struct NET_EXPORT_PRIVATE ReceivedPacketInfo { 192 struct NET_EXPORT_PRIVATE ReceivedPacketInfo {
193 ReceivedPacketInfo(); 193 ReceivedPacketInfo();
194 ~ReceivedPacketInfo(); 194 ~ReceivedPacketInfo();
195 NET_EXPORT_PRIVATE friend std::ostream& operator<<( 195 NET_EXPORT_PRIVATE friend std::ostream& operator<<(
196 std::ostream& os, const ReceivedPacketInfo& s); 196 std::ostream& os, const ReceivedPacketInfo& s);
197 197
198 // Records a packet receipt. 198 // Records a packet receipt.
199 void RecordReceived(QuicPacketSequenceNumber sequence_number); 199 void RecordReceived(QuicPacketSequenceNumber sequence_number);
200 200
201 // True if the sequence number is greater than largest_received or is listed 201 // True if the sequence number is greater than largest_observed or is listed
202 // as missing. 202 // as missing.
203 // Always returns false for sequence numbers less than least_unacked. 203 // Always returns false for sequence numbers less than least_unacked.
204 bool IsAwaitingPacket(QuicPacketSequenceNumber sequence_number) const; 204 bool IsAwaitingPacket(QuicPacketSequenceNumber sequence_number) const;
205 205
206 // Clears all missing packets less than |least_unacked|. 206 // Clears all missing packets less than |least_unacked|.
207 void ClearMissingBefore(QuicPacketSequenceNumber least_unacked); 207 void ClearMissingBefore(QuicPacketSequenceNumber least_unacked);
208 208
209 // The highest packet sequence number we've received from the peer. 209 // The highest packet sequence number we've observed from the peer.
210 QuicPacketSequenceNumber largest_received; 210 //
211 // In general, this should be the largest packet number we've received. In
212 // the case of truncated acks, we may have to advertise a lower "upper bound"
213 // than largest received, to avoid implicitly acking missing packets that
214 // don't fit in the missing packet list due to size limitations. In this
215 // case, largest_observed may be a packet which is also in the missing packets
216 // list.
217 QuicPacketSequenceNumber largest_observed;
211 218
212 // The set of packets which we're expecting and have not received. 219 // The set of packets which we're expecting and have not received.
213 SequenceSet missing_packets; 220 SequenceSet missing_packets;
214 }; 221 };
215 222
216 struct NET_EXPORT_PRIVATE SentPacketInfo { 223 struct NET_EXPORT_PRIVATE SentPacketInfo {
217 SentPacketInfo(); 224 SentPacketInfo();
218 ~SentPacketInfo(); 225 ~SentPacketInfo();
219 NET_EXPORT_PRIVATE friend std::ostream& operator<<( 226 NET_EXPORT_PRIVATE friend std::ostream& operator<<(
220 std::ostream& os, const SentPacketInfo& s); 227 std::ostream& os, const SentPacketInfo& s);
221 228
222 // The lowest packet we've sent which is unacked, and we expect an ack for. 229 // The lowest packet we've sent which is unacked, and we expect an ack for.
223 QuicPacketSequenceNumber least_unacked; 230 QuicPacketSequenceNumber least_unacked;
224 }; 231 };
225 232
226 struct NET_EXPORT_PRIVATE QuicAckFrame { 233 struct NET_EXPORT_PRIVATE QuicAckFrame {
227 QuicAckFrame() {} 234 QuicAckFrame() {}
228 // Testing convenience method to construct a QuicAckFrame with all packets 235 // Testing convenience method to construct a QuicAckFrame with all packets
229 // from least_unacked to largest_received acked. 236 // from least_unacked to largest_observed acked.
230 QuicAckFrame(QuicPacketSequenceNumber largest_received, 237 QuicAckFrame(QuicPacketSequenceNumber largest_observed,
231 QuicPacketSequenceNumber least_unacked); 238 QuicPacketSequenceNumber least_unacked);
232 239
233 NET_EXPORT_PRIVATE friend std::ostream& operator<<( 240 NET_EXPORT_PRIVATE friend std::ostream& operator<<(
234 std::ostream& os, const QuicAckFrame& s); 241 std::ostream& os, const QuicAckFrame& s);
235 242
236 SentPacketInfo sent_info; 243 SentPacketInfo sent_info;
237 ReceivedPacketInfo received_info; 244 ReceivedPacketInfo received_info;
238 }; 245 };
239 246
240 // Defines for all types of congestion feedback that will be negotiated in QUIC, 247 // Defines for all types of congestion feedback that will be negotiated in QUIC,
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 return base::StringPiece(data() + kStartOfHashData, kStartOfEncryptedData); 433 return base::StringPiece(data() + kStartOfHashData, kStartOfEncryptedData);
427 } 434 }
428 435
429 private: 436 private:
430 DISALLOW_COPY_AND_ASSIGN(QuicEncryptedPacket); 437 DISALLOW_COPY_AND_ASSIGN(QuicEncryptedPacket);
431 }; 438 };
432 439
433 } // namespace net 440 } // namespace net
434 441
435 #endif // NET_QUIC_QUIC_PROTOCOL_H_ 442 #endif // NET_QUIC_QUIC_PROTOCOL_H_
OLDNEW
« no previous file with comments | « net/quic/quic_framer_test.cc ('k') | net/quic/quic_protocol.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698