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

Issue 340433002: Port QuicServer to Chrome network stack (Closed)

Created:
6 years, 6 months ago by dmziegler
Modified:
6 years, 6 months ago
Reviewers:
dmz, wtc, Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Port QuicServer to Chrome network stack Also ported quic_server_bin and quic_server_test. BUG= Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=279602

Patch Set 1 #

Patch Set 2 : (Mark quic_server.* as copied, not added) #

Patch Set 3 : Fix invalid memory access + blocked writers #

Total comments: 51

Patch Set 4 : Address review comments and fix blocked writers using callbacks [Upload failed] #

Patch Set 5 : Address review comments and fix blocked writers using callbacks #

Total comments: 20

Patch Set 6 : Instead of callbacks, have one writer per connection #

Patch Set 7 : Merge with upstream + address review comments #

Total comments: 1

Patch Set 8 : Additional comments #

Total comments: 8

Patch Set 9 : Address further comments #

Total comments: 82

Patch Set 10 : Address final comments #

Patch Set 11 : Tiny cleanup #

Patch Set 12 : Build quic_ported_server on other platforms too #

Total comments: 18

Patch Set 13 : Fix 64-bit build & replicate last bit of OnCanWrite logic #

Total comments: 2

Patch Set 14 : Fix Windows 64-bit build and address more review comments #

Patch Set 15 : Fix GN build #

Total comments: 6

Patch Set 16 : Address review comments + try GN build again #

