| Index: net/quic/core/quic_transmission_info.h
|
| diff --git a/net/quic/core/quic_transmission_info.h b/net/quic/core/quic_transmission_info.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b6f6f41e7d9e24043ad612563416e8875076793c
|
| --- /dev/null
|
| +++ b/net/quic/core/quic_transmission_info.h
|
| @@ -0,0 +1,61 @@
|
| +// 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 NET_QUIC_CORE_QUIC_TRANSMISSION_INFO_H_
|
| +#define NET_QUIC_CORE_QUIC_TRANSMISSION_INFO_H_
|
| +
|
| +#include <list>
|
| +
|
| +#include "net/quic/core/quic_ack_listener_interface.h"
|
| +#include "net/quic/core/quic_frames.h"
|
| +#include "net/quic/core/quic_types.h"
|
| +
|
| +namespace net {
|
| +
|
| +// Stores details of a single sent packet.
|
| +struct NET_EXPORT_PRIVATE QuicTransmissionInfo {
|
| + // Used by STL when assigning into a map.
|
| + QuicTransmissionInfo();
|
| +
|
| + // Constructs a Transmission with a new all_transmissions set
|
| + // containing |packet_number|.
|
| + QuicTransmissionInfo(EncryptionLevel level,
|
| + QuicPacketNumberLength packet_number_length,
|
| + TransmissionType transmission_type,
|
| + QuicTime sent_time,
|
| + QuicPacketLength bytes_sent,
|
| + bool has_crypto_handshake,
|
| + int num_padding_bytes);
|
| +
|
| + QuicTransmissionInfo(const QuicTransmissionInfo& other);
|
| +
|
| + ~QuicTransmissionInfo();
|
| +
|
| + QuicFrames retransmittable_frames;
|
| + EncryptionLevel encryption_level;
|
| + QuicPacketNumberLength packet_number_length;
|
| + QuicPacketLength bytes_sent;
|
| + QuicTime sent_time;
|
| + // Reason why this packet was transmitted.
|
| + TransmissionType transmission_type;
|
| + // In flight packets have not been abandoned or lost.
|
| + bool in_flight;
|
| + // True if the packet can never be acked, so it can be removed. Occurs when
|
| + // a packet is never sent, after it is acknowledged once, or if it's a crypto
|
| + // packet we never expect to receive an ack for.
|
| + bool is_unackable;
|
| + // True if the packet contains stream data from the crypto stream.
|
| + bool has_crypto_handshake;
|
| + // Non-zero if the packet needs padding if it's retransmitted.
|
| + int16_t num_padding_bytes;
|
| + // Stores the packet number of the next retransmission of this packet.
|
| + // Zero if the packet has not been retransmitted.
|
| + QuicPacketNumber retransmission;
|
| + // Non-empty if there is a listener for this packet.
|
| + std::list<AckListenerWrapper> ack_listeners;
|
| +};
|
| +
|
| +} // namespace net
|
| +
|
| +#endif // NET_QUIC_CORE_QUIC_TRANSMISSION_INFO_H_
|
|
|