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

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

Issue 515303003: Landing Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Bug fix for 409191 Created 6 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
« no previous file with comments | « net/quic/quic_crypto_server_stream_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 <list> 10 #include <list>
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 IOVector data; 640 IOVector data;
641 641
642 // If this is set, then when this packet is ACKed the AckNotifier will be 642 // If this is set, then when this packet is ACKed the AckNotifier will be
643 // informed. 643 // informed.
644 QuicAckNotifier* notifier; 644 QuicAckNotifier* notifier;
645 }; 645 };
646 646
647 // TODO(ianswett): Re-evaluate the trade-offs of hash_set vs set when framing 647 // TODO(ianswett): Re-evaluate the trade-offs of hash_set vs set when framing
648 // is finalized. 648 // is finalized.
649 typedef std::set<QuicPacketSequenceNumber> SequenceNumberSet; 649 typedef std::set<QuicPacketSequenceNumber> SequenceNumberSet;
650 typedef std::list<QuicPacketSequenceNumber> SequenceNumberList;
650 651
651 typedef std::list<std::pair<QuicPacketSequenceNumber, QuicTime>> PacketTimeList; 652 typedef std::list<std::pair<QuicPacketSequenceNumber, QuicTime>> PacketTimeList;
652 653
653 struct NET_EXPORT_PRIVATE QuicStopWaitingFrame { 654 struct NET_EXPORT_PRIVATE QuicStopWaitingFrame {
654 QuicStopWaitingFrame(); 655 QuicStopWaitingFrame();
655 ~QuicStopWaitingFrame(); 656 ~QuicStopWaitingFrame();
656 657
657 NET_EXPORT_PRIVATE friend std::ostream& operator<<( 658 NET_EXPORT_PRIVATE friend std::ostream& operator<<(
658 std::ostream& os, const QuicStopWaitingFrame& s); 659 std::ostream& os, const QuicStopWaitingFrame& s);
659 // Entropy hash of all packets up to, but not including, the least unacked 660 // Entropy hash of all packets up to, but not including, the least unacked
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
1046 std::set<QuicAckNotifier*> notifiers; 1047 std::set<QuicAckNotifier*> notifiers;
1047 }; 1048 };
1048 1049
1049 struct NET_EXPORT_PRIVATE TransmissionInfo { 1050 struct NET_EXPORT_PRIVATE TransmissionInfo {
1050 // Used by STL when assigning into a map. 1051 // Used by STL when assigning into a map.
1051 TransmissionInfo(); 1052 TransmissionInfo();
1052 1053
1053 // Constructs a Transmission with a new all_tranmissions set 1054 // Constructs a Transmission with a new all_tranmissions set
1054 // containing |sequence_number|. 1055 // containing |sequence_number|.
1055 TransmissionInfo(RetransmittableFrames* retransmittable_frames, 1056 TransmissionInfo(RetransmittableFrames* retransmittable_frames,
1056 QuicPacketSequenceNumber sequence_number,
1057 QuicSequenceNumberLength sequence_number_length); 1057 QuicSequenceNumberLength sequence_number_length);
1058 1058
1059 // Constructs a Transmission with the specified |all_tranmissions| set 1059 // Constructs a Transmission with the specified |all_tranmissions| set
1060 // and inserts |sequence_number| into it. 1060 // and inserts |sequence_number| into it.
1061 TransmissionInfo(RetransmittableFrames* retransmittable_frames, 1061 TransmissionInfo(RetransmittableFrames* retransmittable_frames,
1062 QuicPacketSequenceNumber sequence_number,
1063 QuicSequenceNumberLength sequence_number_length, 1062 QuicSequenceNumberLength sequence_number_length,
1064 TransmissionType transmission_type, 1063 TransmissionType transmission_type,
1065 SequenceNumberSet* all_transmissions); 1064 SequenceNumberList* all_transmissions);
1066 1065
1067 RetransmittableFrames* retransmittable_frames; 1066 RetransmittableFrames* retransmittable_frames;
1068 QuicSequenceNumberLength sequence_number_length; 1067 QuicSequenceNumberLength sequence_number_length;
1069 // Zero when the packet is serialized, non-zero once it's sent. 1068 // Zero when the packet is serialized, non-zero once it's sent.
1070 QuicTime sent_time; 1069 QuicTime sent_time;
1071 // Zero when the packet is serialized, non-zero once it's sent. 1070 // Zero when the packet is serialized, non-zero once it's sent.
1072 QuicByteCount bytes_sent; 1071 QuicByteCount bytes_sent;
1073 size_t nack_count; 1072 size_t nack_count;
1074 // Reason why this packet was transmitted. 1073 // Reason why this packet was transmitted.
1075 TransmissionType transmission_type; 1074 TransmissionType transmission_type;
1076 // Stores the sequence numbers of all transmissions of this packet. 1075 // Stores the sequence numbers of all transmissions of this packet.
1077 // Can never be null. 1076 // Can never be null.
1078 SequenceNumberSet* all_transmissions; 1077 SequenceNumberList* all_transmissions;
1079 // In flight packets have not been abandoned or lost. 1078 // In flight packets have not been abandoned or lost.
1080 bool in_flight; 1079 bool in_flight;
1081 }; 1080 };
1082 1081
1083 } // namespace net 1082 } // namespace net
1084 1083
1085 #endif // NET_QUIC_QUIC_PROTOCOL_H_ 1084 #endif // NET_QUIC_QUIC_PROTOCOL_H_
OLDNEW
« no previous file with comments | « net/quic/quic_crypto_server_stream_test.cc ('k') | net/quic/quic_protocol.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698