Unify implementations of ReconsiderProxyAfterError() |
|||
Issue descriptionThere are 3 copies of ReconsiderProxyAfterError(), each with slight differences: https://chromium.googlesource.com/chromium/src/+/42aa25b933548b5c7b8b3c773215a5a6ecd49080/google_apis/gcm/engine/connection_factory_impl.cc#533 https://chromium.googlesource.com/chromium/src/+/42aa25b933548b5c7b8b3c773215a5a6ecd49080/services/network/proxy_resolving_client_socket.cc#281 https://chromium.googlesource.com/chromium/src/+/2dbfc509632afc3e693f14eef19ba155d23192c1/net/http/http_stream_factory_impl_job.cc#1366 There should be a single shared, and well documented implementation. Especially in light of Issue 680837 , this code needs careful review before adding new fallback paths.
,
Feb 27 2018
I am touching the code as part of issue 680837 , and in the short term was just going to link to this bug number in a TODO. I can do an intermediary extraction of code to a helper if that comes up in our review. Otherwise it is probably simpler to defer to after the GCM code is removed. I don't mind taking this, but will leave it open to reflect I am not working on it yet.
,
Feb 27 2018
Hmm, I should probably just take this :)
,
Feb 27 2018
Thanks, Eric. I filed bug 817094 to eliminate the copy in gcm. I plan to start working on it soon.
,
Mar 1 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f8003358567c900f05a277707d3fb3783a4c722 commit 6f8003358567c900f05a277707d3fb3783a4c722 Author: Eric Roman <eroman@chromium.org> Date: Thu Mar 01 22:49:14 2018 Refactor duplicated implementations of ReconsiderProxyAfterError. This extracts the logic for categorizing network errors as retry-able proxy errors to proxy_fallback.cc. It is a bit awkward to have a single function in this file, however it serves as a good place to document general proxy fallback behaviors, and the more logic from proxy fallback could be moved here in the future. Bug: 817052 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Change-Id: Ic6356c4de3012c41a4bc91feb1e71b5586330fa0 Reviewed-on: https://chromium-review.googlesource.com/940626 Reviewed-by: Peter Beverloo <peter@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Commit-Queue: Eric Roman <eroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#540324} [modify] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/google_apis/gcm/engine/connection_factory_impl.cc [modify] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/net/BUILD.gn [modify] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/net/http/http_stream_factory_impl_job.cc [add] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/net/http/proxy_fallback.cc [add] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/net/http/proxy_fallback.h [modify] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/services/network/proxy_resolving_client_socket.cc [modify] https://crrev.com/6f8003358567c900f05a277707d3fb3783a4c722/services/network/proxy_resolving_client_socket_unittest.cc
,
Mar 13 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by mmenke@chromium.org
, Feb 27 2018