diff options
| author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-17 15:51:33 +0000 |
|---|---|---|
| committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-17 15:51:33 +0000 |
| commit | ce7bb141d5359dfe1224a85bafa802a09f1e683d (patch) | |
| tree | d2f27658cb8e127a89d7b4198fe04949283e30e7 /net/quic/quic_connection.h | |
| parent | f5d0fa6e33af3ac62a6d98e4cac1b1420533f6d7 (diff) | |
| download | chromium_src-ce7bb141d5359dfe1224a85bafa802a09f1e683d.zip chromium_src-ce7bb141d5359dfe1224a85bafa802a09f1e683d.tar.gz chromium_src-ce7bb141d5359dfe1224a85bafa802a09f1e683d.tar.bz2 | |
Land Recent QUIC Changes.
Stub for BBRv2, based on TCP congestion feedback frames.
Merge internal change: 67154078
https://codereview.chromium.org/283333008/
Update QuicSentPacketManager to sample a new recent min rtt within the
first 2 rtt samples after quiescence.
Merge internal change: 67149500
https://codereview.chromium.org/286143007/
Change the test QUIC stream id to be the first non reserved stream ID
(and also to use the right typedef).
Merge internal change: 67146383
https://codereview.chromium.org/292453003/
Adds dynamic FEC on/off switch in packet creator. Tightens use of
max_packets_per_fec_group through use of a setter method across the QUIC
code. FEC operations are now decided based on should_fec_protect_, which
is expected to be a dynamic on/off control in the packet creator,
instead of max_packets_per_fec_group.
Adds dynamic FEC on/off switch in packet_creator.
Merge internal change: 67144415
https://codereview.chromium.org/286153003/
Minor cleanup to simplify QuicSentPacketManager's OnPacketSent and
always reset the retransmission alarm anytime a new pending packet is
sent.
Always setting the retransmission alarm is only a simplification of the
approach, and not intended to fix any issues.
Merge internal change: 67143274
https://codereview.chromium.org/288333002/
Don't set QUIC's write alarm if we are connection flow control blocked.
Added QUIC_VERSION_19 to kSupportedQuicVersions.
Merge internal change: 67141668
https://codereview.chromium.org/285193006/
Minor cleanup of QuicUnackedPacketMap to simplify the implementation of
HasPendingPackets and move a test only method,
GetNumRetransmittablePackets, into QuicSentPacketManagerPeer.
Merge internal change: 67123054
https://codereview.chromium.org/282323003/
Fix a QUIC bug where a crypto packet was never removed from the
UnackedPacketMap if it was not acked and spuriously retransmitted at
least twice.
Merge internal change: 67050631
https://codereview.chromium.org/284273002/
Refactor: move flow controller from QuicConnection to QuicSession.
No behavior change intended.
Merge internal change: 67036889
https://codereview.chromium.org/286213002/
Fix a QUIC bug where a packet could remain in the UnackedPacketMap
indefinitely. This can cause a memory leak when tracking entropy.
Merge internal change: 67028206
https://codereview.chromium.org/285233006/
Delete dead code used only in tests.
Merge internal change: 66938996
https://codereview.chromium.org/288303002/
Add handling + parsing for ALTSVC frame. Also change frame type number
and add an extra version check for BLOCKED frame. SPDY4/HTTP2 only.
Merge internal change: 66925490
https://codereview.chromium.org/286173002/
QUIC loadtest fixes:
- Wait for the QUIC handshake to complete before saying that the
QuicTestClient is connected.
- Force connect at client creation time when talking HTTP/HTTPS/SPDY
for consistency.
Merge internal change: 66855236
https://codereview.chromium.org/282153004/
QUIC now respects configured SPDY stream limits.
Merge internal change: 66831620
https://codereview.chromium.org/286113004/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/288313003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271211 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_connection.h')
| -rw-r--r-- | net/quic/quic_connection.h | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/net/quic/quic_connection.h b/net/quic/quic_connection.h index 3e43e9d..8b6e034 100644 --- a/net/quic/quic_connection.h +++ b/net/quic/quic_connection.h @@ -49,7 +49,6 @@ class QuicConnection; class QuicDecrypter; class QuicEncrypter; class QuicFecGroup; -class QuicFlowController; class QuicRandom; namespace test { @@ -94,10 +93,12 @@ class NET_EXPORT_PRIVATE QuicConnectionVisitorInterface { // Called when a blocked socket becomes writable. virtual void OnCanWrite() = 0; - // Called to ask if any writes are pending in this visitor. Writes may be - // pending because they were write-blocked, congestion-throttled or - // yielded to other connections. - virtual bool HasPendingWrites() const = 0; + // Called to ask if the visitor wants to schedule write resumption as it has + // both has pending data to write, and is able to write (e.g. based on flow + // control limits). + // Writes may be pending because they were write-blocked, congestion-throttled + // or yielded to other connections. + virtual bool WillingAndAbleToWrite() const = 0; // Called to ask if any handshake messages are pending in this visitor. virtual bool HasPendingHandshake() const = 0; @@ -217,8 +218,7 @@ class NET_EXPORT_PRIVATE QuicConnection QuicConnectionHelperInterface* helper, QuicPacketWriter* writer, bool is_server, - const QuicVersionVector& supported_versions, - uint32 max_flow_control_receive_window_bytes); + const QuicVersionVector& supported_versions); virtual ~QuicConnection(); // Sets connection parameters from the supplied |config|. @@ -267,8 +267,6 @@ class NET_EXPORT_PRIVATE QuicConnection QuicStreamId last_good_stream_id, const std::string& reason); - QuicFlowController* flow_controller() { return flow_controller_.get(); } - // Returns statistics tracked for this connection. const QuicConnectionStats& GetStats(); @@ -460,10 +458,6 @@ class NET_EXPORT_PRIVATE QuicConnection bool CanWrite(TransmissionType transmission_type, HasRetransmittableData retransmittable); - uint32 max_flow_control_receive_window_bytes() const { - return max_flow_control_receive_window_bytes_; - } - // Stores current batch state for connection, puts the connection // into batch mode, and destruction restores the stored batch state. // While the bundler is in scope, any generated frames are bundled @@ -760,12 +754,6 @@ class NET_EXPORT_PRIVATE QuicConnection // version negotiation packet. QuicVersionVector server_supported_versions_; - // Initial flow control receive window size for new streams. - uint32 max_flow_control_receive_window_bytes_; - - // Used for connection level flow control. - scoped_ptr<QuicFlowController> flow_controller_; - DISALLOW_COPY_AND_ASSIGN(QuicConnection); }; |
