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

Issue 3432009: Add a new class SpdyProxyClientSocket which implements ClientSocket... (Closed)

Created:
10 years, 3 months ago by Ryan Hamilton
Modified:
9 years, 7 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org
Visibility:
Public.

Description

Add a new class SpdyProxyClientSocket which implements ClientSocket by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60747

Patch Set 1 : '' #

Total comments: 6

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : Used scoped_refptr to store the SpdyStream #

Total comments: 44

Patch Set 6 : '' #

Patch Set 7 : '' #

Total comments: 30

Patch Set 8 : Rebasing to HEAD #

Patch Set 9 : '' #

Total comments: 51

Patch Set 10 : Added spdy_stream.{cc,h} to the patch #

Patch Set 11 : Fix return value of OnSendBodyComplete to make windows build happy #

Patch Set 12 : Fix Proxy-Authenticate handling #

Patch Set 13 : '' #

Total comments: 14

Patch Set 14 : Rebase, and address vandebo's comments #

Total comments: 68

Patch Set 15 : '' #

Patch Set 16 : Remove 407 handling until the protocol is more solid #

Patch Set 17 : Rebasing #

Total comments: 4

Patch Set 18 : '' #

Total comments: 7

Patch Set 19 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1620 lines, -35 lines) Patch
net/http/http_proxy_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +2 lines, -31 lines 0 comments Download
A net/http/http_proxy_utils.h View 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +28 lines, -0 lines 0 comments Download
A net/http/http_proxy_utils.cc View 3 4 5 6 7 8 1 chunk +39 lines, -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 3 chunks +5 lines, -0 lines 0 comments Download
M net/spdy/spdy_framer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +6 lines, -4 lines 0 comments Download
M net/spdy/spdy_http_utils.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
A net/spdy/spdy_proxy_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +183 lines, -0 lines 0 comments Download
A net/spdy/spdy_proxy_client_socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +437 lines, -0 lines 0 comments Download
A net/spdy/spdy_proxy_client_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +894 lines, -0 lines 0 comments Download
M net/spdy/spdy_session.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +10 lines, -0 lines 0 comments Download
M net/spdy/spdy_stream.h View 10 11 12 13 14 15 16 17 2 chunks +7 lines, -0 lines 0 comments Download
M net/spdy/spdy_stream.cc View 10 11 12 13 14 15 16 17 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 29 (0 generated)
Ryan Hamilton
Hi Guys, Here's my first pass at the SpdyProxyClientSocket. It's not wired into the StreamFactory ...
10 years, 3 months ago (2010-09-16 23:32:09 UTC) #1
Ryan Hamilton
I should have mentioned that there is common functionality between this class and HttpProxyClientSocket which ...
10 years, 3 months ago (2010-09-16 23:33:16 UTC) #2
Paweł Hajdan Jr.
Drive-by with some test comments. http://codereview.chromium.org/3432009/diff/26003/53009 File net/spdy/spdy_proxy_client_socket_unittest.cc (right): http://codereview.chromium.org/3432009/diff/26003/53009#newcode141 net/spdy/spdy_proxy_client_socket_unittest.cc:141: MessageLoop::current()->RunAllPending(); Running RunAllPending twice ...
10 years, 3 months ago (2010-09-16 23:59:42 UTC) #3
Ryan Hamilton
Thanks for the suggestions! http://codereview.chromium.org/3432009/diff/26003/53009 File net/spdy/spdy_proxy_client_socket_unittest.cc (right): http://codereview.chromium.org/3432009/diff/26003/53009#newcode141 net/spdy/spdy_proxy_client_socket_unittest.cc:141: MessageLoop::current()->RunAllPending(); On 2010/09/16 23:59:42, Paweł ...
10 years, 3 months ago (2010-09-17 00:22:36 UTC) #4
Paweł Hajdan Jr.
Code I commented in the drive-by LGTM.
10 years, 3 months ago (2010-09-17 00:25:25 UTC) #5
willchan no longer on Chromium
Stepping back for a second, why is this a ClientSocket instead of a HttpStream? It ...
10 years, 3 months ago (2010-09-17 00:57:26 UTC) #6
rch (use chromium not google)
On Thu, Sep 16, 2010 at 5:57 PM, <willchan@chromium.org> wrote: > Stepping back for a ...
10 years, 3 months ago (2010-09-17 03:29:31 UTC) #7
rch (use chromium not google)
On Thu, Sep 16, 2010 at 8:29 PM, Ryan Hamilton <rch@google.com> wrote: > > Sounds ...
10 years, 3 months ago (2010-09-17 03:48:01 UTC) #8
willchan no longer on Chromium
On 2010/09/17 03:29:31, rch wrote: > On Thu, Sep 16, 2010 at 5:57 PM, <mailto:willchan@chromium.org> ...
10 years, 3 months ago (2010-09-17 04:14:54 UTC) #9
rch (use chromium not google)
On Thu, Sep 16, 2010 at 9:14 PM, <willchan@chromium.org> wrote: > On 2010/09/17 03:29:31, rch ...
10 years, 3 months ago (2010-09-17 04:52:45 UTC) #10
willchan no longer on Chromium
On Thu, Sep 16, 2010 at 9:52 PM, Ryan Hamilton <rch@google.com> wrote: > On Thu, ...
10 years, 3 months ago (2010-09-17 05:24:20 UTC) #11
rch (use chromium not google)
On Thu, Sep 16, 2010 at 10:24 PM, William Chan (陈智昌) <willchan@chromium.org>wrote: > > > ...
10 years, 3 months ago (2010-09-17 17:45:12 UTC) #12
willchan no longer on Chromium
I've started on a more detailed review. I haven't read your test much at all ...
10 years, 3 months ago (2010-09-18 01:03:26 UTC) #13
Ryan Hamilton
http://codereview.chromium.org/3432009/diff/21004/44012 File net/http/http_proxy_utils.cc (right): http://codereview.chromium.org/3432009/diff/21004/44012#newcode9 net/http/http_proxy_utils.cc:9: #include "net/base/auth.h" On 2010/09/18 01:03:26, willchan wrote: > Where ...
10 years, 3 months ago (2010-09-20 19:45:42 UTC) #14
willchan no longer on Chromium
Sorry for the delay, here are some preliminary answers to your questions. I'll do another ...
10 years, 3 months ago (2010-09-21 17:55:31 UTC) #15
willchan no longer on Chromium
Sorry for taking so long. This is a pretty hefty changelist. There are still areas ...
10 years, 3 months ago (2010-09-21 19:20:58 UTC) #16
Ryan Hamilton
http://codereview.chromium.org/3432009/diff/21004/44017 File net/spdy/spdy_proxy_client_socket.cc (right): http://codereview.chromium.org/3432009/diff/21004/44017#newcode177 net/spdy/spdy_proxy_client_socket.cc:177: if (spdy_stream_->closed()) On 2010/09/21 17:55:31, willchan wrote: > On ...
10 years, 3 months ago (2010-09-21 21:20:26 UTC) #17
vandebo (ex-Chrome)
I haven't looked at your unit tests yet. http://codereview.chromium.org/3432009/diff/68003/63007 File net/spdy/spdy_framer.h (right): http://codereview.chromium.org/3432009/diff/68003/63007#newcode31 net/spdy/spdy_framer.h:31: class ...
10 years, 3 months ago (2010-09-22 18:55:33 UTC) #18
Ryan Hamilton
http://codereview.chromium.org/3432009/diff/68003/63007 File net/spdy/spdy_framer.h (right): http://codereview.chromium.org/3432009/diff/68003/63007#newcode31 net/spdy/spdy_framer.h:31: class SpdyProxyClientSocketTest; On 2010/09/22 18:55:33, vandebo wrote: > Alphabetize ...
10 years, 3 months ago (2010-09-22 22:09:23 UTC) #19
vandebo (ex-Chrome)
http://codereview.chromium.org/3432009/diff/68003/63007 File net/spdy/spdy_framer.h (right): http://codereview.chromium.org/3432009/diff/68003/63007#newcode31 net/spdy/spdy_framer.h:31: class SpdyProxyClientSocketTest; On 2010/09/22 22:09:23, Ryan Hamilton wrote: > ...
10 years, 3 months ago (2010-09-23 00:23:36 UTC) #20
Ryan Hamilton
http://codereview.chromium.org/3432009/diff/68003/63007 File net/spdy/spdy_framer.h (right): http://codereview.chromium.org/3432009/diff/68003/63007#newcode31 net/spdy/spdy_framer.h:31: class SpdyProxyClientSocketTest; On 2010/09/23 00:23:36, vandebo wrote: > On ...
10 years, 3 months ago (2010-09-23 04:40:46 UTC) #21
willchan no longer on Chromium
Still haven't looked at your test yet. Sorry, I suck. http://codereview.chromium.org/3432009/diff/10011/34011 File net/spdy/spdy_proxy_client_socket.cc (right): http://codereview.chromium.org/3432009/diff/10011/34011#newcode82 ...
10 years, 3 months ago (2010-09-23 23:20:30 UTC) #22
vandebo (ex-Chrome)
http://codereview.chromium.org/3432009/diff/68003/63009 File net/spdy/spdy_proxy_client_socket.cc (right): http://codereview.chromium.org/3432009/diff/68003/63009#newcode73 net/spdy/spdy_proxy_client_socket.cc:73: void SpdyProxyClientSocket::LogBlockedTunnelResponse(int response_code) const { On 2010/09/23 04:40:58, Ryan ...
10 years, 3 months ago (2010-09-24 00:58:36 UTC) #23
Ryan Hamilton
http://codereview.chromium.org/3432009/diff/10011/34011 File net/spdy/spdy_proxy_client_socket.cc (right): http://codereview.chromium.org/3432009/diff/10011/34011#newcode82 net/spdy/spdy_proxy_client_socket.cc:82: spdy_stream_->Cancel(); On 2010/09/23 23:20:30, willchan wrote: > On 2010/09/21 ...
10 years, 3 months ago (2010-09-24 18:25:57 UTC) #24
willchan no longer on Chromium
I think everything roughly looks good now. I'm giving my LGTM, but you should wait ...
10 years, 2 months ago (2010-09-27 20:09:51 UTC) #25
Ryan Hamilton
http://codereview.chromium.org/3432009/diff/12027/82010 File net/spdy/spdy_proxy_client_socket.cc (right): http://codereview.chromium.org/3432009/diff/12027/82010#newcode113 net/spdy/spdy_proxy_client_socket.cc:113: DCHECK(!read_callback_); On 2010/09/27 20:09:51, willchan wrote: > Include "base/logging.h" ...
10 years, 2 months ago (2010-09-27 20:28:01 UTC) #26
vandebo (ex-Chrome)
LGTM as long as you fix up the last comment. http://codereview.chromium.org/3432009/diff/33004/13014 File net/spdy/spdy_proxy_client_socket.cc (right): http://codereview.chromium.org/3432009/diff/33004/13014#newcode343 ...
10 years, 2 months ago (2010-09-27 21:27:34 UTC) #27
Ryan Hamilton
Thanks for the LGTM. I've addressed the issues, and will commit after the trys return ...
10 years, 2 months ago (2010-09-27 21:55:58 UTC) #28
vandebo (ex-Chrome)
10 years, 2 months ago (2010-09-27 22:00:26 UTC) #29
LG

http://codereview.chromium.org/3432009/diff/31015/99008
File net/spdy/spdy_proxy_client_socket.h (right):

http://codereview.chromium.org/3432009/diff/31015/99008#newcode174
net/spdy/spdy_proxy_client_socket.h:174: bool was_ever_used_;
On 2010/09/27 21:55:58, Ryan Hamilton wrote:
> On 2010/09/27 21:27:34, vandebo wrote:
> > This needs to be initialized.
> 
> I think it is initialized, but in the body of the constructor, not in the
> initialization list.
> 
>   54   was_ever_used_ = spdy_stream_->WasEverUsed();
> 
> I believe I have a test which verifies SpdyProxyClientSocket::WasEverUsed()
> returns false on a newly created socket.
> 

Oops, didn't notice that was the constructor.

Powered by Google App Engine
This is Rietveld 408576698