|  | // 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_ |