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

Issue 2334943002: Add a new QuicChromiumClientSession::Handle class (Closed)

Created:
4 years, 3 months ago by Ryan Hamilton
Modified:
3 years, 7 months ago
Reviewers:
xunjieli
CC:
chromium-reviews, cbentzel+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

The Handle is owned by the holder of the Handle and can outlive the session. In the event that it does outlive the session, it will record state from the session in member variables so that the holder of a session need not be aware of the lifetime of the underlying session. As a consequence, this change eliminates the need for the QuicChromiumClientSession::Observer interface, and hence eliminates the upcalls from the session to the streams. There are still upcalls from the QuicStream to the QuicHttpStream (and friends) but those can be removed in subsequent CLs by following the same pattern. BUG=716563 Review-Url: https://codereview.chromium.org/2334943002 Cr-Commit-Position: refs/heads/master@{#469756} Committed: https://chromium.googlesource.com/chromium/src/+/f0b18c8a8efc9b2dd335a0b29bd243b0711919a6

Patch Set 1 #

Patch Set 2 : Cleanup #

Patch Set 3 : more cleanup #

Patch Set 4 : BidirectionalStreamQuicImpl #

Patch Set 5 : Progess #

Patch Set 6 : Rebase #

Patch Set 7 : Rebase #

Patch Set 8 : cleanup #

Total comments: 19

Patch Set 9 : Rebase #

Patch Set 10 : Not copyable #

Total comments: 12

