summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_packet_generator.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-22 16:33:22 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-22 16:34:53 +0000
commitca4e0d97905eb314e92d92411dd9e44ce85900cf (patch)
tree298fba6dff2294a1287076844264f9e13eda32ca /net/quic/quic_packet_generator.h
parent76900d683d5c81a0906213a2aa8c7aff71235ddf (diff)
downloadchromium_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.h8
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.