| Index: net/quic/quic_protocol.h
|
| diff --git a/net/quic/quic_protocol.h b/net/quic/quic_protocol.h
|
| index 6238079fa8ab84b889df9ba1358c5119f8cf9c28..bcd58a2b33b0b0f5f297d6d786e36ef02fa9565a 100644
|
| --- a/net/quic/quic_protocol.h
|
| +++ b/net/quic/quic_protocol.h
|
| @@ -108,11 +108,12 @@ const QuicStreamId kHeadersStreamId = 3;
|
| // Maximum delayed ack time, in ms.
|
| const int kMaxDelayedAckTimeMs = 25;
|
|
|
| -// This is the default network timeout a for connection till the crypto
|
| -// handshake succeeds and the negotiated timeout from the handshake is received.
|
| +// The default idle timeout before the crypto handshake succeeds.
|
| const int64 kDefaultInitialTimeoutSecs = 120; // 2 mins.
|
| -const int64 kDefaultTimeoutSecs = 60 * 10; // 10 minutes.
|
| -const int64 kDefaultMaxTimeForCryptoHandshakeSecs = 5; // 5 secs.
|
| +// The maximum idle timeout that can be negotiated.
|
| +const int64 kMaximumIdleTimeoutSecs = 60 * 10; // 10 minutes.
|
| +// The default timeout for a connection until the crypto handshake succeeds.
|
| +const int64 kDefaultMaxTimeForCryptoHandshakeSecs = 10; // 10 secs.
|
|
|
| // Default ping timeout.
|
| const int64 kPingTimeoutSecs = 15; // 15 secs.
|
| @@ -123,6 +124,10 @@ const int kMinIntervalBetweenServerConfigUpdatesRTTs = 10;
|
| // Minimum time between Server Config Updates (SCUP) sent to client.
|
| const int kMinIntervalBetweenServerConfigUpdatesMs = 1000;
|
|
|
| +// Multiplier that allows server to accept slightly more streams than
|
| +// negotiated in handshake.
|
| +const float kMaxStreamsMultiplier = 1.1f;
|
| +
|
| // We define an unsigned 16-bit floating point value, inspired by IEEE floats
|
| // (http://en.wikipedia.org/wiki/Half_precision_floating-point_format),
|
| // with 5-bit exponent (bias 1), 11-bit mantissa (effective 12 with hidden
|
| @@ -144,18 +149,14 @@ enum TransmissionType {
|
| NOT_RETRANSMISSION,
|
| FIRST_TRANSMISSION_TYPE = NOT_RETRANSMISSION,
|
| HANDSHAKE_RETRANSMISSION, // Retransmits due to handshake timeouts.
|
| - ALL_UNACKED_RETRANSMISSION, // Retransmits of all unacked packets.
|
| + ALL_UNACKED_RETRANSMISSION, // Retransmits all unacked packets.
|
| + ALL_INITIAL_RETRANSMISSION, // Retransmits all initially encrypted packets.
|
| LOSS_RETRANSMISSION, // Retransmits due to loss detection.
|
| RTO_RETRANSMISSION, // Retransmits due to retransmit time out.
|
| TLP_RETRANSMISSION, // Tail loss probes.
|
| LAST_TRANSMISSION_TYPE = TLP_RETRANSMISSION,
|
| };
|
|
|
| -enum RetransmissionType {
|
| - INITIAL_ENCRYPTION_ONLY,
|
| - ALL_PACKETS
|
| -};
|
| -
|
| enum HasRetransmittableData {
|
| NO_RETRANSMITTABLE_DATA,
|
| HAS_RETRANSMITTABLE_DATA,
|
| @@ -472,6 +473,8 @@ enum QuicErrorCode {
|
| QUIC_DECOMPRESSION_FAILURE = 24,
|
| // We hit our prenegotiated (or default) timeout
|
| QUIC_CONNECTION_TIMED_OUT = 25,
|
| + // We hit our overall connection timeout
|
| + QUIC_CONNECTION_OVERALL_TIMED_OUT = 67,
|
| // There was an error encountered migrating addresses
|
| QUIC_ERROR_MIGRATING_ADDRESS = 26,
|
| // There was an error while writing to the socket.
|
| @@ -547,7 +550,7 @@ enum QuicErrorCode {
|
| QUIC_VERSION_NEGOTIATION_MISMATCH = 55,
|
|
|
| // No error. Used as bound while iterating.
|
| - QUIC_LAST_ERROR = 67,
|
| + QUIC_LAST_ERROR = 68,
|
| };
|
|
|
| struct NET_EXPORT_PRIVATE QuicPacketPublicHeader {
|
| @@ -1076,6 +1079,8 @@ struct NET_EXPORT_PRIVATE TransmissionInfo {
|
| SequenceNumberList* all_transmissions;
|
| // In flight packets have not been abandoned or lost.
|
| bool in_flight;
|
| + // True if the packet can never be acked, so it can be removed.
|
| + bool is_unackable;
|
| };
|
|
|
| } // namespace net
|
|
|