| 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 {
|
|
|