summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_connection.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-06 02:21:42 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-06 02:21:42 +0000
commit6ae6e3487233a3564815ceac05c548890e937b5d (patch)
tree5020a68d4c8729f084016ed001b8845c38b03e7d /net/quic/quic_connection.h
parentdf17af527036da14d6a3f292c79f3b811ff53f6d (diff)
downloadchromium_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_connection.h')
-rw-r--r--net/quic/quic_connection.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/net/quic/quic_connection.h b/net/quic/quic_connection.h
index 0b35c72..2f15e43 100644
--- a/net/quic/quic_connection.h
+++ b/net/quic/quic_connection.h
@@ -177,8 +177,7 @@ class NET_EXPORT_PRIVATE QuicConnectionHelperInterface {
class NET_EXPORT_PRIVATE QuicConnection
: public QuicFramerVisitorInterface,
public QuicBlockedWriterInterface,
- public QuicPacketGenerator::DelegateInterface,
- public QuicSentPacketManager::HelperInterface {
+ public QuicPacketGenerator::DelegateInterface {
public:
enum Force {
NO_FORCE,
@@ -214,7 +213,8 @@ class NET_EXPORT_PRIVATE QuicConnection
// Send a stream reset frame to the peer.
virtual void SendRstStream(QuicStreamId id,
- QuicRstStreamErrorCode error);
+ QuicRstStreamErrorCode error,
+ QuicStreamOffset bytes_written);
// Sends the connection close packet without affecting the state of the
// connection. This should only be called if the session is actively being
@@ -300,9 +300,6 @@ class NET_EXPORT_PRIVATE QuicConnection
virtual QuicCongestionFeedbackFrame* CreateFeedbackFrame() OVERRIDE;
virtual bool OnSerializedPacket(const SerializedPacket& packet) OVERRIDE;
- // QuicSentPacketManager::HelperInterface
- virtual QuicPacketSequenceNumber GetNextPacketSequenceNumber() OVERRIDE;
-
// Accessors
void set_visitor(QuicConnectionVisitorInterface* visitor) {
visitor_ = visitor;
@@ -586,6 +583,10 @@ class NET_EXPORT_PRIVATE QuicConnection
// acks and pending writes if an ack opened the congestion window.
void MaybeSendInResponseToPacket();
+ // Gets the least unacked sequence number, which is the next sequence number
+ // to be sent if there are no outstanding packets.
+ QuicPacketSequenceNumber GetLeastUnacked() const;
+
// Get the FEC group associate with the last processed packet or NULL, if the
// group has already been deleted.
QuicFecGroup* GetFecGroup();