Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Issue 490263003: When talking >=QUIC_VERSION_22, regularly send updated bandwidth (Closed)

Created:
6 years, 4 months ago by ramant (doing other things)
Modified:
6 years, 4 months ago
Reviewers:
rjshade, wtc, Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org, alyssar
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

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 R=rch@chromium.org, rjshade@chromium.org, wtc@chromium.org

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+533 lines, -59 lines) Patch
M net/net.gypi View 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/crypto/quic_crypto_server_config.h View 3 chunks +15 lines, -5 lines 0 comments Download
M net/quic/crypto/quic_crypto_server_config.cc View 5 chunks +19 lines, -9 lines 0 comments Download
M net/quic/crypto/quic_crypto_server_config_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/crypto/source_address_token.h View 2 chunks +3 lines, -2 lines 0 comments Download
M net/quic/quic_connection.h View 3 chunks +9 lines, -1 line 0 comments Download
M net/quic/quic_connection.cc View 2 chunks +6 lines, -1 line 0 comments Download
M net/quic/quic_connection_test.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M net/quic/quic_crypto_server_stream.h View 2 chunks +3 lines, -1 line 0 comments Download
M net/quic/quic_crypto_server_stream.cc View 3 chunks +7 lines, -3 lines 0 comments Download
M net/quic/quic_packet_generator.h View 2 chunks +3 lines, -5 lines 0 comments Download
M net/quic/quic_protocol.h View 1 chunk +6 lines, -0 lines 0 comments Download
M net/quic/quic_sent_packet_manager.h View 3 chunks +8 lines, -1 line 0 comments Download
M net/quic/quic_sent_packet_manager.cc View 2 chunks +13 lines, -0 lines 0 comments Download
M net/quic/quic_sent_packet_manager_test.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M net/quic/quic_server_session.h View 3 chunks +18 lines, -0 lines 0 comments Download
M net/quic/quic_server_session.cc View 3 chunks +76 lines, -1 line 0 comments Download
M net/quic/quic_session.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_session.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_sustained_bandwidth_recorder.h View 3 chunks +9 lines, -3 lines 0 comments Download
M net/quic/quic_sustained_bandwidth_recorder.cc View 1 chunk +3 lines, -4 lines 0 comments Download
M net/quic/quic_sustained_bandwidth_recorder_test.cc View 6 chunks +27 lines, -21 lines 0 comments Download
M net/quic/test_tools/quic_sent_packet_manager_peer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_sent_packet_manager_peer.cc View 1 chunk +6 lines, -0 lines 0 comments Download
A net/quic/test_tools/quic_sustained_bandwidth_recorder_peer.h View 1 chunk +34 lines, -0 lines 0 comments Download
A net/quic/test_tools/quic_sustained_bandwidth_recorder_peer.cc View 1 chunk +34 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/tools/quic/quic_server_session.h View 3 chunks +18 lines, -0 lines 0 comments Download
M net/tools/quic/quic_server_session.cc View 3 chunks +77 lines, -1 line 0 comments Download
M net/tools/quic/quic_server_session_test.cc View 6 chunks +111 lines, -0 lines 2 comments Download

Messages

Total messages: 4 (0 generated)
ramant (doing other things)
6 years, 4 months ago (2014-08-21 16:58:06 UTC) #1
ramant (doing other things)
https://codereview.chromium.org/490263003/diff/1/net/tools/quic/quic_server_session_test.cc File net/tools/quic/quic_server_session_test.cc (right): https://codereview.chromium.org/490263003/diff/1/net/tools/quic/quic_server_session_test.cc#newcode101 net/tools/quic/quic_server_session_test.cc:101: MATCHER_P(EqualsProto, network_params, "") { Hi Ryan, Implemented EqualsProto to ...
6 years, 4 months ago (2014-08-21 17:02:31 UTC) #2
wtc
Patch set 1 LGTM. I only skimmed over the CL, so please consider this a ...
6 years, 4 months ago (2014-08-21 22:10:19 UTC) #3
Ryan Hamilton
6 years, 4 months ago (2014-08-21 22:11:36 UTC) #4
lgtm

https://codereview.chromium.org/490263003/diff/1/net/tools/quic/quic_server_s...
File net/tools/quic/quic_server_session_test.cc (right):

https://codereview.chromium.org/490263003/diff/1/net/tools/quic/quic_server_s...
net/tools/quic/quic_server_session_test.cc:101: MATCHER_P(EqualsProto,
network_params, "") {
On 2014/08/21 17:02:31, ramant wrote:
> Hi Ryan,
>   Implemented EqualsProto to compare every member of CachedNetworkParameters.
> This is used in tests only. Should we add Equals (or == operator) method in
> CachedNetworkParameters class?
> 
> thanks
> raman

As discussed offline, this SGTM.

Powered by Google App Engine
This is Rietveld 408576698