Patch Set 17 : Indentation fix #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+478 lines, -532 lines) Patch
M net/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 chunks +66 lines, -37 lines 0 comments Download
M net/net.gyp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +34 lines, -2 lines 0 comments Download
M net/net.gypi View 1 2 3 4 5 6 2 chunks +1 line, -12 lines 0 comments Download
M net/quic/quic_default_packet_writer.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/quic_dispatcher.h View 1 2 3 4 5 6 7 8 9 9 chunks +13 lines, -11 lines 0 comments Download
M net/quic/quic_dispatcher.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +33 lines, -30 lines 0 comments Download
M net/quic/quic_in_memory_cache.h View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M net/quic/quic_in_memory_cache.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +10 lines, -9 lines 0 comments Download
A + net/quic/quic_per_connection_packet_writer.h View 1 2 3 4 5 6 7 8 9 3 chunks +22 lines, -26 lines 0 comments Download
A + net/quic/quic_per_connection_packet_writer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +23 lines, -21 lines 0 comments Download
A + net/quic/quic_server.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +48 lines, -74 lines 0 comments Download
A + net/quic/quic_server.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +98 lines, -167 lines 0 comments Download
A + net/quic/quic_server_bin.cc View 1 2 3 4 5 6 7 8 9 3 chunks +15 lines, -10 lines 0 comments Download
M net/quic/quic_server_packet_writer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +33 lines, -14 lines 2 comments Download
M net/quic/quic_server_packet_writer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +55 lines, -32 lines 1 comment Download
M net/quic/quic_server_session.h View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -0 lines 0 comments Download
M net/quic/quic_server_session.cc View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -3 lines 0 comments Download
A + net/quic/quic_server_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +10 lines, -10 lines 0 comments Download
M net/quic/quic_spdy_server_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_spdy_server_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M net/tools/quic/quic_server_bin.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -72 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
dmziegler
I ported the quic_server binary as well, and it seems to work!
6 years, 6 months ago (2014-06-17 02:01:10 UTC) #1
wtc
Review comments on patch set 3: Good progress! I reviewed everything except quic_server.cc. I will ...
6 years, 6 months ago (2014-06-18 02:04:48 UTC) #2
dmziegler
I realized that if the writer ever got blocked, everything would fail catastrophically (immediate segfault). ...
6 years, 6 months ago (2014-06-18 20:13:42 UTC) #3
Ryan Hamilton
This is looking reasonable, but one gotcha is the changes to the default packet writer ...
6 years, 6 months ago (2014-06-18 23:59:51 UTC) #4
dmz
PTAL https://codereview.chromium.org/340433002/diff/80001/net/quic/quic_connection.h File net/quic/quic_connection.h (right): https://codereview.chromium.org/340433002/diff/80001/net/quic/quic_connection.h#newcode768 net/quic/quic_connection.h:768: base::WeakPtrFactory<QuicConnection> weak_factory_; On 2014/06/18 23:59:51, Ryan Hamilton wrote: ...
6 years, 6 months ago (2014-06-19 17:46:25 UTC) #5
Ryan Hamilton
Great progress. Are you able to run the quic server and point something at it ...
6 years, 6 months ago (2014-06-19 19:21:30 UTC) #6
dmz
Yes, I've run the ported quic_server binary and downloaded stuff using quic_client, and everything seems ...
6 years, 6 months ago (2014-06-19 20:06:28 UTC) #7
Ryan Hamilton
lgtm
6 years, 6 months ago (2014-06-20 15:26:24 UTC) #8
Ryan Hamilton
https://codereview.chromium.org/340433002/diff/160001/net/tools/quic/quic_server_bin.cc File net/tools/quic/quic_server_bin.cc (right): https://codereview.chromium.org/340433002/diff/160001/net/tools/quic/quic_server_bin.cc#newcode6 net/tools/quic/quic_server_bin.cc:6: // (default 6121) until it's killed or ctrl-cd to ...
6 years, 6 months ago (2014-06-20 18:07:51 UTC) #9
wtc
Patch set 9 LGTM. Please address my review comments before you commit this CL. Good ...
6 years, 6 months ago (2014-06-20 21:40:50 UTC) #10
dmziegler
I'll commit soon. https://codereview.chromium.org/340433002/diff/160001/net/net.gyp File net/net.gyp (right): https://codereview.chromium.org/340433002/diff/160001/net/net.gyp#newcode547 net/net.gyp:547: 'quic_ported_server', On 2014/06/20 21:40:48, wtc wrote: ...
6 years, 6 months ago (2014-06-23 18:31:25 UTC) #11
dmziegler
The CQ bit was checked by dmziegler@google.com
6 years, 6 months ago (2014-06-23 18:50:28 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmziegler@google.com/340433002/10009
6 years, 6 months ago (2014-06-23 18:52:10 UTC) #13
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_gn_rel on tryserver.chromium ...
6 years, 6 months ago (2014-06-23 22:12:38 UTC) #14
dmziegler
The CQ bit was unchecked by dmziegler@google.com
6 years, 6 months ago (2014-06-23 22:17:11 UTC) #15
wtc
Patch set 12 LGTM. https://codereview.chromium.org/340433002/diff/10009/net/quic/quic_dispatcher.cc File net/quic/quic_dispatcher.cc (right): https://codereview.chromium.org/340433002/diff/10009/net/quic/quic_dispatcher.cc#newcode369 net/quic/quic_dispatcher.cc:369: QuicPerConnectionPacketWriter* connection_packet_writer = Nit: rename ...
6 years, 6 months ago (2014-06-23 23:12:16 UTC) #16
dmziegler
Comments addressed. https://codereview.chromium.org/340433002/diff/10009/net/quic/quic_dispatcher.cc File net/quic/quic_dispatcher.cc (right): https://codereview.chromium.org/340433002/diff/10009/net/quic/quic_dispatcher.cc#newcode369 net/quic/quic_dispatcher.cc:369: QuicPerConnectionPacketWriter* connection_packet_writer = On 2014/06/23 23:12:15, wtc ...
6 years, 6 months ago (2014-06-24 00:08:53 UTC) #17
wtc
Patch set 15 LGTM. https://codereview.chromium.org/340433002/diff/270001/net/BUILD.gn File net/BUILD.gn (right): https://codereview.chromium.org/340433002/diff/270001/net/BUILD.gn#newcode704 net/BUILD.gn:704: source_set("quic_tools") { Why don't you ...
6 years, 6 months ago (2014-06-24 01:06:48 UTC) #18
dmziegler
PTAL (Can you verify that my buf_len size check is correct? See https://codereview.chromium.org/340433002/patch/300001/310015#newcode75) https://codereview.chromium.org/340433002/diff/270001/net/BUILD.gn File ...
6 years, 6 months ago (2014-06-24 19:01:18 UTC) #19
wtc
Patch set 17 LGTM. https://codereview.chromium.org/340433002/diff/300001/net/quic/quic_server_packet_writer.cc File net/quic/quic_server_packet_writer.cc (right): https://codereview.chromium.org/340433002/diff/300001/net/quic/quic_server_packet_writer.cc#newcode75 net/quic/quic_server_packet_writer.cc:75: if (buf_len <= static_cast<size_t>(std::numeric_limits<int>::max())) { ...
6 years, 6 months ago (2014-06-24 21:47:22 UTC) #20
dmziegler
https://codereview.chromium.org/340433002/diff/300001/net/quic/quic_server_packet_writer.h File net/quic/quic_server_packet_writer.h (right): https://codereview.chromium.org/340433002/diff/300001/net/quic/quic_server_packet_writer.h#newcode41 net/quic/quic_server_packet_writer.h:41: void OnWriteComplete(int rv); On 2014/06/24 21:47:21, wtc wrote: > ...
6 years, 6 months ago (2014-06-24 22:36:48 UTC) #21
dmziegler
The CQ bit was checked by dmziegler@google.com
6 years, 6 months ago (2014-06-24 22:37:21 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmziegler@google.com/340433002/300001
6 years, 6 months ago (2014-06-24 22:38:42 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: win_chromium_x64_rel on tryserver.chromium ...
6 years, 6 months ago (2014-06-25 02:33:40 UTC) #24
commit-bot: I haz the power
6 years, 6 months ago (2014-06-25 05:14:45 UTC) #25
Message was sent while issue was closed.
Change committed as 279602

Powered by Google App Engine
This is Rietveld 408576698