OLD | NEW |
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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 // Default and initial maximum size in bytes of a QUIC packet. | 51 // Default and initial maximum size in bytes of a QUIC packet. |
52 const QuicByteCount kDefaultMaxPacketSize = 1350; | 52 const QuicByteCount kDefaultMaxPacketSize = 1350; |
53 // Default initial maximum size in bytes of a QUIC packet for servers. | 53 // Default initial maximum size in bytes of a QUIC packet for servers. |
54 const QuicByteCount kDefaultServerMaxPacketSize = 1000; | 54 const QuicByteCount kDefaultServerMaxPacketSize = 1000; |
55 // The maximum packet size of any QUIC packet, based on ethernet's max size, | 55 // The maximum packet size of any QUIC packet, based on ethernet's max size, |
56 // minus the IP and UDP headers. IPv6 has a 40 byte header, UPD adds an | 56 // minus the IP and UDP headers. IPv6 has a 40 byte header, UPD adds an |
57 // additional 8 bytes. This is a total overhead of 48 bytes. Ethernet's | 57 // additional 8 bytes. This is a total overhead of 48 bytes. Ethernet's |
58 // max packet size is 1500 bytes, 1500 - 48 = 1452. | 58 // max packet size is 1500 bytes, 1500 - 48 = 1452. |
59 const QuicByteCount kMaxPacketSize = 1452; | 59 const QuicByteCount kMaxPacketSize = 1452; |
60 // Default maximum packet size used in Linux TCP implementations. | 60 // Default maximum packet size used in the Linux TCP implementation. |
| 61 // Used in QUIC for congestion window computations in bytes. |
61 const QuicByteCount kDefaultTCPMSS = 1460; | 62 const QuicByteCount kDefaultTCPMSS = 1460; |
62 | 63 |
63 // We match SPDY's use of 32 when secure (since we'd compete with SPDY). | 64 // We match SPDY's use of 32 when secure (since we'd compete with SPDY). |
64 const QuicPacketCount kInitialCongestionWindowSecure = 32; | 65 const QuicPacketCount kInitialCongestionWindowSecure = 32; |
65 // Be conservative, and just use double a typical TCP ICWND for HTTP. | 66 // Be conservative, and just use double a typical TCP ICWND for HTTP. |
66 const QuicPacketCount kInitialCongestionWindowInsecure = 20; | 67 const QuicPacketCount kInitialCongestionWindowInsecure = 20; |
67 | 68 |
68 // Minimum size of initial flow control window, for both stream and session. | 69 // Minimum size of initial flow control window, for both stream and session. |
69 const uint32 kMinimumFlowControlSendWindow = 16 * 1024; // 16 KB | 70 const uint32 kMinimumFlowControlSendWindow = 16 * 1024; // 16 KB |
70 | 71 |
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1039 bool in_flight; | 1040 bool in_flight; |
1040 // True if the packet can never be acked, so it can be removed. | 1041 // True if the packet can never be acked, so it can be removed. |
1041 bool is_unackable; | 1042 bool is_unackable; |
1042 // True if the packet is an FEC packet. | 1043 // True if the packet is an FEC packet. |
1043 bool is_fec_packet; | 1044 bool is_fec_packet; |
1044 }; | 1045 }; |
1045 | 1046 |
1046 } // namespace net | 1047 } // namespace net |
1047 | 1048 |
1048 #endif // NET_QUIC_QUIC_PROTOCOL_H_ | 1049 #endif // NET_QUIC_QUIC_PROTOCOL_H_ |
OLD | NEW |