Handle packet read error with connection migration v2 |
|
Issue descriptionCMV2 currently handles QUIC packet write error which are believed to be related to network. This logic should also apply to packet read error.
,
Mar 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6bdb765e4834447e7916d0b0d93670d36a6c8970 commit 6bdb765e4834447e7916d0b0d93670d36a6c8970 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Sat Mar 10 02:24:57 2018 Do not close connection when receiving read errors during pending migration. Also add more granular histograms to collect data on PacketReader errors. Bug: 818050 Change-Id: I39d736967f1a3347e964c09862982941e4f0d60d Reviewed-on: https://chromium-review.googlesource.com/956663 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#542322} [modify] https://crrev.com/6bdb765e4834447e7916d0b0d93670d36a6c8970/net/quic/chromium/quic_chromium_client_session.cc [modify] https://crrev.com/6bdb765e4834447e7916d0b0d93670d36a6c8970/tools/metrics/histograms/histograms.xml
,
Jul 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f3d6cddb68a67df9255b0384286cd3a1c3a8004d commit f3d6cddb68a67df9255b0384286cd3a1c3a8004d Author: Zhongyi Shi <zhongyi@chromium.org> Date: Wed Jul 11 03:30:02 2018 Quic Connection Migration: remove |migration_pending_|. Currently |migration_pending_| is mixing three invariants together: - connection migration is triggered but no alternate network is available for migration. - connection migration on write error posted, but other direct migration completes, prevent the posted task from being executed. - connection migration on write error is in progress, read error should be ignored. This change explicitly separate out those three invariants: - |wait_for_new_network_| tracks if a migration is triggered and no alternate network is available - MigrateSessionOnWriteError(posted task to handle write error) takes the writer which encountered the write error, and compares with the active writer in use to determine if the migration should be aborted. - |ignore_read_error_| tracks if read error should be ignored. Bug: 818050 Change-Id: Ic6d1c4c95f9da2207901ba985fb662ab0d4abc3c Reviewed-on: https://chromium-review.googlesource.com/1129549 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#574056} [modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_chromium_client_session.cc [modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_chromium_client_session.h [modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_chromium_packet_writer.cc [modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_stream_factory_test.cc |
|
►
Sign in to add a comment |
|
Comment 1 by zhongyi@chromium.org
, Mar 8 2018