diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-22 16:33:22 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-22 16:34:53 +0000 |
commit | ca4e0d97905eb314e92d92411dd9e44ce85900cf (patch) | |
tree | 298fba6dff2294a1287076844264f9e13eda32ca /net/quic/quic_packet_generator.h | |
parent | 76900d683d5c81a0906213a2aa8c7aff71235ddf (diff) | |
download | chromium_src-ca4e0d97905eb314e92d92411dd9e44ce85900cf.zip chromium_src-ca4e0d97905eb314e92d92411dd9e44ce85900cf.tar.gz chromium_src-ca4e0d97905eb314e92d92411dd9e44ce85900cf.tar.bz2 |
Landing Recent QUIC Changes.
Remove largest_observed_ from QuicSentPacketManager, since it's also in
QuicUnackedPacketMap.
Merge internal change: 73713269
https://codereview.chromium.org/491663003/
Optimize QUIC's EntropyTracker in QuicReceivedPacketManager by using a
deque.
Merge internal change: 73709652
https://codereview.chromium.org/496133002/
Add logic for a client to enable pacing via config to the QUIC sent
packet manager.
Merge internal change: 73685838
https://codereview.chromium.org/497553003/
Clear the QUIC ping alarm when a connection in closed.
Merge internal change: 73684904
https://codereview.chromium.org/475173005/
Rename QuicConnection::OnPacketSent to OnWriteError, to reflect it's
actual functionality, and to only be called when there is an error.
Clean up some logging when packets are sent.
Merge internal change: 73651039
https://codereview.chromium.org/483093004/
Refactor QuicConnection's async write behavior to record a packet as
sent as soon as the write starts, not when it completes.
In QuicStreamFactoryTest, MockClock's now() is returning 0 and that
was causing a DFATAL in QuicUnackedPacketMap::GetLastPacketSentTime().
Noticed, in QuicConnection unittests, we are advancing clock by 1 second
and made a similar change to QuicStreamFactoryTest's MockClock.
Merge internal change: 73648585
https://codereview.chromium.org/473763004/
QUIC minor clean up to keep in sync with internal sources.
+ Use int64 for MaxBandwidthTimestamp (per rjshade).
+ Use DVLOG(1) instead of DLOG(INFO).
+ Reorder class statements.
This CL has changes that were found while merging (or back porting) the
following chroimum specific changes into the internal source tree.
Merge internal change: 73640117
Merge internal change: 73638556
https://codereview.chromium.org/495233002/
Move least_packet_awaited_by_peer_ from QuicReceivedPacketManager to
QuicSentPacketManager.
Merge internal change: 73630593
https://codereview.chromium.org/493183002/
Remove timestamp_receiver. Not used.
Merge internal change: 73627146
https://codereview.chromium.org/495173002/
Remove unused protected received_packet_manager_ accessor in
quic_connection.
Merge internal change: 73626837
https://codereview.chromium.org/496823002/
Convert QUIC's SentEntropyManager to use a deque instead of a map in
order to improve memory and CPU efficiency.
Merge internal change: 73625323
https://codereview.chromium.org/479543004/
When talking >=QUIC_VERSION_22, regularly send updated bandwidth
estimates to the client (in SCUP messages).
The main work is in QuicConnection, where a new alarm regularly checks
for substantially changed bandwidth estimates and sends them to the
client if so. The majority of the rest of this CL is plumbing, and test
code.
Feel free to suggest better values for:
- Timeout between bandwidth estimate alarms
- Definition of "substantial change" in estimate
The flow is:
- on every congestion event (ACK, packet loss) the sent packet manager
passes a bandwidth estimate to the sustained bandwidth recorder
- on every congestion window change, the QuicServerSession checks to see
if the bandwidth has changed sufficiently *and* enough time has passed
since last time we sent an update to the client
- if so, it populates the CachedNetworkParams proto, and passes this to
the CryptoStream which sends a SCUP message to the client
Merge internal change: 73579021
https://codereview.chromium.org/490263003/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/497553004
Cr-Commit-Position: refs/heads/master@{#291427}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291427 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_packet_generator.h')
-rw-r--r-- | net/quic/quic_packet_generator.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h index 77214df..43a46e3 100644 --- a/net/quic/quic_packet_generator.h +++ b/net/quic/quic_packet_generator.h @@ -65,8 +65,7 @@ class QuicPacketGeneratorPeer; class QuicAckNotifier; -class NET_EXPORT_PRIVATE QuicPacketGenerator - : public QuicSentPacketManager::NetworkChangeVisitor { +class NET_EXPORT_PRIVATE QuicPacketGenerator { public: class NET_EXPORT_PRIVATE DelegateInterface { public: @@ -100,9 +99,8 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator virtual ~QuicPacketGenerator(); - // QuicSentPacketManager::NetworkChangeVisitor methods. - virtual void OnCongestionWindowChange(QuicByteCount congestion_window) - OVERRIDE; + // Called by the connection in the event of the congestion window changing. + void OnCongestionWindowChange(QuicByteCount congestion_window); // Indicates that an ACK frame should be sent. If |also_send_feedback| is // true, then it also indicates a CONGESTION_FEEDBACK frame should be sent. |