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

Issue 2371053003: [Cronet] Delete bidi stream asynchronously in OnFailed and MaybeOnSucceeded callbacks on iOS. (Closed)

Created:
4 years, 2 months ago by mef
Modified:
4 years, 2 months ago
Reviewers:
kapishnikov
CC:
chromium-reviews, cbentzel+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Cronet] Delete bidi stream asynchronously in OnFailed and MaybeOnSucceeded callbacks on iOS. Callbacks are invoked synchronously from underlying net layers, and don't expect object to be deleted upon return. BUG=650782 Committed: https://crrev.com/210d6b6d067016d9535dd6ff2b149a07e33851bf Cr-Commit-Position: refs/heads/master@{#422224}

Patch Set 1 #

Patch Set 2 : Added failure test case. #

Total comments: 5

Patch Set 3 : Address Andrei's comments. #

Patch Set 4 : Delete |bidi_stream_| asynchronously on network thread. #

Patch Set 5 : Self review. #

Total comments: 1

Patch Set 6 : Exit if |bidi_stream_| is null in net::BidirectionalStream::Delegate callbacks. #

Total comments: 4

Patch Set 7 : Make CronetBidirectionalStreamAdapter own C stream. #

Patch Set 8 : Restored removed tests. #

Total comments: 8

Patch Set 9 : Address Andrei's comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+91 lines, -34 lines) Patch
M components/cronet/ios/cronet_bidirectional_stream.cc View 1 2 3 4 5 6 7 8 7 chunks +23 lines, -3 lines 0 comments Download
M components/cronet/ios/cronet_c_for_grpc.cc View 1 2 3 4 5 6 7 8 7 chunks +33 lines, -31 lines 0 comments Download
M components/cronet/ios/test/cronet_bidirectional_stream_test.mm View 1 6 7 1 chunk +30 lines, -0 lines 0 comments Download
M components/cronet/tools/cr_cronet.py View 2 chunks +5 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (6 generated)
mef
4 years, 2 months ago (2016-09-27 19:42:08 UTC) #2
kapishnikov
https://codereview.chromium.org/2371053003/diff/20001/components/cronet/ios/cronet_bidirectional_stream.cc File components/cronet/ios/cronet_bidirectional_stream.cc (right): https://codereview.chromium.org/2371053003/diff/20001/components/cronet/ios/cronet_bidirectional_stream.cc#newcode251 components/cronet/ios/cronet_bidirectional_stream.cc:251: if (stream_done_) Is it possible for this method to ...
4 years, 2 months ago (2016-09-27 21:29:31 UTC) #3
mef
https://codereview.chromium.org/2371053003/diff/20001/components/cronet/ios/cronet_bidirectional_stream.cc File components/cronet/ios/cronet_bidirectional_stream.cc (right): https://codereview.chromium.org/2371053003/diff/20001/components/cronet/ios/cronet_bidirectional_stream.cc#newcode251 components/cronet/ios/cronet_bidirectional_stream.cc:251: if (stream_done_) On 2016/09/27 21:29:30, kapishnikov wrote: > Is ...
4 years, 2 months ago (2016-09-28 00:44:29 UTC) #4
mef
PTAL. Deleting |bidi_stream_| asynchronously simplifies things, but I think there is still possibility for racing ...
4 years, 2 months ago (2016-09-28 22:29:53 UTC) #5
kapishnikov
https://codereview.chromium.org/2371053003/diff/80001/components/cronet/ios/cronet_c_for_grpc.cc File components/cronet/ios/cronet_c_for_grpc.cc (right): https://codereview.chromium.org/2371053003/diff/80001/components/cronet/ios/cronet_c_for_grpc.cc#newcode192 components/cronet/ios/cronet_c_for_grpc.cc:192: adapter->stream_ = nullptr; We set adapter->stream_ to null here ...
4 years, 2 months ago (2016-09-30 17:43:57 UTC) #7
mef
PTAL https://codereview.chromium.org/2371053003/diff/100001/components/cronet/ios/test/cronet_bidirectional_stream_test.mm File components/cronet/ios/test/cronet_bidirectional_stream_test.mm (left): https://codereview.chromium.org/2371053003/diff/100001/components/cronet/ios/test/cronet_bidirectional_stream_test.mm#oldcode569 components/cronet/ios/test/cronet_bidirectional_stream_test.mm:569: TEST_P(CronetBidirectionalStreamTest, ReadFailsBeforeRequestStarted) { No callbacks before request started. ...
4 years, 2 months ago (2016-09-30 19:20:43 UTC) #8
mef
PTAL. https://codereview.chromium.org/2371053003/diff/100001/components/cronet/ios/test/cronet_bidirectional_stream_test.mm File components/cronet/ios/test/cronet_bidirectional_stream_test.mm (left): https://codereview.chromium.org/2371053003/diff/100001/components/cronet/ios/test/cronet_bidirectional_stream_test.mm#oldcode569 components/cronet/ios/test/cronet_bidirectional_stream_test.mm:569: TEST_P(CronetBidirectionalStreamTest, ReadFailsBeforeRequestStarted) { On 2016/09/30 19:20:43, mef wrote: ...
4 years, 2 months ago (2016-09-30 19:30:52 UTC) #9
kapishnikov
https://codereview.chromium.org/2371053003/diff/140001/components/cronet/ios/cronet_bidirectional_stream.cc File components/cronet/ios/cronet_bidirectional_stream.cc (right): https://codereview.chromium.org/2371053003/diff/140001/components/cronet/ios/cronet_bidirectional_stream.cc#newcode282 components/cronet/ios/cronet_bidirectional_stream.cc:282: if (!bidi_stream_ || read_state_ != WAITING_FOR_READ) { Is this ...
4 years, 2 months ago (2016-09-30 20:40:10 UTC) #11
mef
Thanks, PTAL. https://codereview.chromium.org/2371053003/diff/140001/components/cronet/ios/cronet_bidirectional_stream.cc File components/cronet/ios/cronet_bidirectional_stream.cc (right): https://codereview.chromium.org/2371053003/diff/140001/components/cronet/ios/cronet_bidirectional_stream.cc#newcode282 components/cronet/ios/cronet_bidirectional_stream.cc:282: if (!bidi_stream_ || read_state_ != WAITING_FOR_READ) { ...
4 years, 2 months ago (2016-09-30 21:05:09 UTC) #12
kapishnikov
lgtm
4 years, 2 months ago (2016-09-30 21:11:59 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2371053003/160001
4 years, 2 months ago (2016-09-30 21:14:20 UTC) #15
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 2 months ago (2016-09-30 21:25:20 UTC) #17
commit-bot: I haz the power
4 years, 2 months ago (2016-09-30 21:27:43 UTC) #19
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/210d6b6d067016d9535dd6ff2b149a07e33851bf
Cr-Commit-Position: refs/heads/master@{#422224}

Powered by Google App Engine
This is Rietveld 408576698