| // Copyright (c) 2016 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef QUICHE_QUIC_CORE_QUIC_PENDING_RETRANSMISSION_H_ | |
| #define QUICHE_QUIC_CORE_QUIC_PENDING_RETRANSMISSION_H_ | |
| #include "net/third_party/quiche/src/quic/core/frames/quic_frame.h" | |
| #include "net/third_party/quiche/src/quic/core/quic_transmission_info.h" | |
| #include "net/third_party/quiche/src/quic/core/quic_types.h" | |
| #include "net/third_party/quiche/src/quic/platform/api/quic_export.h" | |
| namespace quic { | |
| // Struct to store the pending retransmission information. | |
| struct QUIC_EXPORT_PRIVATE QuicPendingRetransmission { | |
| QuicPendingRetransmission(QuicPacketNumber packet_number, | |
| TransmissionType transmission_type, | |
| const QuicFrames& retransmittable_frames, | |
| bool has_crypto_handshake, | |
| int num_padding_bytes, | |
| EncryptionLevel encryption_level, | |
| QuicPacketNumberLength packet_number_length) | |
| : packet_number(packet_number), | |
| retransmittable_frames(retransmittable_frames), | |
| transmission_type(transmission_type), | |
| has_crypto_handshake(has_crypto_handshake), | |
| num_padding_bytes(num_padding_bytes), | |
| encryption_level(encryption_level), | |
| packet_number_length(packet_number_length) {} | |
| QuicPendingRetransmission(QuicPacketNumber packet_number, | |
| TransmissionType transmission_type, | |
| const QuicTransmissionInfo& tranmission_info) | |
| : packet_number(packet_number), | |
| retransmittable_frames(tranmission_info.retransmittable_frames), | |
| transmission_type(transmission_type), | |
| has_crypto_handshake(tranmission_info.has_crypto_handshake), | |
| num_padding_bytes(tranmission_info.num_padding_bytes), | |
| encryption_level(tranmission_info.encryption_level), | |
| packet_number_length(tranmission_info.packet_number_length) {} | |
| QuicPacketNumber packet_number; | |
| const QuicFrames& retransmittable_frames; | |
| TransmissionType transmission_type; | |
| bool has_crypto_handshake; | |
| int num_padding_bytes; | |
| EncryptionLevel encryption_level; | |
| QuicPacketNumberLength packet_number_length; | |
| }; | |
| } // namespace quic | |
| #endif // QUICHE_QUIC_CORE_QUIC_PENDING_RETRANSMISSION_H_ |