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

Issue 10810069: SPDY: Add WriteHeaders interface to SpdySession and SpdyStream (Closed)

Created:
8 years, 5 months ago by Takashi Toyoshima
Modified:
8 years, 4 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org, mmenke
Visibility:
Public.

Description

Add WriteHeaders interface to SpdySession and SpdyStream. To support WebSocket over SPDY, SpdyStream should provide a interface to send HEADERS control frames for SpdyWebSocketStream. This is because WebSocket over SPDY requires to convert a WebSocket frame into one HEADERS frame and subsequent DATA frame(s) in the spec. See also http://goo.gl/mJCrx the spec draft 9, "Frame mapping" section. BUG=42320 TEST=net_unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=149808

Patch Set 1 #

Patch Set 2 : support AddEvent #

Total comments: 5

Patch Set 3 : fix reviewed points #

Patch Set 4 : naive headers support on new IO producer scheme #

Patch Set 5 : support queueing #

Patch Set 6 : rebase #

Patch Set 7 : fix failed test #

Patch Set 8 : cleanup #

Total comments: 2

Patch Set 9 : use union #

Patch Set 10 : fix styles before editing #

Patch Set 11 : add test for spdy2 #

Patch Set 12 : spdy3 #

Total comments: 7

Patch Set 13 : rebase #

Patch Set 14 : for commit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+640 lines, -163 lines) Patch
M net/base/net_log_event_type_list.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +11 lines, -2 lines 0 comments Download
M net/spdy/spdy_session.h View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M net/spdy/spdy_session.cc View 1 2 3 4 5 6 2 chunks +25 lines, -1 line 0 comments Download
M net/spdy/spdy_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +20 lines, -1 line 0 comments Download
M net/spdy/spdy_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +51 lines, -11 lines 0 comments Download
M net/spdy/spdy_stream_spdy2_unittest.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +103 lines, -2 lines 0 comments Download
M net/spdy/spdy_stream_spdy3_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +103 lines, -2 lines 0 comments Download
M net/spdy/spdy_stream_test_util.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M net/spdy/spdy_stream_test_util.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M net/spdy/spdy_test_util_spdy2.h View 1 2 3 4 5 6 7 8 9 10 7 chunks +86 lines, -72 lines 0 comments Download
M net/spdy/spdy_test_util_spdy2.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +71 lines, -0 lines 0 comments Download
M net/spdy/spdy_test_util_spdy3.h View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +86 lines, -72 lines 0 comments Download
M net/spdy/spdy_test_util_spdy3.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +71 lines, -0 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
Takashi Toyoshima
Hi Will and Matt, Now I'm implementing the latest plan of WebSocket over SPDY. Opening ...
8 years, 5 months ago (2012-07-24 11:30:14 UTC) #1
mmenke
While the code looks fine to me, I'm not sufficiently familiar with SPDY to sign ...
8 years, 5 months ago (2012-07-24 16:42:41 UTC) #2
willchan no longer on Chromium
rch/rtenneti will be better than mmenke for spdy code. Lemme send it their way.
8 years, 5 months ago (2012-07-24 17:45:43 UTC) #3
Ryan Hamilton
https://chromiumcodereview.appspot.com/10810069/diff/2002/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): https://chromiumcodereview.appspot.com/10810069/diff/2002/net/spdy/spdy_session.cc#newcode671 net/spdy/spdy_session.cc:671: buffered_spdy_framer_->CreateHeaders(stream_id, flags, true, &headers)); is "true" the the boolean ...
8 years, 5 months ago (2012-07-24 17:53:03 UTC) #4
willchan no longer on Chromium
Is there an updated doc with the new WebSocket over SPDY layering?
8 years, 5 months ago (2012-07-24 20:58:16 UTC) #5
Takashi Toyoshima
> Is there an updated doc with the new WebSocket over SPDY layering? Sorry for ...
8 years, 5 months ago (2012-07-25 08:44:24 UTC) #6
Takashi Toyoshima
Hi Ryan, Could you review this change again?
8 years, 4 months ago (2012-07-27 10:34:02 UTC) #7
Ryan Hamilton
Hm... Alas, the ground has shifted out from under you somewhat. Yesterday I landed this ...
8 years, 4 months ago (2012-07-27 17:01:37 UTC) #8
Takashi Toyoshima
Hi Ryan, I revised my change to follow your CL. Patch Set 4 is a ...
8 years, 4 months ago (2012-07-30 14:47:40 UTC) #9
Takashi Toyoshima
Oops, Patch Set 5 fired DCHECK when window is exhausted. I fixed this issue at ...
8 years, 4 months ago (2012-07-31 12:16:52 UTC) #10
Ryan Hamilton
Will do On Tuesday, July 31, 2012, wrote: > Oops, Patch Set 5 fired DCHECK ...
8 years, 4 months ago (2012-07-31 14:40:12 UTC) #11
Ryan Hamilton
Looking reasonable. Please add tests. http://codereview.chromium.org/10810069/diff/13012/net/spdy/spdy_stream.h File net/spdy/spdy_stream.h (right): http://codereview.chromium.org/10810069/diff/13012/net/spdy/spdy_stream.h#newcode91 net/spdy/spdy_stream.h:91: typedef std::pair<SpdyHeaderBlock*, SpdyDataFrame*> PendingFrame; ...
8 years, 4 months ago (2012-07-31 15:46:24 UTC) #12
Takashi Toyoshima
I added a simple test which is based onWebSocket over SPDY use case. In this ...
8 years, 4 months ago (2012-08-01 13:40:00 UTC) #13
Takashi Toyoshima
I upload another CL to handle OnDataSent callback invocation correctly. https://chromiumcodereview.appspot.com/10828129/ That change also include ...
8 years, 4 months ago (2012-08-02 09:11:57 UTC) #14
Ryan Hamilton
lgtm http://codereview.chromium.org/10810069/diff/17006/net/spdy/spdy_stream.cc File net/spdy/spdy_stream.cc (right): http://codereview.chromium.org/10810069/diff/17006/net/spdy/spdy_stream.cc#newcode145 net/spdy/spdy_stream.cc:145: if (frame.type == TYPE_DATA) This code is much ...
8 years, 4 months ago (2012-08-02 16:32:22 UTC) #15
Takashi Toyoshima
Thanks! I'll commit this CL. http://codereview.chromium.org/10810069/diff/17006/net/spdy/spdy_stream.cc File net/spdy/spdy_stream.cc (right): http://codereview.chromium.org/10810069/diff/17006/net/spdy/spdy_stream.cc#newcode145 net/spdy/spdy_stream.cc:145: if (frame.type == TYPE_DATA) ...
8 years, 4 months ago (2012-08-03 05:11:12 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/toyoshim@chromium.org/10810069/20004
8 years, 4 months ago (2012-08-03 05:11:47 UTC) #17
commit-bot: I haz the power
8 years, 4 months ago (2012-08-03 07:31:28 UTC) #18
Change committed as 149808

Powered by Google App Engine
This is Rietveld 408576698