blob: d1e9657a09331589e9f23ca493197a1892c999a2 [file] [log] [blame]
// 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_