| Index: net/quic/quic_ack_notifier.h
|
| diff --git a/net/quic/quic_ack_notifier.h b/net/quic/quic_ack_notifier.h
|
| index 48c8375219fb0142457239584fdbefe3078b570a..a771930ced3c803dc24468955bb27812967a9c13 100644
|
| --- a/net/quic/quic_ack_notifier.h
|
| +++ b/net/quic/quic_ack_notifier.h
|
| @@ -21,8 +21,16 @@ class NET_EXPORT_PRIVATE QuicAckNotifier {
|
| : public base::RefCounted<DelegateInterface> {
|
| public:
|
| DelegateInterface();
|
| - virtual void OnAckNotification() = 0;
|
| -
|
| + // Args:
|
| + // num_original_packets - Number of packets in the original transmission.
|
| + // num_original_bytes - Number of packets in the original transmission.
|
| + // num_retransmitted_packets - Number of packets that had to be
|
| + // retransmitted.
|
| + // num_retransmitted_bytes - Number of bytes that had to be retransmitted.
|
| + virtual void OnAckNotification(int num_original_packets,
|
| + int num_original_bytes,
|
| + int num_retransmitted_packets,
|
| + int num_retransmitted_bytes) = 0;
|
| protected:
|
| friend class base::RefCounted<DelegateInterface>;
|
|
|
| @@ -35,11 +43,8 @@ class NET_EXPORT_PRIVATE QuicAckNotifier {
|
| virtual ~QuicAckNotifier();
|
|
|
| // Register a sequence number that this AckNotifier should be interested in.
|
| - void AddSequenceNumber(const QuicPacketSequenceNumber& sequence_number);
|
| -
|
| - // Register a set of sequence numbers that this AckNotifier should be
|
| - // interested in.
|
| - void AddSequenceNumbers(const SequenceNumberSet& sequence_numbers);
|
| + void AddSequenceNumber(const QuicPacketSequenceNumber& sequence_number,
|
| + int packet_payload_size);
|
|
|
| // Called by the QuicConnection on receipt of new ACK frame, with the sequence
|
| // number referenced by the ACK frame.
|
| @@ -60,14 +65,31 @@ class NET_EXPORT_PRIVATE QuicAckNotifier {
|
| QuicPacketSequenceNumber new_sequence_number);
|
|
|
| private:
|
| + struct PacketInfo {
|
| + PacketInfo();
|
| + explicit PacketInfo(int payload_size);
|
| +
|
| + int packet_payload_size;
|
| + };
|
| +
|
| // The delegate's OnAckNotification() method will be called once we have been
|
| // notified of ACKs for all the sequence numbers we are tracking.
|
| // This is not owned by OnAckNotifier and must outlive it.
|
| scoped_refptr<DelegateInterface> delegate_;
|
|
|
| - // Set of sequence numbers this notifier is waiting to hear about. The
|
| - // delegate will not be called until this is an empty set.
|
| - SequenceNumberSet sequence_numbers_;
|
| + // Sequence numbers this notifier is waiting to hear about. The
|
| + // delegate will not be called until this is empty.
|
| + base::hash_map<QuicPacketSequenceNumber, PacketInfo> sequence_numbers_;
|
| +
|
| + // Transmission and retransmission stats.
|
| + // Number of packets in the original transmission.
|
| + int original_packet_count_;
|
| + // Number of packets in the original transmission.
|
| + int original_byte_count_;
|
| + // Number of packets that had to be retransmitted.
|
| + int retransmitted_packet_count_;
|
| + // Number of bytes that had to be retransmitted.
|
| + int retransmitted_byte_count_;
|
| };
|
|
|
| }; // namespace net
|
|
|