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

Issue 1326503003: Added a net::BidirectionalStream to expose a bidirectional streaming interface (Closed)

Created:
5 years, 3 months ago by xunjieli
Modified:
4 years, 11 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, pauljensen
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Added a net::BidirectionalStream to expose a bidirectional streaming interface This CL adds a BidirectionalStream on top of SpdyStream to expose a bidirectional streaming interface. This CL also modifies HttpStreamFactoryImplJob to create BidirectionalStream. BUG=516342 Committed: https://crrev.com/11834f05b42d7c5e8cc7bd5774033db3773627a5 Cr-Commit-Position: refs/heads/master@{#366541}

Patch Set 1 : #

Total comments: 29

Patch Set 2 : Address Comments #

Patch Set 3 : Pass through priority and netlog #

Total comments: 32

Patch Set 4 : Address Comments #

Total comments: 30

Patch Set 5 : Address Misha's and Matt's comments #

Total comments: 2

Patch Set 6 : Avoid inlining #

Total comments: 31

Patch Set 7 : Address Matt's comments #

Patch Set 8 : Make the wrapper class own the stream #

Total comments: 32

Patch Set 9 : Address Matt's and Misha's Comments. Renamed a bunch of classes #

Patch Set 10 : Rebased #

Total comments: 13

Patch Set 11 : Address Misha's comments #

Total comments: 2

Patch Set 12 : Delay OnClose properly #

Patch Set 13 : Remove unneeded return value #

Total comments: 30

Patch Set 14 : Address Matt's comments #

Patch Set 15 : Self review #

Patch Set 16 : Test read buffering #

Patch Set 17 : Get rid of Delegate::OnClose #

Total comments: 6

Patch Set 18 : Use SPDY_BIDIRECTIONAL_STREAM #

Total comments: 2

Patch Set 19 : Fix bug and added a test #

Total comments: 10

Patch Set 20 : Address Misha's comments #

Total comments: 70

Patch Set 21 : Address Matt's comments #

Total comments: 69

Patch Set 22 : Address comments and moved tests #

Total comments: 14

Patch Set 23 : Address Misha's comments #

Total comments: 6

Patch Set 24 : Document requirement on destruction #

Patch Set 25 : Get rid of DeterministicSocketData #

Total comments: 54

Patch Set 26 : Added tests for canceling and propagating error #

Patch Set 27 : Address Misha's comments #

Patch Set 28 : Fix compile #

Patch Set 29 : Use private inheritance #

Total comments: 42

Patch Set 30 : Added tests and a compile flag #

Patch Set 31 : Address Matt's comments #

Total comments: 10

Patch Set 32 : Fix GN #

Patch Set 33 : Address Misha's comments #

Total comments: 6

Patch Set 34 : Use std::move #

Total comments: 15

Patch Set 35 : Address Misha's comments #

Total comments: 3

Patch Set 36 : Self review #

Total comments: 8

Patch Set 37 : Address Misha's comments #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+2658 lines, -36 lines) Patch
M build/common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 2 chunks +4 lines, -0 lines 2 comments Download
M net/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 4 chunks +11 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +207 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +224 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream_job.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +135 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream_job.cc View 1 2 3 4 5 6 7 8 1 chunk +17 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream_request_info.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +40 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream_request_info.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +14 lines, -0 lines 0 comments Download
A net/http/bidirectional_stream_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +1196 lines, -0 lines 0 comments Download
M net/http/http_network_transaction.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 2 chunks +5 lines, -0 lines 0 comments Download
M net/http/http_network_transaction.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +7 lines, -0 lines 0 comments Download
M net/http/http_network_transaction_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +11 lines, -0 lines 0 comments Download
M net/http/http_stream_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 chunks +17 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +8 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 4 chunks +43 lines, -7 lines 1 comment Download
M net/http/http_stream_factory_impl_job.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 6 chunks +12 lines, -2 lines 0 comments Download
M net/http/http_stream_factory_impl_job.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 10 chunks +83 lines, -9 lines 0 comments Download
M net/http/http_stream_factory_impl_request.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 5 chunks +25 lines, -5 lines 0 comments Download
M net/http/http_stream_factory_impl_request.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 7 chunks +31 lines, -2 lines 0 comments Download
M net/http/http_stream_factory_impl_request_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 2 chunks +7 lines, -1 line 0 comments Download
M net/http/http_stream_factory_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 7 chunks +130 lines, -7 lines 0 comments Download
M net/log/net_log_source_type_list.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M net/net.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +6 lines, -0 lines 0 comments Download
M net/net.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 2 chunks +11 lines, -0 lines 0 comments Download
M net/net_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +6 lines, -0 lines 0 comments Download
A net/spdy/bidirectional_stream_spdy_job.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +102 lines, -0 lines 0 comments Download
A net/spdy/bidirectional_stream_spdy_job.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +280 lines, -0 lines 0 comments Download
M net/spdy/spdy_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +10 lines, -2 lines 0 comments Download
M net/spdy/spdy_test_util_common.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +6 lines, -0 lines 0 comments Download
M net/spdy/spdy_test_util_common.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 2 chunks +9 lines, -1 line 0 comments Download

