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

Issue 7046011: Merge 84251, 85083, 85188, 85375, 77501. (Closed)

Created:
9 years, 7 months ago by willchan no longer on Chromium
Modified:
9 years, 7 months ago
Reviewers:
Mike Belshe, wtc
CC:
chromium-reviews
Visibility:
Public.

Description

Merge 84251, 85083, 85188, 85375, 77501. Add a fallback socket connect() for IPv6. When a hostname has both IPv6 and IPv4 addresses, and the IPv6 address is listed first, we start a timer (300ms) (deliberately chosen to be different from the backup connect job). If the timer fires, that means the IPv6 connect() hasn't completed yet, and we start a second socket connect() where we give it the same AddressList, except we move all IPv6 addresses that are in front of the first IPv4 address to the end. That way, we will use the first IPv4 address. We will race these two connect()s and pass the first one to complete to ConnectJob::set_socket(). Adds 4 new TCP connection latency histograms to assess the new behavior: IPv6 raceable (includes both when it races and doesn't, which are distinguished by whether or not the samples exceed the race timeout of 300ms) IPv6 solo (no IPv4 addresses to race against) IPv4 no race (IPv4 is the first address, so we're not racing) IPv4 wins race (IPv4 raced and won, even though it started behind). BUG=81686 TEST=On Linux, drop ip6 packets via `sudo ip6tables -A OUTPUT -p tcp -j DROP`. Then test against a site with both IPv6 and IPv4 addresses (such as www.ripe.net). It should load without hitting 20s connect() timeouts on the IPv6 addresses. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=85922

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+568 lines, -97 lines) Patch
M src/net/base/address_list.cc View 3 chunks +4 lines, -54 lines 0 comments Download
M src/net/base/host_resolver_impl_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/net/base/mock_host_resolver.cc View 4 chunks +31 lines, -18 lines 0 comments Download
M src/net/base/net_util.h View 1 chunk +10 lines, -0 lines 0 comments Download
M src/net/base/net_util.cc View 2 chunks +53 lines, -0 lines 0 comments Download
M src/net/socket/tcp_client_socket_pool.h View 4 chunks +28 lines, -1 line 0 comments Download
M src/net/socket/tcp_client_socket_pool.cc View 6 chunks +183 lines, -8 lines 0 comments Download
M src/net/socket/tcp_client_socket_pool_unittest.cc View 12 chunks +257 lines, -14 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
willchan no longer on Chromium
9 years, 7 months ago (2011-05-19 15:06:14 UTC) #1
willchan no longer on Chromium
This is the same as wtc's http://codereview.chromium.org/7029049/, except I had to rename some more. I ...
9 years, 7 months ago (2011-05-19 15:17:10 UTC) #2
Mike Belshe
lgtm
9 years, 7 months ago (2011-05-19 15:33:35 UTC) #3
willchan no longer on Chromium
9 years, 7 months ago (2011-05-19 16:27:08 UTC) #4
OK, my next tryjob runs with -r 77261 are working (but don't seem to be updating
here). I'm landing this now.

On 2011/05/19 15:33:35, Mike Belshe wrote:
> lgtm

Powered by Google App Engine
This is Rietveld 408576698