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

Unified Diff: net/quic/quic_protocol.h

Issue 420313005: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0723
Patch Set: change QUIC packet size to 1350 Created 6 years, 5 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
Index: net/quic/quic_protocol.h
diff --git a/net/quic/quic_protocol.h b/net/quic/quic_protocol.h
index e0c3c048d4f7c3c9eff5cddc17558d17545927ae..ec94e4c7e57cbf534756a95b8d59117e6b99afaa 100644
--- a/net/quic/quic_protocol.h
+++ b/net/quic/quic_protocol.h
@@ -49,7 +49,7 @@ typedef uint32 QuicPriority;
// TODO(rch): Consider Quic specific names for these constants.
// Default and initial maximum size in bytes of a QUIC packet.
-const QuicByteCount kDefaultMaxPacketSize = 1200;
+const QuicByteCount kDefaultMaxPacketSize = 1350;
// The maximum packet size of any QUIC packet, based on ethernet's max size,
// minus the IP and UDP headers. IPv6 has a 40 byte header, UPD adds an
// additional 8 bytes. This is a total overhead of 48 bytes. Ethernet's
@@ -273,7 +273,6 @@ enum QuicVersion {
// Special case to indicate unknown/unsupported QUIC version.
QUIC_VERSION_UNSUPPORTED = 0,
- QUIC_VERSION_15 = 15, // Revived packets in ReceivedPacketInfo.
QUIC_VERSION_16 = 16, // STOP_WAITING frame.
QUIC_VERSION_18 = 18, // PING frame.
QUIC_VERSION_19 = 19, // Connection level flow control.
@@ -286,14 +285,13 @@ enum QuicVersion {
// element, with subsequent elements in descending order (versions can be
// skipped as necessary).
//
-// IMPORTANT: if you are addding to this list, follow the instructions at
+// IMPORTANT: if you are adding to this list, follow the instructions at
// http://sites/quic/adding-and-removing-versions
static const QuicVersion kSupportedQuicVersions[] = {QUIC_VERSION_21,
QUIC_VERSION_20,
QUIC_VERSION_19,
QUIC_VERSION_18,
- QUIC_VERSION_16,
- QUIC_VERSION_15};
+ QUIC_VERSION_16};
typedef std::vector<QuicVersion> QuicVersionVector;
@@ -633,12 +631,25 @@ typedef std::set<QuicPacketSequenceNumber> SequenceNumberSet;
// TODO(pwestin): Add a way to enforce the max size of this map.
typedef std::map<QuicPacketSequenceNumber, QuicTime> TimeMap;
-struct NET_EXPORT_PRIVATE ReceivedPacketInfo {
- ReceivedPacketInfo();
- ~ReceivedPacketInfo();
+struct NET_EXPORT_PRIVATE QuicStopWaitingFrame {
+ QuicStopWaitingFrame();
+ ~QuicStopWaitingFrame();
+
+ NET_EXPORT_PRIVATE friend std::ostream& operator<<(
+ std::ostream& os, const QuicStopWaitingFrame& s);
+ // Entropy hash of all packets up to, but not including, the least unacked
+ // packet.
+ QuicPacketEntropyHash entropy_hash;
+ // The lowest packet we've sent which is unacked, and we expect an ack for.
+ QuicPacketSequenceNumber least_unacked;
+};
+
+struct NET_EXPORT_PRIVATE QuicAckFrame {
+ QuicAckFrame();
+ ~QuicAckFrame();
NET_EXPORT_PRIVATE friend std::ostream& operator<<(
- std::ostream& os, const ReceivedPacketInfo& s);
+ std::ostream& os, const QuicAckFrame& s);
// Entropy hash of all packets up to largest observed not including missing
// packets.
@@ -675,46 +686,21 @@ struct NET_EXPORT_PRIVATE ReceivedPacketInfo {
// as missing.
// Always returns false for sequence numbers less than least_unacked.
bool NET_EXPORT_PRIVATE IsAwaitingPacket(
- const ReceivedPacketInfo& received_info,
+ const QuicAckFrame& ack_frame,
QuicPacketSequenceNumber sequence_number);
// Inserts missing packets between [lower, higher).
void NET_EXPORT_PRIVATE InsertMissingPacketsBetween(
- ReceivedPacketInfo* received_info,
+ QuicAckFrame* ack_frame,
QuicPacketSequenceNumber lower,
QuicPacketSequenceNumber higher);
-struct NET_EXPORT_PRIVATE QuicStopWaitingFrame {
- QuicStopWaitingFrame();
- ~QuicStopWaitingFrame();
-
- NET_EXPORT_PRIVATE friend std::ostream& operator<<(
- std::ostream& os, const QuicStopWaitingFrame& s);
-
- // Entropy hash of all packets up to, but not including, the least unacked
- // packet.
- QuicPacketEntropyHash entropy_hash;
- // The lowest packet we've sent which is unacked, and we expect an ack for.
- QuicPacketSequenceNumber least_unacked;
-};
-
-struct NET_EXPORT_PRIVATE QuicAckFrame {
- QuicAckFrame();
-
- NET_EXPORT_PRIVATE friend std::ostream& operator<<(
- std::ostream& os, const QuicAckFrame& s);
-
- QuicStopWaitingFrame sent_info;
- ReceivedPacketInfo received_info;
-};
-
// Defines for all types of congestion feedback that will be negotiated in QUIC,
// kTCP MUST be supported by all QUIC implementations to guarantee 100%
// compatibility.
enum CongestionFeedbackType {
kTCP, // Used to mimic TCP.
kInterArrival, // Use additional inter arrival information.
- kFixRate, // Provided for testing.
};
// Defines for all types of congestion control algorithms that can be used in
@@ -724,7 +710,6 @@ enum CongestionFeedbackType {
enum CongestionControlType {
kCubic,
kReno,
- kFixRateCongestionControl, // Provided for testing.
kBBR,
};
@@ -748,11 +733,6 @@ struct NET_EXPORT_PRIVATE CongestionFeedbackMessageInterArrival {
TimeMap received_packet_times;
};
-struct NET_EXPORT_PRIVATE CongestionFeedbackMessageFixRate {
- CongestionFeedbackMessageFixRate();
- QuicBandwidth bitrate;
-};
-
struct NET_EXPORT_PRIVATE QuicCongestionFeedbackFrame {
QuicCongestionFeedbackFrame();
~QuicCongestionFeedbackFrame();
@@ -765,7 +745,6 @@ struct NET_EXPORT_PRIVATE QuicCongestionFeedbackFrame {
// is non-trivial, C++ prohibits it.
CongestionFeedbackMessageTCP tcp;
CongestionFeedbackMessageInterArrival inter_arrival;
- CongestionFeedbackMessageFixRate fix_rate;
};
struct NET_EXPORT_PRIVATE QuicRstStreamFrame {

Powered by Google App Engine
This is Rietveld 408576698