diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-06 02:21:42 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-06 02:21:42 +0000 |
commit | 6ae6e3487233a3564815ceac05c548890e937b5d (patch) | |
tree | 5020a68d4c8729f084016ed001b8845c38b03e7d /net/quic/quic_sent_packet_manager.h | |
parent | df17af527036da14d6a3f292c79f3b811ff53f6d (diff) | |
download | chromium_src-6ae6e3487233a3564815ceac05c548890e937b5d.zip chromium_src-6ae6e3487233a3564815ceac05c548890e937b5d.tar.gz chromium_src-6ae6e3487233a3564815ceac05c548890e937b5d.tar.bz2 |
Land Recent QUIC Changes.
Remove QUIC's accummulated_number_of_lost_packets from the TCP and
InterArrival congestion feedback frames.
This is part of the migration to version 15, and removes a field which
was intended to be used by FEC, but never set to a non-zero value
previously due to a bug in the code.
Merge internal change: 60948757
https://codereview.chromium.org/155723002/
Add stats for lost and spuriously retransmitted packets to
QuicConnectionStats.
Merge internal change: 60932905
https://codereview.chromium.org/149793004/
The MOCK_METHODx usages removed in this CL try to mock either a
non-virtual or not existing method and are thus never called.
Please look carefully at each deletion. Instead of deleting, the right
fix might be:
- Fix spelling or signature to actually overwrite a method in the base
class
- Make the method in the base class virtual
- This is a currently unused mock intended to mock a non-virtual method
via template injection and it should be left alone
Merge internal change: 60910454
https://codereview.chromium.org/153093006/
Cleanup: Remove inclusion of base/scoped_ptr.h in files which don't use
scoped_ptr. Testing ensures that these inclusions don't have transitive
dependencies.
Merge internal change: 60858913
https://codereview.chromium.org/155683002/
Change QUIC's GetRetransmissionDelay() to exponentially back off from
the minimum value, instead of using the minimum multiple times.
Merge internal change: 60782771
https://codereview.chromium.org/155673002/
QUIC_VERSION_14 introduced. Add byte_offset to RST_STREAM_FRAME, add
version checks for WINDOW_UPDATE and BLOCKED frames. None of these
additions used yet.
Merge internal change: 60780039
https://codereview.chromium.org/155623003/
(minor) QUIC: Initialize members in QUIC frame constructors.
Merge internal change: 60677390
https://codereview.chromium.org/150663004/
Add WINDOW_UPDATE and BLOCKED frames to QUIC. Not yet used.
Adds the frame types, and matching framer methods for reading/writing
them. The framer visitor methods to handle the new frames just return
true and ignore them for now.
Merge internal change: 60646513
https://codereview.chromium.org/130463004/
QUIC cleanup to remove the helper which provided
GetNextPacketSequenceNumber to QuicSentPacketManager and instead let the
connection use that information directly.
Merge internal change: 60587367
https://codereview.chromium.org/132503007/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/149113005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249228 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_sent_packet_manager.h')
-rw-r--r-- | net/quic/quic_sent_packet_manager.h | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/net/quic/quic_sent_packet_manager.h b/net/quic/quic_sent_packet_manager.h index 922134f..e767288 100644 --- a/net/quic/quic_sent_packet_manager.h +++ b/net/quic/quic_sent_packet_manager.h @@ -32,6 +32,7 @@ class QuicSentPacketManagerPeer; class QuicClock; class QuicConfig; +struct QuicConnectionStats; // Class which tracks the set of packets sent on a QUIC connection and contains // a send algorithm to decide when to send new packets. It keeps track of any @@ -58,18 +59,9 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager { QuicSequenceNumberLength sequence_number_length; }; - // Interface which provides callbacks that the manager needs. - class NET_EXPORT_PRIVATE HelperInterface { - public: - virtual ~HelperInterface(); - - // Called to return the sequence number of the next packet to be sent. - virtual QuicPacketSequenceNumber GetNextPacketSequenceNumber() = 0; - }; - QuicSentPacketManager(bool is_server, - HelperInterface* helper, const QuicClock* clock, + QuicConnectionStats* stats, CongestionFeedbackType congestion_type); virtual ~QuicSentPacketManager(); @@ -121,10 +113,8 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager { // Returns the number of unacked packets which have retransmittable frames. size_t GetNumRetransmittablePackets() const; - // Returns the smallest sequence number of a sent packet which has not been - // acked by the peer. Excludes any packets which have been retransmitted - // with a new sequence number. If all packets have been acked, returns the - // sequence number of the next packet that will be sent. + // Returns the smallest sequence number of a serialized packet which has not + // been acked by the peer. If there are no unacked packets, returns 0. QuicPacketSequenceNumber GetLeastUnackedSentPacket() const; // Returns the set of sequence numbers of all unacked packets. @@ -314,14 +304,13 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager { // Tracks if the connection was created by the server. bool is_server_; - HelperInterface* helper_; - // An AckNotifier can register to be informed when ACKs have been received for // all packets that a given block of data was sent in. The AckNotifierManager // maintains the currently active notifiers. AckNotifierManager ack_notifier_manager_; const QuicClock* clock_; + QuicConnectionStats* stats_; scoped_ptr<SendAlgorithmInterface> send_algorithm_; // Tracks the send time, size, and nack count of sent packets. Packets are // removed after 5 seconds and they've been removed from pending_packets_. |