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

Issue 2369963004: Ping the premier connection on each network with higher priority. (Closed)

Created:
4 years, 2 months ago by honghaiz3
Modified:
4 years, 1 month ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Ping the premier connection on each network with higher priority. When the selected connection becomes not receiving and there are many connections, If we use a round-robin fashion to ping all connections, none of the connections will be in receiving state for sufficient long time to ensure switching connections promptly. Triggered check will help in this situation to some extent but it may still fail to switch promptly when there are a lot of connections. With this CL, if the selected connection is weak, once we find a writable connection on a network we start to ping it with a higher priority to keep it in receiving state. Plus, if the selected connection is weak, we choose a shorter ping interval (900ms) for all writable connections. BUG=b/32022719 Committed: https://crrev.com/7252a00b9f2c5cb8b0a0557386ea3a8c29b26b9c Cr-Commit-Position: refs/heads/master@{#14991}

Patch Set 1 : . #

Total comments: 24

Patch Set 2 : Merge #

Patch Set 3 : Address Taylor's comments #

Total comments: 2

Patch Set 4 : Add TODO for re-thinking prioritizing connections for ping requests. #

Total comments: 26

Patch Set 5 : . #

Total comments: 19

Patch Set 6 : Address Peter's comments #

Patch Set 7 : Merge and Minor change #

Patch Set 8 : Rearrange FindNextPingableConnection #

Total comments: 12

Patch Set 9 : Address Both comments #

Patch Set 10 : Merge branch 'master' into failover_quickly #

Patch Set 11 : Merge again #

Patch Set 12 : Merge to head #

Patch Set 13 : Add a header file <iterator> #

Unified diffs Side-by-side diffs Delta from patch set Stats (+305 lines, -156 lines) Patch
M webrtc/base/firewallsocketserver.cc View 1 chunk +7 lines, -7 lines 0 comments Download
M webrtc/p2p/base/p2ptransportchannel.h View 1 2 3 4 5 6 7 3 chunks +10 lines, -7 lines 0 comments Download
M webrtc/p2p/base/p2ptransportchannel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 14 chunks +149 lines, -114 lines 0 comments Download
M webrtc/p2p/base/p2ptransportchannel_unittest.cc View 1 2 3 4 5 6 12 chunks +139 lines, -28 lines 0 comments Download

Messages

