New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 769858 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jul 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Consider switch from Connect to ConnectUsingDefaultNetwork when QuicStreamFactory creates sockets

Project Member Reported by zhongyi@chromium.org, Sep 28 2017

Issue description

Pulling out from an internal discussion 65425099.

As pauljensen@ suggested, we might consider switch from Connect() to ConnectUsingDefaultNetwork() when QuicStreamFactory creates sockets in default case(not during connection migration). So that GetBoundNetworkHandle could return a valid network handle and be stored in the session. This will also help us recognize whether the session is affected by a network change by comparing the bounded network handle and the affected network handle.

Note this will only be supported in those platforms that support NetworkHandle, i.e., Android.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a605d23abf3948009a305592ce22ee45ab3d15b

commit 1a605d23abf3948009a305592ce22ee45ab3d15b
Author: Zhongyi Shi <zhongyi@chromium.org>
Date: Fri Sep 29 20:09:48 2017

QUIC: Change sockets to explicitly use default network to connect
if NetworkHandle is supported, i.e., Android only.

Controlled by field_trial parameter "connect_using_default_network".

Bug:  769858 
Change-Id: I21432291cd0ab43532545878d055ca41cc8bae35
Reviewed-on: https://chromium-review.googlesource.com/691103
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Jana Iyengar <jri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505449}
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/components/network_session_configurator/browser/network_session_configurator.cc
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/components/network_session_configurator/browser/network_session_configurator_unittest.cc
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/net/http/http_network_session.cc
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/net/http/http_network_session.h
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/net/quic/chromium/quic_stream_factory.cc
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/net/quic/chromium/quic_stream_factory.h
[modify] https://crrev.com/1a605d23abf3948009a305592ce22ee45ab3d15b/net/quic/chromium/quic_stream_factory_test.cc

Project Member

Comment 2 by bugdroid1@chromium.org, May 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ec9d23283acdcfd324420b296373a37343b9417

commit 6ec9d23283acdcfd324420b296373a37343b9417
Author: Zhongyi Shi <zhongyi@chromium.org>
Date: Fri May 18 02:20:39 2018

Remove code to explicitly connect socket to a default network.

Bug:  769858 
Change-Id: I99174d3018ffa4ac0606a51a55f84018608278f9
Reviewed-on: https://chromium-review.googlesource.com/1060558
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559779}
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/components/network_session_configurator/browser/network_session_configurator.cc
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/components/network_session_configurator/browser/network_session_configurator_unittest.cc
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/http/http_network_session.cc
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/http/http_network_session.h
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/http/http_proxy_client_socket_wrapper_unittest.cc
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/quic/chromium/quic_stream_factory.cc
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/quic/chromium/quic_stream_factory.h
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/quic/chromium/quic_stream_factory_fuzzer.cc
[modify] https://crrev.com/6ec9d23283acdcfd324420b296373a37343b9417/net/quic/chromium/quic_stream_factory_test.cc

Status: WontFix (was: Assigned)
We experimented this change in a independent experiment(no connection migration) and decided to hold it back as the platform expected session listen to/handle network signals if the socket is configured by calling ConnectUsingDefaultNetwork (platform will not kill the socket).

This option should only apply when connection migration is turned on where by calling this method: platform hands the socket management over to QUIC Connection Migration. 

Sign in to add a comment