Patch Set 11 : fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+604 lines, -325 lines) Patch
M net/quic/chromium/bidirectional_stream_quic_impl.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +3 lines, -11 lines 0 comments Download
M net/quic/chromium/bidirectional_stream_quic_impl.cc View 1 2 3 4 5 6 7 8 9 8 chunks +20 lines, -47 lines 0 comments Download
M net/quic/chromium/bidirectional_stream_quic_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 16 chunks +18 lines, -18 lines 0 comments Download
M net/quic/chromium/quic_chromium_client_session.h View 1 2 3 4 5 6 7 8 9 10 10 chunks +120 lines, -21 lines 0 comments Download
M net/quic/chromium/quic_chromium_client_session.cc View 1 2 3 4 5 6 7 8 9 13 chunks +196 lines, -49 lines 0 comments Download
M net/quic/chromium/quic_chromium_client_session_test.cc View 1 2 3 4 5 6 7 8 9 16 chunks +140 lines, -40 lines 0 comments Download
M net/quic/chromium/quic_http_stream.h View 1 2 3 4 5 6 7 8 9 4 chunks +11 lines, -18 lines 0 comments Download
M net/quic/chromium/quic_http_stream.cc View 1 2 3 4 5 6 7 8 9 15 chunks +30 lines, -59 lines 0 comments Download
M net/quic/chromium/quic_http_stream_test.cc View 1 2 3 4 5 6 7 8 9 3 chunks +8 lines, -7 lines 0 comments Download
M net/quic/chromium/quic_stream_factory.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M net/quic/chromium/quic_stream_factory.cc View 1 2 3 4 5 6 7 8 9 7 chunks +15 lines, -12 lines 0 comments Download
M net/quic/chromium/quic_stream_factory_test.cc View 1 2 3 4 5 6 7 8 9 6 chunks +24 lines, -23 lines 0 comments Download
M net/spdy/chromium/multiplexed_http_stream.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +7 lines, -2 lines 0 comments Download
M net/spdy/chromium/multiplexed_http_stream.cc View 1 2 3 4 5 6 7 8 9 2 chunks +7 lines, -6 lines 0 comments Download
M net/spdy/chromium/multiplexed_session.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -3 lines 0 comments Download
M net/spdy/chromium/multiplexed_session.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -6 lines 0 comments Download
M net/spdy/chromium/spdy_http_stream.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 31 (18 generated)
Ryan Hamilton
I think this is ready for review. But I confess I've been staring at it ...
3 years, 7 months ago (2017-05-02 23:01:15 UTC) #8
xunjieli
On 2017/05/02 23:01:15, Ryan Hamilton wrote: > I think this is ready for review. But ...
3 years, 7 months ago (2017-05-03 21:17:33 UTC) #9
xunjieli
Sorry for the delay. Here's my first round of review to get the process started ...
3 years, 7 months ago (2017-05-04 16:54:43 UTC) #10
Ryan Hamilton
Thanks for the great review. I'm definitely looking forward to dig in, though before I ...
3 years, 7 months ago (2017-05-04 18:45:53 UTC) #11
xunjieli
> Hm. I'm not sure I follow you. My vision (perhaps poorly thought out) is ...
3 years, 7 months ago (2017-05-04 19:17:12 UTC) #12
Ryan Hamilton
PTAL https://codereview.chromium.org/2334943002/diff/140001/net/quic/chromium/bidirectional_stream_quic_impl.cc File net/quic/chromium/bidirectional_stream_quic_impl.cc (right): https://codereview.chromium.org/2334943002/diff/140001/net/quic/chromium/bidirectional_stream_quic_impl.cc#newcode71 net/quic/chromium/bidirectional_stream_quic_impl.cc:71: int rv = stream_request_->StartRequest(base::Bind( On 2017/05/04 18:45:53, Ryan ...
3 years, 7 months ago (2017-05-05 03:50:25 UTC) #13
Ryan Hamilton
On 2017/05/04 19:17:12, xunjieli wrote: > > Hm. I'm not sure I follow you. My ...
3 years, 7 months ago (2017-05-05 03:53:23 UTC) #14
xunjieli
Looks great, I am very close to signing off, just a couple of things below. ...
3 years, 7 months ago (2017-05-05 14:10:01 UTC) #15
Ryan Hamilton
https://codereview.chromium.org/2334943002/diff/180001/net/quic/chromium/bidirectional_stream_quic_impl.h File net/quic/chromium/bidirectional_stream_quic_impl.h (right): https://codereview.chromium.org/2334943002/diff/180001/net/quic/chromium/bidirectional_stream_quic_impl.h#newcode78 net/quic/chromium/bidirectional_stream_quic_impl.h:78: std::unique_ptr<QuicChromiumClientSession::Handle> session_; On 2017/05/05 14:10:01, xunjieli wrote: > I ...
3 years, 7 months ago (2017-05-05 17:32:48 UTC) #22
xunjieli
lgtm mod the request for a follow-up. https://codereview.chromium.org/2334943002/diff/180001/net/quic/chromium/bidirectional_stream_quic_impl.h File net/quic/chromium/bidirectional_stream_quic_impl.h (right): https://codereview.chromium.org/2334943002/diff/180001/net/quic/chromium/bidirectional_stream_quic_impl.h#newcode78 net/quic/chromium/bidirectional_stream_quic_impl.h:78: std::unique_ptr<QuicChromiumClientSession::Handle> session_; ...
3 years, 7 months ago (2017-05-05 17:52:13 UTC) #23
Ryan Hamilton
Thanks! Landing. (And working on the followup) https://codereview.chromium.org/2334943002/diff/180001/net/quic/chromium/bidirectional_stream_quic_impl.h File net/quic/chromium/bidirectional_stream_quic_impl.h (right): https://codereview.chromium.org/2334943002/diff/180001/net/quic/chromium/bidirectional_stream_quic_impl.h#newcode78 net/quic/chromium/bidirectional_stream_quic_impl.h:78: std::unique_ptr<QuicChromiumClientSession::Handle> session_; ...
3 years, 7 months ago (2017-05-05 18:27:38 UTC) #24
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/2334943002/200001
3 years, 7 months ago (2017-05-05 19:24:06 UTC) #28
commit-bot: I haz the power
3 years, 7 months ago (2017-05-05 19:32:12 UTC) #31
Message was sent while issue was closed.
Committed patchset #11 (id:200001) as
https://chromium.googlesource.com/chromium/src/+/f0b18c8a8efc9b2dd335a0b29bd2...

Powered by Google App Engine
This is Rietveld 408576698