Messages

Total messages: 148 (40 generated)
xunjieli
Hi Misha, Here's the CL for the net::BidirectionalStream implementation. It is still pretty much a ...
5 years, 2 months ago (2015-09-30 15:33:45 UTC) #7
mef
On 2015/09/30 15:33:45, xunjieli wrote: > Hi Misha, > > Here's the CL for the ...
5 years, 2 months ago (2015-09-30 15:37:26 UTC) #9
mef
Some comments from the first glance. https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream.cc#newcode80 net/http/bidirectional_stream.cc:80: bool end_stream = ...
5 years, 2 months ago (2015-09-30 16:18:16 UTC) #10
Bence
https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream_unittest.cc File net/http/bidirectional_stream_unittest.cc (right): https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream_unittest.cc#newcode146 net/http/bidirectional_stream_unittest.cc:146: scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); Consider passing some extra_headers to ...
5 years, 2 months ago (2015-10-01 05:29:28 UTC) #11
xunjieli
Thanks for the feedback! PTAL. https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream.cc#newcode80 net/http/bidirectional_stream.cc:80: bool end_stream = (request_info_->method ...
5 years, 2 months ago (2015-10-01 18:41:16 UTC) #12
mmenke
Some preliminary comments. Haven't really dug in yet https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h#newcode9 net/http/bidirectional_stream.h:9: #include ...
5 years, 2 months ago (2015-10-07 18:43:33 UTC) #14
mef
https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/120001/net/http/bidirectional_stream.cc#newcode80 net/http/bidirectional_stream.cc:80: bool end_stream = (request_info_->method == "GET"); On 2015/10/01 18:41:16, ...
5 years, 2 months ago (2015-10-07 23:44:56 UTC) #15
mmenke
A couple more comments https://codereview.chromium.org/1326503003/diff/180001/net/http/http_stream_factory_impl.cc File net/http/http_stream_factory_impl.cc (right): https://codereview.chromium.org/1326503003/diff/180001/net/http/http_stream_factory_impl.cc#newcode85 net/http/http_stream_factory_impl.cc:85: const BoundNetLog& net_log) { DCHECK ...
5 years, 2 months ago (2015-10-08 19:31:53 UTC) #16
xunjieli
Thanks for the reviews! I uploaded a new patch to address the comments. PTAL. https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h ...
5 years, 2 months ago (2015-10-19 21:07:47 UTC) #18
mmenke
https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h#newcode43 net/http/bidirectional_stream.h:43: virtual void OnDataSent() = 0; On 2015/10/19 21:07:46, xunjieli ...
5 years, 2 months ago (2015-10-19 21:27:53 UTC) #19
xunjieli
https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/180001/net/http/bidirectional_stream.h#newcode43 net/http/bidirectional_stream.h:43: virtual void OnDataSent() = 0; On 2015/10/19 21:27:53, mmenke ...
5 years, 2 months ago (2015-10-19 21:34:31 UTC) #20
mef
https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h#newcode50 net/http/bidirectional_stream.h:50: virtual void OnClose(int status) = 0; Will there be ...
5 years, 2 months ago (2015-10-20 21:56:35 UTC) #21
xunjieli
On 2015/10/20 21:56:35, mef wrote: > https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h > File net/http/bidirectional_stream.h (right): > > https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h#newcode50 > ...
5 years, 2 months ago (2015-10-21 17:49:55 UTC) #22
mmenke
A few quick comments. https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h#newcode21 net/http/bidirectional_stream.h:21: class NET_EXPORT BidirectionalStream { Need ...
5 years, 2 months ago (2015-10-21 18:05:52 UTC) #23
xunjieli
Thanks for the reviews! I modified the tests (Added one for the cancel case, and ...
5 years, 2 months ago (2015-10-21 19:35:36 UTC) #24
xunjieli
https://codereview.chromium.org/1326503003/diff/240001/net/http/bidirectional_stream_create_helper.h File net/http/bidirectional_stream_create_helper.h (right): https://codereview.chromium.org/1326503003/diff/240001/net/http/bidirectional_stream_create_helper.h#newcode28 net/http/bidirectional_stream_create_helper.h:28: * A helper class to create a net::BidirectionalStream. Embedder ...
5 years, 2 months ago (2015-10-21 19:38:21 UTC) #25
mmenke
https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h#newcode60 net/http/bidirectional_stream.h:60: virtual ~BidirectionalStream() {} On 2015/10/21 19:35:36, xunjieli wrote: > ...
5 years, 2 months ago (2015-10-21 19:46:14 UTC) #26
xunjieli
https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/220001/net/http/bidirectional_stream.h#newcode60 net/http/bidirectional_stream.h:60: virtual ~BidirectionalStream() {} On 2015/10/21 19:46:14, mmenke wrote: > ...
5 years, 2 months ago (2015-10-21 20:22:19 UTC) #27
mmenke
https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc File net/http/bidirectional_stream_create_helper.cc (right): https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc#newcode28 net/http/bidirectional_stream_create_helper.cc:28: NetLog::SOURCE_BIDIRECTIONAL_STREAM)) { Hrm...this log is going to look a ...
5 years, 2 months ago (2015-10-21 22:40:17 UTC) #28
xunjieli
Thanks for the review! PTAL https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc File net/http/bidirectional_stream_create_helper.cc (right): https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc#newcode28 net/http/bidirectional_stream_create_helper.cc:28: NetLog::SOURCE_BIDIRECTIONAL_STREAM)) { On 2015/10/21 ...
5 years, 2 months ago (2015-10-22 20:01:41 UTC) #30
mmenke
https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc File net/http/bidirectional_stream_create_helper.cc (right): https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc#newcode28 net/http/bidirectional_stream_create_helper.cc:28: NetLog::SOURCE_BIDIRECTIONAL_STREAM)) { On 2015/10/22 20:01:41, xunjieli wrote: > On ...
5 years, 2 months ago (2015-10-22 20:13:36 UTC) #31
xunjieli
https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc File net/http/bidirectional_stream_create_helper.cc (right): https://codereview.chromium.org/1326503003/diff/260001/net/http/bidirectional_stream_create_helper.cc#newcode28 net/http/bidirectional_stream_create_helper.cc:28: NetLog::SOURCE_BIDIRECTIONAL_STREAM)) { On 2015/10/22 20:13:36, mmenke wrote: > On ...
5 years, 2 months ago (2015-10-23 17:51:23 UTC) #33
xunjieli
A friendly ping..
5 years, 1 month ago (2015-10-30 14:43:47 UTC) #34
mef
https://codereview.chromium.org/1326503003/diff/340001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/340001/net/http/bidirectional_stream.h#newcode39 net/http/bidirectional_stream.h:39: virtual void OnHeaders(const SpdyHeaderBlock& response_headers) = 0; Is this ...
5 years, 1 month ago (2015-11-02 18:00:42 UTC) #35
mmenke
Some quick comments - sorry I haven't been more active on this one. https://codereview.chromium.org/1326503003/diff/340001/net/http/bidirectional_stream.h File ...
5 years, 1 month ago (2015-11-03 20:32:13 UTC) #36
mef
Few questions that I got while trying to use it from Cronet side. https://codereview.chromium.org/1326503003/diff/340001/net/http/bidirectional_stream.h File ...
5 years, 1 month ago (2015-11-04 20:13:53 UTC) #37
mmenke
https://codereview.chromium.org/1326503003/diff/340001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/340001/net/http/bidirectional_stream.h#newcode33 net/http/bidirectional_stream.h:33: virtual void OnFailed(int error) = 0; On 2015/11/04 20:13:53, ...
5 years, 1 month ago (2015-11-04 20:42:41 UTC) #38
xunjieli
Thanks for the review! I renamed the wrapper class to BidirectionalStream, and the interface shared ...
5 years, 1 month ago (2015-11-05 23:17:14 UTC) #43
mef
Could you sync it to HEAD? I've tried to patch it and failed.
5 years, 1 month ago (2015-11-06 18:03:02 UTC) #45
xunjieli
On 2015/11/06 18:03:02, mef wrote: > Could you sync it to HEAD? I've tried to ...
5 years, 1 month ago (2015-11-06 18:25:58 UTC) #46
mef
On 2015/11/06 18:25:58, xunjieli wrote: > On 2015/11/06 18:03:02, mef wrote: > > Could you ...
5 years, 1 month ago (2015-11-09 21:01:59 UTC) #47
xunjieli
On 2015/11/09 21:01:59, mef wrote: > On 2015/11/06 18:25:58, xunjieli wrote: > > On 2015/11/06 ...
5 years, 1 month ago (2015-11-09 21:14:16 UTC) #48
mef
On 2015/11/09 21:14:16, xunjieli wrote: > On 2015/11/09 21:01:59, mef wrote: > > On 2015/11/06 ...
5 years, 1 month ago (2015-11-09 22:44:47 UTC) #49
xunjieli
On 2015/11/09 22:44:47, mef wrote: > On 2015/11/09 21:14:16, xunjieli wrote: > > On 2015/11/09 ...
5 years, 1 month ago (2015-11-09 23:09:31 UTC) #50
mef
https://codereview.chromium.org/1326503003/diff/480001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/480001/net/http/bidirectional_stream.h#newcode61 net/http/bidirectional_stream.h:61: // called after this. |status| is an error code ...
5 years, 1 month ago (2015-11-10 23:00:27 UTC) #51
xunjieli
Thanks for the review! Misha, I fixed the session establish bug that you observed earlier. ...
5 years, 1 month ago (2015-11-13 23:41:45 UTC) #53
mef
On 2015/11/13 23:41:45, xunjieli wrote: > Thanks for the review! Misha, I fixed the session ...
5 years, 1 month ago (2015-11-16 16:22:01 UTC) #54
mef
https://codereview.chromium.org/1326503003/diff/520001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/520001/net/http/bidirectional_stream.h#newcode61 net/http/bidirectional_stream.h:61: // called after this. |status| is a net error ...
5 years ago (2015-11-24 20:03:40 UTC) #55
xunjieli
Thanks, PTAL. https://codereview.chromium.org/1326503003/diff/480001/net/http/bidirectional_stream_job.h File net/http/bidirectional_stream_job.h (right): https://codereview.chromium.org/1326503003/diff/480001/net/http/bidirectional_stream_job.h#newcode21 net/http/bidirectional_stream_job.h:21: // An interface that exposes bidirectional streaming. ...
5 years ago (2015-11-25 16:58:58 UTC) #58
xunjieli
I am planning to write a few more tests to make sure the edge cases ...
5 years ago (2015-11-25 18:37:01 UTC) #59
mmenke
A couple quick comments. https://codereview.chromium.org/1326503003/diff/600001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/600001/net/http/bidirectional_stream.h#newcode44 net/http/bidirectional_stream.h:44: virtual void OnHeaders(const SpdyHeaderBlock& response_headers) ...
5 years ago (2015-11-25 18:39:18 UTC) #60
xunjieli
Thanks for the review! I still need to think of a way to drive the ...
5 years ago (2015-11-25 22:04:14 UTC) #62
xunjieli
Done. I have introduced a MockTimer and DeterministicSocketData to manually drive the SpdyStream::Delegate signals. I ...
5 years ago (2015-12-01 00:07:23 UTC) #63
xunjieli
Misha pointed out another bug in the code. I made necessary edits and wrote a ...
5 years ago (2015-12-02 02:20:12 UTC) #65
mef
On 2015/12/02 02:20:12, xunjieli wrote: > Misha pointed out another bug in the code. I ...
5 years ago (2015-12-02 13:54:29 UTC) #66
mef
On 2015/12/02 13:54:29, mef wrote: > On 2015/12/02 02:20:12, xunjieli wrote: > > Misha pointed ...
5 years ago (2015-12-02 16:28:55 UTC) #67
mef
https://codereview.chromium.org/1326503003/diff/700002/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/700002/net/http/bidirectional_stream.h#newcode58 net/http/bidirectional_stream.h:58: // No other delegate functions will be called after ...
5 years ago (2015-12-02 16:36:01 UTC) #68
xunjieli
Thanks for the feedback. PTAL https://codereview.chromium.org/1326503003/diff/700002/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/700002/net/http/bidirectional_stream.h#newcode58 net/http/bidirectional_stream.h:58: // No other delegate ...
5 years ago (2015-12-02 19:18:51 UTC) #69
xunjieli
https://codereview.chromium.org/1326503003/diff/730001/net/spdy/bidirectional_stream_spdy_job.cc File net/spdy/bidirectional_stream_spdy_job.cc (right): https://codereview.chromium.org/1326503003/diff/730001/net/spdy/bidirectional_stream_spdy_job.cc#newcode162 net/spdy/bidirectional_stream_spdy_job.cc:162: if (!data_queue_.IsEmpty()) { BUG: If a former ReadData returned ...
5 years ago (2015-12-07 17:35:55 UTC) #70
xunjieli
Added a test which fails without the fix. I believe I have addressed all comments. ...
5 years ago (2015-12-07 19:05:45 UTC) #71
mef
https://codereview.chromium.org/1326503003/diff/750001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/750001/net/http/bidirectional_stream.cc#newcode179 net/http/bidirectional_stream.cc:179: delegate_->OnFailed(ERR_SSL_CLIENT_AUTH_CERT_NEEDED); per crbug.com/558420 we should allow connection to proceed ...
5 years ago (2015-12-07 21:18:07 UTC) #72
xunjieli
Thanks. PTAL. https://codereview.chromium.org/1326503003/diff/750001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/750001/net/http/bidirectional_stream.cc#newcode179 net/http/bidirectional_stream.cc:179: delegate_->OnFailed(ERR_SSL_CLIENT_AUTH_CERT_NEEDED); On 2015/12/07 21:18:07, mef wrote: > ...
5 years ago (2015-12-08 16:08:47 UTC) #73
mmenke
Some comments. I have some time again to help out on this. Or at least ...
5 years ago (2015-12-08 22:58:35 UTC) #74
xunjieli
Thanks for the feedback! More comments the merrier :) Thanks for taking time to review ...
5 years ago (2015-12-10 23:25:51 UTC) #76
mmenke
Quick responses. Plan to do another pass later today. https://codereview.chromium.org/1326503003/diff/770001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/770001/net/http/bidirectional_stream.cc#newcode52 net/http/bidirectional_stream.cc:52: ...
5 years ago (2015-12-11 16:42:54 UTC) #77
mef
https://codereview.chromium.org/1326503003/diff/750001/net/spdy/bidirectional_stream_spdy_job.cc File net/spdy/bidirectional_stream_spdy_job.cc (right): https://codereview.chromium.org/1326503003/diff/750001/net/spdy/bidirectional_stream_spdy_job.cc#newcode172 net/spdy/bidirectional_stream_spdy_job.cc:172: bool end_stream = (request_info_.method == "GET"); On 2015/12/08 16:08:46, ...
5 years ago (2015-12-11 20:06:12 UTC) #78
mef
https://codereview.chromium.org/1326503003/diff/810001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/810001/net/http/bidirectional_stream.cc#newcode90 net/http/bidirectional_stream.cc:90: DCHECK(stream_job_); Would it make sense to return 0 if ...
5 years ago (2015-12-11 20:54:26 UTC) #79
mmenke
Want to see if we can simplify the job's state machine a bit. Seems more ...
5 years ago (2015-12-11 22:19:59 UTC) #80
xunjieli
Please excuse me if I missed any of your comments or misunderstood your suggestions. Happy ...
5 years ago (2015-12-11 23:48:41 UTC) #82
mef
Looks pretty good. I've synced https://codereview.chromium.org/1412243012 on top of this and it works for GET, ...
5 years ago (2015-12-14 17:59:01 UTC) #84
xunjieli
Thanks for the comments. I will think about what test cases I can add for ...
5 years ago (2015-12-14 19:34:41 UTC) #85
mmenke
https://codereview.chromium.org/1326503003/diff/810001/net/spdy/bidirectional_stream_spdy_job.cc File net/spdy/bidirectional_stream_spdy_job.cc (right): https://codereview.chromium.org/1326503003/diff/810001/net/spdy/bidirectional_stream_spdy_job.cc#newcode43 net/spdy/bidirectional_stream_spdy_job.cc:43: DCHECK(!stream_.get()); On 2015/12/11 23:48:40, xunjieli wrote: > On 2015/12/11 ...
5 years ago (2015-12-14 19:48:37 UTC) #86
mmenke
https://codereview.chromium.org/1326503003/diff/810001/net/spdy/bidirectional_stream_spdy_job.cc File net/spdy/bidirectional_stream_spdy_job.cc (right): https://codereview.chromium.org/1326503003/diff/810001/net/spdy/bidirectional_stream_spdy_job.cc#newcode43 net/spdy/bidirectional_stream_spdy_job.cc:43: DCHECK(!stream_.get()); On 2015/12/14 19:48:37, mmenke wrote: > On 2015/12/11 ...
5 years ago (2015-12-14 19:52:34 UTC) #87
xunjieli
https://codereview.chromium.org/1326503003/diff/810001/net/spdy/bidirectional_stream_spdy_job.cc File net/spdy/bidirectional_stream_spdy_job.cc (right): https://codereview.chromium.org/1326503003/diff/810001/net/spdy/bidirectional_stream_spdy_job.cc#newcode43 net/spdy/bidirectional_stream_spdy_job.cc:43: DCHECK(!stream_.get()); On 2015/12/14 19:52:34, mmenke wrote: > On 2015/12/14 ...
5 years ago (2015-12-14 21:03:06 UTC) #88
mmenke
[+rch]: Ryan, do you think we'll need the behavior of DeterministicData::RunFor, long term, for SPDY ...
5 years ago (2015-12-14 21:49:38 UTC) #89
Ryan Hamilton
https://codereview.chromium.org/1326503003/diff/890001/net/http/bidirectional_stream_unittest.cc File net/http/bidirectional_stream_unittest.cc (right): https://codereview.chromium.org/1326503003/diff/890001/net/http/bidirectional_stream_unittest.cc#newcode701 net/http/bidirectional_stream_unittest.cc:701: deterministic_data_->RunFor(5); On 2015/12/14 21:49:38, mmenke wrote: > On 2015/12/14 ...
5 years ago (2015-12-14 22:33:18 UTC) #91
mmenke
On 2015/12/14 22:33:18, Ryan Hamilton wrote: > https://codereview.chromium.org/1326503003/diff/890001/net/http/bidirectional_stream_unittest.cc > File net/http/bidirectional_stream_unittest.cc (right): > > https://codereview.chromium.org/1326503003/diff/890001/net/http/bidirectional_stream_unittest.cc#newcode701 ...
5 years ago (2015-12-14 22:44:22 UTC) #92
mmenke
On 2015/12/14 22:44:22, mmenke wrote: > On 2015/12/14 22:33:18, Ryan Hamilton wrote: > > > ...
5 years ago (2015-12-14 22:50:48 UTC) #93
Ryan Hamilton
On 2015/12/14 22:50:48, mmenke wrote: > On 2015/12/14 22:44:22, mmenke wrote: > > On 2015/12/14 ...
5 years ago (2015-12-14 23:23:38 UTC) #94
mmenke
On 2015/12/14 23:23:38, Ryan Hamilton wrote: > Yeah, that sounds plausible. It wasn't part of ...
5 years ago (2015-12-14 23:26:45 UTC) #95
Ryan Hamilton
On 2015/12/14 23:26:45, mmenke wrote: > On 2015/12/14 23:23:38, Ryan Hamilton wrote: > > Yeah, ...
5 years ago (2015-12-14 23:44:35 UTC) #96
xunjieli
On 2015/12/14 23:44:35, Ryan Hamilton wrote: > On 2015/12/14 23:26:45, mmenke wrote: > > On ...
5 years ago (2015-12-15 16:15:04 UTC) #97
mef
Sorry, I haven't gone through the whole thing yet, but it looks pretty good. https://codereview.chromium.org/1326503003/diff/930001/net/http/bidirectional_stream.h ...
5 years ago (2015-12-15 22:59:40 UTC) #99
xunjieli
Thanks everyone for the suggestions and comments so far. I have added three more tests ...
5 years ago (2015-12-15 23:00:07 UTC) #100
mef
https://codereview.chromium.org/1326503003/diff/930001/net/spdy/bidirectional_stream_spdy_job.cc File net/spdy/bidirectional_stream_spdy_job.cc (right): https://codereview.chromium.org/1326503003/diff/930001/net/spdy/bidirectional_stream_spdy_job.cc#newcode198 net/spdy/bidirectional_stream_spdy_job.cc:198: DCHECK_EQ(OK, status); this seems unneeded due to line 191. ...
5 years ago (2015-12-15 23:14:28 UTC) #101
xunjieli
Thank you for the review! PTAL. https://codereview.chromium.org/1326503003/diff/930001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/930001/net/http/bidirectional_stream.h#newcode31 net/http/bidirectional_stream.h:31: // ReadData or ...
5 years ago (2015-12-16 00:26:10 UTC) #103
mef
https://codereview.chromium.org/1326503003/diff/930001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/930001/net/http/bidirectional_stream.h#newcode92 net/http/bidirectional_stream.h:92: // |this| should not be destroyed during Delegate::OnHeadersSent or ...
5 years ago (2015-12-16 20:24:40 UTC) #104
mmenke
A couple comments - sorry for not doing a full pass. I should get to ...
5 years ago (2015-12-16 23:04:37 UTC) #105
xunjieli
Thanks a lot for the review! I have added tests for deletion of stream, and ...
5 years ago (2015-12-17 18:18:55 UTC) #107
mmenke
https://codereview.chromium.org/1326503003/diff/1090001/net/http/bidirectional_stream.h File net/http/bidirectional_stream.h (right): https://codereview.chromium.org/1326503003/diff/1090001/net/http/bidirectional_stream.h#newcode184 net/http/bidirectional_stream.h:184: const BoundNetLog net_log_; On 2015/12/17 18:18:54, xunjieli wrote: > ...
5 years ago (2015-12-17 18:36:29 UTC) #108
mmenke
https://codereview.chromium.org/1326503003/diff/1090001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/1090001/net/http/bidirectional_stream.cc#newcode42 net/http/bidirectional_stream.cc:42: : request_info_(request_info), On 2015/12/17 18:18:54, xunjieli wrote: > On ...
5 years ago (2015-12-17 18:58:20 UTC) #109
xunjieli
Thanks, Matt! Much appreciated. PTAL. https://codereview.chromium.org/1326503003/diff/1090001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/1090001/net/http/bidirectional_stream.cc#newcode42 net/http/bidirectional_stream.cc:42: : request_info_(request_info), On 2015/12/17 ...
5 years ago (2015-12-17 21:18:21 UTC) #110
mef
https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi#newcode601 build/common.gypi:601: 'enable_bidirectional_stream': 0, do we need to explicitly enable it ...
5 years ago (2015-12-17 22:42:10 UTC) #112
xunjieli
Thanks a lot for the review! PTAL. https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi#newcode601 build/common.gypi:601: 'enable_bidirectional_stream': 0, ...
5 years ago (2015-12-18 15:15:24 UTC) #115
mef
https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi#newcode601 build/common.gypi:601: 'enable_bidirectional_stream': 0, On 2015/12/18 15:15:23, xunjieli (OOO1223-0118) wrote: > ...
5 years ago (2015-12-18 15:45:03 UTC) #116
xunjieli
https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi#newcode601 build/common.gypi:601: 'enable_bidirectional_stream': 0, On 2015/12/18 15:45:03, mef wrote: > On ...
5 years ago (2015-12-18 15:59:29 UTC) #117
mef
On 2015/12/18 15:59:29, xunjieli (OOO1223-0118) wrote: > https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi > File build/common.gypi (right): > > https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi#newcode601 ...
5 years ago (2015-12-18 17:22:01 UTC) #118
mef
On 2015/12/18 17:22:01, mef wrote: > On 2015/12/18 15:59:29, xunjieli (OOO1223-0118) wrote: > > https://codereview.chromium.org/1326503003/diff/1150001/build/common.gypi ...
5 years ago (2015-12-18 17:45:08 UTC) #119
xunjieli
jbudorick@, could you take a look at build/common.gyp? Thanks!
5 years ago (2015-12-18 18:09:23 UTC) #121
mef
https://codereview.chromium.org/1326503003/diff/1190001/net/http/bidirectional_stream.cc File net/http/bidirectional_stream.cc (right): https://codereview.chromium.org/1326503003/diff/1190001/net/http/bidirectional_stream.cc#newcode165 net/http/bidirectional_stream.cc:165: stream_job_->Start(request_info_.get(), net_log_, this, timer_.Pass()); please use std::move() https://codereview.chromium.org/1326503003/diff/1190001/net/http/http_stream_factory_impl_job.cc File ...
5 years ago (2015-12-18 21:40:00 UTC) #124
jbudorick
On 2015/12/18 18:09:23, xunjieli (OOO1223-0118) wrote: > jbudorick@, could you take a look at build/common.gyp? ...
5 years ago (2015-12-18 21:44:22 UTC) #125
mmenke
On 2015/12/18 21:44:22, jbudorick wrote: > On 2015/12/18 18:09:23, xunjieli (OOO1223-0118) wrote: > > jbudorick@, ...
5 years ago (2015-12-18 21:49:16 UTC) #126
xunjieli
> Got sidetracked this week. :( I'll get back to it after the break (Or ...
5 years ago (2015-12-18 22:19:43 UTC) #127
mef
https://codereview.chromium.org/1326503003/diff/1210001/net/net.gypi File net/net.gypi (right): https://codereview.chromium.org/1326503003/diff/1210001/net/net.gypi#newcode136 net/net.gypi:136: 'http/bidirectional_stream_job.cc', any particular reason why bidirectional_stream_job.* can't go under ...
5 years ago (2015-12-21 17:09:09 UTC) #128
mef
https://codereview.chromium.org/1326503003/diff/1210001/net/http/http_network_transaction.h File net/http/http_network_transaction.h (right): https://codereview.chromium.org/1326503003/diff/1210001/net/http/http_network_transaction.h#newcode95 net/http/http_network_transaction.h:95: BidirectionalStreamJob* stream) override; forward-declare BidirectionalStreamJob? https://codereview.chromium.org/1326503003/diff/1210001/net/http/http_stream_factory_impl_job.cc File net/http/http_stream_factory_impl_job.cc (right): ...
5 years ago (2015-12-21 17:31:43 UTC) #129
mef
On 2015/12/21 17:31:43, mef wrote: > https://codereview.chromium.org/1326503003/diff/1210001/net/http/http_network_transaction.h > File net/http/http_network_transaction.h (right): > > https://codereview.chromium.org/1326503003/diff/1210001/net/http/http_network_transaction.h#newcode95 > ...
5 years ago (2015-12-21 19:47:10 UTC) #130
xunjieli
Sorry it took me some time to fix the tests. Didn't know about Matt's change ...
5 years ago (2015-12-21 22:01:22 UTC) #131
mef
still lgtm with nits. https://codereview.chromium.org/1326503003/diff/1210001/net/spdy/spdy_test_util_common.cc File net/spdy/spdy_test_util_common.cc (right): https://codereview.chromium.org/1326503003/diff/1210001/net/spdy/spdy_test_util_common.cc#newcode1236 net/spdy/spdy_test_util_common.cc:1236: return ConstructSpdyGetSynReply(extra_headers, extra_header_count, 1); On ...
5 years ago (2015-12-21 23:21:31 UTC) #132
xunjieli
Thanks! Talked with Misha offline. I think I am going to land this, since the ...
5 years ago (2015-12-22 02:58:49 UTC) #133
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1326503003/1270001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1326503003/1270001
5 years ago (2015-12-22 02:59:58 UTC) #136
commit-bot: I haz the power
Committed patchset #37 (id:1270001)
5 years ago (2015-12-22 04:27:18 UTC) #138
commit-bot: I haz the power
Patchset 37 (id:??) landed as https://crrev.com/11834f05b42d7c5e8cc7bd5774033db3773627a5 Cr-Commit-Position: refs/heads/master@{#366541}
5 years ago (2015-12-22 04:28:29 UTC) #140
mmenke
On 2015/12/21 22:01:22, xunjieli (OOO1223-0118) wrote: > Sorry it took me some time to fix ...
5 years ago (2015-12-22 16:33:37 UTC) #141
mef
On 2015/12/22 16:33:37, mmenke (OOO Dec 19 to Jan 3) wrote: > On 2015/12/21 22:01:22, ...
5 years ago (2015-12-22 16:43:00 UTC) #142
Nico
https://codereview.chromium.org/1326503003/diff/1270001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1326503003/diff/1270001/build/common.gypi#newcode608 build/common.gypi:608: # Enables BidrectionalSteam; disabled by default. This is just ...
5 years ago (2015-12-22 19:12:35 UTC) #144
mef
https://codereview.chromium.org/1326503003/diff/1270001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1326503003/diff/1270001/build/common.gypi#newcode608 build/common.gypi:608: # Enables BidrectionalSteam; disabled by default. On 2015/12/22 19:12:35, ...
5 years ago (2015-12-22 22:32:38 UTC) #145
Ryan Hamilton
https://codereview.chromium.org/1326503003/diff/1270001/net/http/http_stream_factory_impl.cc File net/http/http_stream_factory_impl.cc (right): https://codereview.chromium.org/1326503003/diff/1270001/net/http/http_stream_factory_impl.cc#newcode21 net/http/http_stream_factory_impl.cc:21: #if defined(ENABLE_BIDIRECTIONAL_STREAM) drive-by comment: Instead of doing #ifdefs, would ...
4 years, 11 months ago (2016-01-08 21:36:33 UTC) #147
mef
4 years, 11 months ago (2016-01-08 21:38:27 UTC) #148
Message was sent while issue was closed.
On 2016/01/08 21:36:33, Ryan Hamilton wrote:
>
https://codereview.chromium.org/1326503003/diff/1270001/net/http/http_stream_...
> File net/http/http_stream_factory_impl.cc (right):
> 
>
https://codereview.chromium.org/1326503003/diff/1270001/net/http/http_stream_...
> net/http/http_stream_factory_impl.cc:21: #if
> defined(ENABLE_BIDIRECTIONAL_STREAM)
> drive-by comment: Instead of doing #ifdefs, would it be possible to make this
> run-time enabled? This would be handy because it would mean that this bi-di
code
> would be compiled when normal builds run. So future refactors of this class
> would be easier.  It also would allow the code to be indexed in code search.

Hrm, this was Matt's suggestion to keep bidirectional_stream out of chrome
proper, where it would not be used.

Powered by Google App Engine
This is Rietveld 408576698