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 1349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1360 // In flight packets have not been abandoned or lost. | 1360 // In flight packets have not been abandoned or lost. |
1361 bool in_flight; | 1361 bool in_flight; |
1362 // True if the packet can never be acked, so it can be removed. | 1362 // True if the packet can never be acked, so it can be removed. |
1363 bool is_unackable; | 1363 bool is_unackable; |
1364 // True if the packet is an FEC packet. | 1364 // True if the packet is an FEC packet. |
1365 bool is_fec_packet; | 1365 bool is_fec_packet; |
1366 // True if the packet contains stream data from the crypto stream. | 1366 // True if the packet contains stream data from the crypto stream. |
1367 bool has_crypto_handshake; | 1367 bool has_crypto_handshake; |
1368 // True if the packet needs padding if it's retransmitted. | 1368 // True if the packet needs padding if it's retransmitted. |
1369 bool needs_padding; | 1369 bool needs_padding; |
1370 // Stores the packet numbers of all transmissions of this packet. | |
1371 // Must always be nullptr or have multiple elements. | |
1372 // TODO(ianswett): Deprecate with quic_track_single_retransmission. | |
1373 PacketNumberList* all_transmissions; | |
1374 // Stores the packet number of the next retransmission of this packet. | 1370 // Stores the packet number of the next retransmission of this packet. |
1375 // Zero if the packet has not been retransmitted. | 1371 // Zero if the packet has not been retransmitted. |
1376 QuicPacketNumber retransmission; | 1372 QuicPacketNumber retransmission; |
1377 // Non-empty if there is a listener for this packet. | 1373 // Non-empty if there is a listener for this packet. |
1378 std::list<AckListenerWrapper> ack_listeners; | 1374 std::list<AckListenerWrapper> ack_listeners; |
1379 }; | 1375 }; |
1380 static_assert(sizeof(QuicFrame) <= 64, | 1376 static_assert(sizeof(QuicFrame) <= 64, |
1381 "Keep the TransmissionInfo size to a cacheline."); | 1377 "Keep the TransmissionInfo size to a cacheline."); |
1382 | 1378 |
1383 // Struct to store the pending retransmission information. | 1379 // Struct to store the pending retransmission information. |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1416 : iov(iov), iov_count(iov_count), total_length(total_length) {} | 1412 : iov(iov), iov_count(iov_count), total_length(total_length) {} |
1417 | 1413 |
1418 const struct iovec* iov; | 1414 const struct iovec* iov; |
1419 const int iov_count; | 1415 const int iov_count; |
1420 const size_t total_length; | 1416 const size_t total_length; |
1421 }; | 1417 }; |
1422 | 1418 |
1423 } // namespace net | 1419 } // namespace net |
1424 | 1420 |
1425 #endif // NET_QUIC_QUIC_PROTOCOL_H_ | 1421 #endif // NET_QUIC_QUIC_PROTOCOL_H_ |
OLD | NEW |