| 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_CORE_CRYPTO_CRYPTO_PROTOCOL_H_ | 5 #ifndef NET_QUIC_CORE_CRYPTO_CRYPTO_PROTOCOL_H_ |
| 6 #define NET_QUIC_CORE_CRYPTO_CRYPTO_PROTOCOL_H_ | 6 #define NET_QUIC_CORE_CRYPTO_CRYPTO_PROTOCOL_H_ |
| 7 | 7 |
| 8 #include <cstddef> | 8 #include <cstddef> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 // receive window to | 75 // receive window to |
| 76 // 512KB. (2^9 KB). | 76 // 512KB. (2^9 KB). |
| 77 const QuicTag kIFWA = TAG('I', 'F', 'W', 'a'); // Set initial size | 77 const QuicTag kIFWA = TAG('I', 'F', 'W', 'a'); // Set initial size |
| 78 // of stream flow control | 78 // of stream flow control |
| 79 // receive window to | 79 // receive window to |
| 80 // 1MB. (2^0xa KB). | 80 // 1MB. (2^0xa KB). |
| 81 const QuicTag kTBBR = TAG('T', 'B', 'B', 'R'); // Reduced Buffer Bloat TCP | 81 const QuicTag kTBBR = TAG('T', 'B', 'B', 'R'); // Reduced Buffer Bloat TCP |
| 82 const QuicTag k1RTT = TAG('1', 'R', 'T', 'T'); // STARTUP in BBR for 1 RTT | 82 const QuicTag k1RTT = TAG('1', 'R', 'T', 'T'); // STARTUP in BBR for 1 RTT |
| 83 const QuicTag k2RTT = TAG('2', 'R', 'T', 'T'); // STARTUP in BBR for 2 RTTs | 83 const QuicTag k2RTT = TAG('2', 'R', 'T', 'T'); // STARTUP in BBR for 2 RTTs |
| 84 const QuicTag kRENO = TAG('R', 'E', 'N', 'O'); // Reno Congestion Control | 84 const QuicTag kRENO = TAG('R', 'E', 'N', 'O'); // Reno Congestion Control |
| 85 const QuicTag kTPCC = TAG('P', 'C', 'C', '\0'); // Performance-Oriented |
| 86 // Congestion Control |
| 85 const QuicTag kBYTE = TAG('B', 'Y', 'T', 'E'); // TCP cubic or reno in bytes | 87 const QuicTag kBYTE = TAG('B', 'Y', 'T', 'E'); // TCP cubic or reno in bytes |
| 86 const QuicTag kRATE = TAG('R', 'A', 'T', 'E'); // TCP cubic rate based sending | 88 const QuicTag kRATE = TAG('R', 'A', 'T', 'E'); // TCP cubic rate based sending |
| 87 const QuicTag kIW03 = TAG('I', 'W', '0', '3'); // Force ICWND to 3 | 89 const QuicTag kIW03 = TAG('I', 'W', '0', '3'); // Force ICWND to 3 |
| 88 const QuicTag kIW10 = TAG('I', 'W', '1', '0'); // Force ICWND to 10 | 90 const QuicTag kIW10 = TAG('I', 'W', '1', '0'); // Force ICWND to 10 |
| 89 const QuicTag kIW20 = TAG('I', 'W', '2', '0'); // Force ICWND to 20 | 91 const QuicTag kIW20 = TAG('I', 'W', '2', '0'); // Force ICWND to 20 |
| 90 const QuicTag kIW50 = TAG('I', 'W', '5', '0'); // Force ICWND to 50 | 92 const QuicTag kIW50 = TAG('I', 'W', '5', '0'); // Force ICWND to 50 |
| 91 const QuicTag k1CON = TAG('1', 'C', 'O', 'N'); // Emulate a single connection | 93 const QuicTag k1CON = TAG('1', 'C', 'O', 'N'); // Emulate a single connection |
| 92 const QuicTag kNTLP = TAG('N', 'T', 'L', 'P'); // No tail loss probe | 94 const QuicTag kNTLP = TAG('N', 'T', 'L', 'P'); // No tail loss probe |
| 93 const QuicTag kNCON = TAG('N', 'C', 'O', 'N'); // N Connection Congestion Ctrl | 95 const QuicTag kNCON = TAG('N', 'C', 'O', 'N'); // N Connection Congestion Ctrl |
| 94 const QuicTag kNRTO = TAG('N', 'R', 'T', 'O'); // CWND reduction on loss | 96 const QuicTag kNRTO = TAG('N', 'R', 'T', 'O'); // CWND reduction on loss |
| 95 const QuicTag kUNDO = TAG('U', 'N', 'D', 'O'); // Undo any pending retransmits | 97 const QuicTag kUNDO = TAG('U', 'N', 'D', 'O'); // Undo any pending retransmits |
| 96 // if they're likely spurious. | 98 // if they're likely spurious. |
| 97 const QuicTag kTIME = TAG('T', 'I', 'M', 'E'); // Time based loss detection | 99 const QuicTag kTIME = TAG('T', 'I', 'M', 'E'); // Time based loss detection |
| 98 const QuicTag kATIM = TAG('A', 'T', 'I', 'M'); // Adaptive time loss detection | 100 const QuicTag kATIM = TAG('A', 'T', 'I', 'M'); // Adaptive time loss detection |
| 99 const QuicTag kMIN1 = TAG('M', 'I', 'N', '1'); // Min CWND of 1 packet | 101 const QuicTag kMIN1 = TAG('M', 'I', 'N', '1'); // Min CWND of 1 packet |
| 100 const QuicTag kMIN4 = TAG('M', 'I', 'N', '4'); // Min CWND of 4 packets, | 102 const QuicTag kMIN4 = TAG('M', 'I', 'N', '4'); // Min CWND of 4 packets, |
| 101 // with a min rate of 1 BDP. | 103 // with a min rate of 1 BDP. |
| 102 const QuicTag kTLPR = TAG('T', 'L', 'P', 'R'); // Tail loss probe delay of | 104 const QuicTag kTLPR = TAG('T', 'L', 'P', 'R'); // Tail loss probe delay of |
| 103 // 0.5RTT. | 105 // 0.5RTT. |
| 104 const QuicTag kACKD = TAG('A', 'C', 'K', 'D'); // Ack decimation style acking. | 106 const QuicTag kACKD = TAG('A', 'C', 'K', 'D'); // Ack decimation style acking. |
| 105 const QuicTag kAKD2 = TAG('A', 'K', 'D', '2'); // Ack decimation tolerating | 107 const QuicTag kAKD2 = TAG('A', 'K', 'D', '2'); // Ack decimation tolerating |
| 106 // out of order packets. | 108 // out of order packets. |
| 107 const QuicTag kAKD3 = TAG('A', 'K', 'D', '3'); // Ack decimation style acking | 109 const QuicTag kAKD3 = TAG('A', 'K', 'D', '3'); // Ack decimation style acking |
| 108 // with 1/8 RTT acks. | 110 // with 1/8 RTT acks. |
| 109 const QuicTag kAKD4 = TAG('A', 'K', 'D', '4'); // Ack decimation with 1/8 RTT | 111 const QuicTag kAKD4 = TAG('A', 'K', 'D', '4'); // Ack decimation with 1/8 RTT |
| 110 // tolerating out of order. | 112 // tolerating out of order. |
| 111 const QuicTag kSSLR = TAG('S', 'S', 'L', 'R'); // Slow Start Large Reduction. | 113 const QuicTag kSSLR = TAG('S', 'S', 'L', 'R'); // Slow Start Large Reduction. |
| 112 const QuicTag kNPRR = TAG('N', 'P', 'R', 'R'); // Pace at unity instead of PRR | 114 const QuicTag kNPRR = TAG('N', 'P', 'R', 'R'); // Pace at unity instead of PRR |
| 113 const QuicTag k5RTO = TAG('5', 'R', 'T', 'O'); // Close connection on 5 RTOs | 115 const QuicTag k5RTO = TAG('5', 'R', 'T', 'O'); // Close connection on 5 RTOs |
| 116 const QuicTag k3RTO = TAG('3', 'R', 'T', 'O'); // Close connection on 3 RTOs |
| 114 const QuicTag kCTIM = TAG('C', 'T', 'I', 'M'); // Client timestamp in seconds | 117 const QuicTag kCTIM = TAG('C', 'T', 'I', 'M'); // Client timestamp in seconds |
| 115 // since UNIX epoch. | 118 // since UNIX epoch. |
| 116 const QuicTag kDHDT = TAG('D', 'H', 'D', 'T'); // Disable HPACK dynamic table. | 119 const QuicTag kDHDT = TAG('D', 'H', 'D', 'T'); // Disable HPACK dynamic table. |
| 117 const QuicTag kCONH = TAG('C', 'O', 'N', 'H'); // Conservative Handshake | 120 const QuicTag kCONH = TAG('C', 'O', 'N', 'H'); // Conservative Handshake |
| 118 // Retransmissions. | 121 // Retransmissions. |
| 119 const QuicTag kLFAK = TAG('L', 'F', 'A', 'K'); // Don't invoke FACK on the | 122 const QuicTag kLFAK = TAG('L', 'F', 'A', 'K'); // Don't invoke FACK on the |
| 120 // first ack. | 123 // first ack. |
| 121 // TODO(fayang): Remove this connection option in QUIC_VERSION_37, in which | 124 // TODO(fayang): Remove this connection option in QUIC_VERSION_37, in which |
| 122 // MAX_HEADER_LIST_SIZE settings frame should be supported. | 125 // MAX_HEADER_LIST_SIZE settings frame should be supported. |
| 123 const QuicTag kSMHL = TAG('S', 'M', 'H', 'L'); // Support MAX_HEADER_LIST_SIZE | 126 const QuicTag kSMHL = TAG('S', 'M', 'H', 'L'); // Support MAX_HEADER_LIST_SIZE |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 // amplification factor of any mirror DoS attack. | 270 // amplification factor of any mirror DoS attack. |
| 268 // | 271 // |
| 269 // A client may pad an inchoate client hello to a size larger than | 272 // A client may pad an inchoate client hello to a size larger than |
| 270 // kClientHelloMinimumSize to make it more likely to receive a complete | 273 // kClientHelloMinimumSize to make it more likely to receive a complete |
| 271 // rejection message. | 274 // rejection message. |
| 272 const size_t kClientHelloMinimumSize = 1024; | 275 const size_t kClientHelloMinimumSize = 1024; |
| 273 | 276 |
| 274 } // namespace net | 277 } // namespace net |
| 275 | 278 |
| 276 #endif // NET_QUIC_CORE_CRYPTO_CRYPTO_PROTOCOL_H_ | 279 #endif // NET_QUIC_CORE_CRYPTO_CRYPTO_PROTOCOL_H_ |
| OLD | NEW |