| 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 <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 // been opened which have neither been opened or reset. The limit on the number | 179 // been opened which have neither been opened or reset. The limit on the number |
| 180 // of available streams is 10 times the limit on the number of open streams. | 180 // of available streams is 10 times the limit on the number of open streams. |
| 181 const int kMaxAvailableStreamsMultiplier = 10; | 181 const int kMaxAvailableStreamsMultiplier = 10; |
| 182 | 182 |
| 183 // Track the number of promises that are not yet claimed by a | 183 // Track the number of promises that are not yet claimed by a |
| 184 // corresponding get. This must be smaller than | 184 // corresponding get. This must be smaller than |
| 185 // kMaxAvailableStreamsMultiplier, because RST on a promised stream my | 185 // kMaxAvailableStreamsMultiplier, because RST on a promised stream my |
| 186 // create available streams entries. | 186 // create available streams entries. |
| 187 const int kMaxPromisedStreamsMultiplier = kMaxAvailableStreamsMultiplier - 1; | 187 const int kMaxPromisedStreamsMultiplier = kMaxAvailableStreamsMultiplier - 1; |
| 188 | 188 |
| 189 // TCP RFC calls for 1 second RTO however Linux differs from this default and |
| 190 // define the minimum RTO to 200ms, we will use the same until we have data to |
| 191 // support a higher or lower value. |
| 192 static const int64_t kMinRetransmissionTimeMs = 200; |
| 193 |
| 189 // We define an unsigned 16-bit floating point value, inspired by IEEE floats | 194 // We define an unsigned 16-bit floating point value, inspired by IEEE floats |
| 190 // (http://en.wikipedia.org/wiki/Half_precision_floating-point_format), | 195 // (http://en.wikipedia.org/wiki/Half_precision_floating-point_format), |
| 191 // with 5-bit exponent (bias 1), 11-bit mantissa (effective 12 with hidden | 196 // with 5-bit exponent (bias 1), 11-bit mantissa (effective 12 with hidden |
| 192 // bit) and denormals, but without signs, transfinites or fractions. Wire format | 197 // bit) and denormals, but without signs, transfinites or fractions. Wire format |
| 193 // 16 bits (little-endian byte order) are split into exponent (high 5) and | 198 // 16 bits (little-endian byte order) are split into exponent (high 5) and |
| 194 // mantissa (low 11) and decoded as: | 199 // mantissa (low 11) and decoded as: |
| 195 // uint64_t value; | 200 // uint64_t value; |
| 196 // if (exponent == 0) value = mantissa; | 201 // if (exponent == 0) value = mantissa; |
| 197 // else value = (mantissa | 1 << 11) << (exponent - 1) | 202 // else value = (mantissa | 1 << 11) << (exponent - 1) |
| 198 const int kUFloat16ExponentBits = 5; | 203 const int kUFloat16ExponentBits = 5; |
| (...skipping 1293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1492 : iov(iov), iov_count(iov_count), total_length(total_length) {} | 1497 : iov(iov), iov_count(iov_count), total_length(total_length) {} |
| 1493 | 1498 |
| 1494 const struct iovec* iov; | 1499 const struct iovec* iov; |
| 1495 const int iov_count; | 1500 const int iov_count; |
| 1496 const size_t total_length; | 1501 const size_t total_length; |
| 1497 }; | 1502 }; |
| 1498 | 1503 |
| 1499 } // namespace net | 1504 } // namespace net |
| 1500 | 1505 |
| 1501 #endif // NET_QUIC_QUIC_PROTOCOL_H_ | 1506 #endif // NET_QUIC_QUIC_PROTOCOL_H_ |
| OLD | NEW |