Index: net/quic/quic_protocol.h |
diff --git a/net/quic/quic_protocol.h b/net/quic/quic_protocol.h |
index 8bb89fa3227a357fcdb267d14d25b14326df8dc5..23b6038ed15f0f4191ef7ad5148c8208e45afd6b 100644 |
--- a/net/quic/quic_protocol.h |
+++ b/net/quic/quic_protocol.h |
@@ -60,9 +60,7 @@ const QuicByteCount kMaxPacketSize = 1452; |
// Maximum size of the initial congestion window in packets. |
const size_t kDefaultInitialWindow = 10; |
-// TODO(ianswett): Temporarily changed to 10 due to a large number of clients |
-// mistakenly negotiating 100 initially and suffering the consequences. |
-const size_t kMaxInitialWindow = 10; |
+const size_t kMaxInitialWindow = 100; |
// Maximum size of the congestion window, in packets, for TCP congestion control |
// algorithms. |
@@ -157,6 +155,7 @@ enum QuicFrameType { |
GOAWAY_FRAME = 3, |
WINDOW_UPDATE_FRAME = 4, |
BLOCKED_FRAME = 5, |
+ STOP_WAITING_FRAME = 6, |
// STREAM, ACK, and CONGESTION_FEEDBACK frames are special frames. They are |
// encoded differently on the wire and their values do not need to be stable. |
@@ -257,7 +256,8 @@ enum QuicVersion { |
QUIC_VERSION_12 = 12, |
QUIC_VERSION_13 = 13, |
QUIC_VERSION_14 = 14, |
- QUIC_VERSION_15 = 15, // Current version. |
+ QUIC_VERSION_15 = 15, |
+ QUIC_VERSION_16 = 16, // Current version. |
}; |
// This vector contains QUIC versions which we currently support. |
@@ -267,7 +267,8 @@ enum QuicVersion { |
// |
// IMPORTANT: if you are addding to this list, follow the instructions at |
// http://sites/quic/adding-and-removing-versions |
-static const QuicVersion kSupportedQuicVersions[] = {QUIC_VERSION_15, |
+static const QuicVersion kSupportedQuicVersions[] = {QUIC_VERSION_16, |
+ QUIC_VERSION_15, |
QUIC_VERSION_14, |
QUIC_VERSION_13, |
QUIC_VERSION_12}; |
@@ -378,6 +379,8 @@ enum QuicErrorCode { |
QUIC_INVALID_WINDOW_UPDATE_DATA = 57, |
// BLOCKED frame data is malformed. |
QUIC_INVALID_BLOCKED_DATA = 58, |
+ // STOP_WAITING frame data is malformed. |
+ QUIC_INVALID_STOP_WAITING_DATA = 60, |
// ACK frame data is malformed. |
QUIC_INVALID_ACK_DATA = 9, |
// CONGESTION_FEEDBACK frame data is malformed. |
@@ -483,7 +486,7 @@ enum QuicErrorCode { |
QUIC_VERSION_NEGOTIATION_MISMATCH = 55, |
// No error. Used as bound while iterating. |
- QUIC_LAST_ERROR = 60, |
+ QUIC_LAST_ERROR = 61, |
}; |
struct NET_EXPORT_PRIVATE QuicPacketPublicHeader { |
@@ -629,12 +632,13 @@ void NET_EXPORT_PRIVATE InsertMissingPacketsBetween( |
QuicPacketSequenceNumber lower, |
QuicPacketSequenceNumber higher); |
-struct NET_EXPORT_PRIVATE SentPacketInfo { |
- SentPacketInfo(); |
- ~SentPacketInfo(); |
+struct NET_EXPORT_PRIVATE QuicStopWaitingFrame { |
+ QuicStopWaitingFrame(); |
+ ~QuicStopWaitingFrame(); |
NET_EXPORT_PRIVATE friend std::ostream& operator<<( |
- std::ostream& os, const SentPacketInfo& s); |
+ std::ostream& os, const QuicStopWaitingFrame& s); |
+ |
// Entropy hash of all packets up to, but not including, the least unacked |
// packet. |
QuicPacketEntropyHash entropy_hash; |
@@ -653,7 +657,7 @@ struct NET_EXPORT_PRIVATE QuicAckFrame { |
NET_EXPORT_PRIVATE friend std::ostream& operator<<( |
std::ostream& os, const QuicAckFrame& s); |
- SentPacketInfo sent_info; |
+ QuicStopWaitingFrame sent_info; |
ReceivedPacketInfo received_info; |
}; |
@@ -802,6 +806,7 @@ struct NET_EXPORT_PRIVATE QuicFrame { |
explicit QuicFrame(QuicCongestionFeedbackFrame* frame); |
explicit QuicFrame(QuicRstStreamFrame* frame); |
explicit QuicFrame(QuicConnectionCloseFrame* frame); |
+ explicit QuicFrame(QuicStopWaitingFrame* frame); |
explicit QuicFrame(QuicGoAwayFrame* frame); |
explicit QuicFrame(QuicWindowUpdateFrame* frame); |
explicit QuicFrame(QuicBlockedFrame* frame); |
@@ -815,6 +820,7 @@ struct NET_EXPORT_PRIVATE QuicFrame { |
QuicStreamFrame* stream_frame; |
QuicAckFrame* ack_frame; |
QuicCongestionFeedbackFrame* congestion_feedback_frame; |
+ QuicStopWaitingFrame* stop_waiting_frame; |
QuicRstStreamFrame* rst_stream_frame; |
QuicConnectionCloseFrame* connection_close_frame; |
QuicGoAwayFrame* goaway_frame; |