Total messages: 71 (40 generated)
honghaiz3
https://codereview.webrtc.org/2369963004/diff/220001/webrtc/base/firewallsocketserver.cc File webrtc/base/firewallsocketserver.cc (right): https://codereview.webrtc.org/2369963004/diff/220001/webrtc/base/firewallsocketserver.cc#newcode45 webrtc/base/firewallsocketserver.cc:45: FirewallProtocol protocol = (type_ == SOCK_DGRAM) ? FP_UDP : ...
4 years, 2 months ago (2016-10-03 21:28:34 UTC) #13
Taylor Brandstetter
As far I can tell, this CL is making the following changes: 1. Prune based ...
4 years, 2 months ago (2016-10-04 02:08:10 UTC) #16
honghaiz3
PTAL. Out of the four changes, I removed 1 and 3. #2 and #4 are ...
4 years, 2 months ago (2016-10-20 23:47:58 UTC) #23
Taylor Brandstetter
lgtm. Though I feel the logic for deciding how to prioritize connections and how often ...
4 years, 2 months ago (2016-10-21 20:18:49 UTC) #26
honghaiz3
I agree it is getting pretty complicated on prioritizing the ping requests on connections. Add ...
4 years, 2 months ago (2016-10-21 21:27:26 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2369963004/380001
4 years, 2 months ago (2016-10-21 22:45:53 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2369963004/380001
4 years, 2 months ago (2016-10-21 22:46:23 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on master.tryserver.webrtc (JOB_TIMED_OUT, no build URL) android_clang_dbg on ...
4 years, 2 months ago (2016-10-21 23:28:37 UTC) #38
honghaiz3
On 2016/10/21 23:28:37, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 1 month ago (2016-10-24 17:25:10 UTC) #40
honghaiz3
https://codereview.chromium.org/2369963004/diff/380001/webrtc/base/firewallsocketserver.cc File webrtc/base/firewallsocketserver.cc (left): https://codereview.chromium.org/2369963004/diff/380001/webrtc/base/firewallsocketserver.cc#oldcode45 webrtc/base/firewallsocketserver.cc:45: if (!server_->Check(FP_UDP, GetLocalAddress(), addr)) { It was a bug ...
4 years, 1 month ago (2016-10-24 17:26:57 UTC) #41
pthatcher1
The code could be a little more clear. https://codereview.chromium.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.chromium.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1312 webrtc/p2p/base/p2ptransportchannel.cc:1312: std::map<rtc::Network*, ...
4 years, 1 month ago (2016-10-24 20:49:05 UTC) #42
honghaiz3
PTAL. https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1312 webrtc/p2p/base/p2ptransportchannel.cc:1312: std::map<rtc::Network*, Connection*> On 2016/10/24 20:49:05, pthatcher1 wrote: > ...
4 years, 1 month ago (2016-10-24 23:35:09 UTC) #43
pthatcher1
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1312 webrtc/p2p/base/p2ptransportchannel.cc:1312: std::map<rtc::Network*, Connection*> On 2016/10/24 23:35:08, honghaiz3 wrote: > On ...
4 years, 1 month ago (2016-10-25 17:00:07 UTC) #44
honghaiz3
PTAL. https://codereview.webrtc.org/2369963004/diff/400001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/400001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1327 webrtc/p2p/base/p2ptransportchannel.cc:1327: return best_connections_by_network; On 2016/10/25 17:00:06, pthatcher1 wrote: > ...
4 years, 1 month ago (2016-10-25 18:01:09 UTC) #46
Taylor Brandstetter
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1625 webrtc/p2p/base/p2ptransportchannel.cc:1625: bool P2PTransportChannel::IsPremierConnectionPingable( On 2016/10/25 17:00:06, pthatcher1 wrote: > On ...
4 years, 1 month ago (2016-10-25 18:29:28 UTC) #47
honghaiz3
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1625 webrtc/p2p/base/p2ptransportchannel.cc:1625: bool P2PTransportChannel::IsPremierConnectionPingable( On 2016/10/25 18:29:28, Taylor Brandstetter wrote: > ...
4 years, 1 month ago (2016-10-25 22:01:24 UTC) #48
pthatcher1
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1625 webrtc/p2p/base/p2ptransportchannel.cc:1625: bool P2PTransportChannel::IsPremierConnectionPingable( On 2016/10/25 22:01:24, honghaiz3 wrote: > On ...
4 years, 1 month ago (2016-10-26 22:37:50 UTC) #49
honghaiz3
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1625 webrtc/p2p/base/p2ptransportchannel.cc:1625: bool P2PTransportChannel::IsPremierConnectionPingable( On 2016/10/26 22:37:50, pthatcher1 wrote: > On ...
4 years, 1 month ago (2016-10-27 19:20:59 UTC) #50
Taylor Brandstetter
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1625 webrtc/p2p/base/p2ptransportchannel.cc:1625: bool P2PTransportChannel::IsPremierConnectionPingable( On 2016/10/27 19:20:58, honghaiz3 wrote: > On ...
4 years, 1 month ago (2016-10-27 21:04:54 UTC) #51
honghaiz3
https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/380001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1625 webrtc/p2p/base/p2ptransportchannel.cc:1625: bool P2PTransportChannel::IsPremierConnectionPingable( On 2016/10/27 21:04:54, Taylor Brandstetter wrote: > ...
4 years, 1 month ago (2016-10-27 21:45:09 UTC) #52
honghaiz3
I rearranged the FindNextPingableConnection method as suggested by Peter. PTAL.
4 years, 1 month ago (2016-10-28 23:48:55 UTC) #54
Taylor Brandstetter
lgtm. This restructuring looks really good! Especially with the detailed comments. I think it would ...
4 years, 1 month ago (2016-10-29 00:27:45 UTC) #55
pthatcher1
Much easier to read. But I think we might need to do "writable" then "best" ...
4 years, 1 month ago (2016-10-31 18:21:27 UTC) #56
honghaiz3
PTAL. Thanks! https://codereview.webrtc.org/2369963004/diff/500001/webrtc/p2p/base/p2ptransportchannel.cc File webrtc/p2p/base/p2ptransportchannel.cc (right): https://codereview.webrtc.org/2369963004/diff/500001/webrtc/p2p/base/p2ptransportchannel.cc#newcode1323 webrtc/p2p/base/p2ptransportchannel.cc:1323: for (Connection* conn : connections_) { On ...
4 years, 1 month ago (2016-10-31 19:17:30 UTC) #57
honghaiz3
On 2016/10/31 19:17:30, honghaiz3 wrote: > PTAL. Thanks! > > https://codereview.webrtc.org/2369963004/diff/500001/webrtc/p2p/base/p2ptransportchannel.cc > File webrtc/p2p/base/p2ptransportchannel.cc (right): ...
4 years, 1 month ago (2016-11-07 19:59:23 UTC) #58
pthatcher1
lgtm
4 years, 1 month ago (2016-11-09 02:19:12 UTC) #59
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2369963004/580001
4 years, 1 month ago (2016-11-09 02:49:07 UTC) #62
commit-bot: I haz the power
Try jobs failed on following builders: win_x64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_x64_dbg/builds/2958)
4 years, 1 month ago (2016-11-09 02:53:18 UTC) #64
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2369963004/600001
4 years, 1 month ago (2016-11-09 03:35:55 UTC) #67
commit-bot: I haz the power
Committed patchset #13 (id:600001)
4 years, 1 month ago (2016-11-09 04:04:14 UTC) #69
commit-bot: I haz the power
4 years, 1 month ago (2016-11-09 04:04:25 UTC) #71
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/7252a00b9f2c5cb8b0a0557386ea3a8c29b26b9c
Cr-Commit-Position: refs/heads/master@{#14991}

Powered by Google App Engine
This is Rietveld 408576698