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

Issue 2324833004: Define Stable API for WebRTC/Quartc (Closed)

Created:
4 years, 3 months ago by zhihuang1
Modified:
4 years, 1 month ago
CC:
chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Define a stable API between the RTC (WebRTC/Quartc) code and the QUIC code, so that both projects can operate independently without breaking the other. The API contains two parts. One is the interfaces which will be called on WebRTC side and be implemented in QUIC side. The other is the delegates and abstract classes which will be implemented on WebRTC side. The stable API will not introduce any QUIC specific dependencies to the API user (except the /base/net_export.h, which is a set of macro without other dependencies.). The design doc for this issue: https://docs.google.com/document/d/1Nmjn9-YgemT-CrttOVmC3POhjBWpuMq0A7PsixfHYjM/edit#heading=h.fz18u0qu9v4o Committed: https://crrev.com/33e7a9c59b4933acedf9d1b23d0033affaa4cd5c Cr-Commit-Position: refs/heads/master@{#428778}

Patch Set 1 : Create Quartc API #

Total comments: 38

Patch Set 2 : Code style fix. #

Total comments: 3

Patch Set 3 : Minor Fix. #

Patch Set 4 : Patch Set 4 : Create QuartcFactory. Made modification on the API. Change the constructor of QuartcS… #

Total comments: 34

Patch Set 5 : Renaming and style fix. #

Patch Set 6 : Add virtual destructors required by WebRTC compiler. #

Total comments: 108

Patch Set 7 : Fix the issues when testing with WebRTC. #

Total comments: 41

Patch Set 8 : Simplify the AtExitManager #

Total comments: 5

Patch Set 9 : Modification of AtExitManager. #

Total comments: 4

Patch Set 10 : Solve the conflict when merging. #

Patch Set 11 : Fix the memory leak. #

Total comments: 4

Patch Set 12 : Fix the IOS simulator and merge. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2005 lines, -40 lines) Patch
M net/net.gypi View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +16 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_alarm_factory.h View 1 2 3 4 5 6 7 1 chunk +44 lines, -0 lines 0 comments Download
A + net/quic/quartc/quartc_alarm_factory.cc View 1 2 3 4 5 6 7 3 chunks +20 lines, -30 lines 0 comments Download
A + net/quic/quartc/quartc_alarm_factory_test.cc View 1 6 chunks +10 lines, -10 lines 0 comments Download
A net/quic/quartc/quartc_factory.h View 1 2 3 4 5 6 7 8 9 1 chunk +67 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_factory.cc View 1 2 3 4 5 6 7 8 1 chunk +156 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_factory_interface.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +63 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_packet_writer.h View 1 2 3 4 5 6 7 1 chunk +56 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_packet_writer.cc View 1 2 3 4 5 6 7 1 chunk +43 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_session.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +122 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_session.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +291 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_session_interface.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +100 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_session_test.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +507 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_stream.h View 1 2 3 4 5 6 1 chunk +50 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_stream.cc View 1 2 3 4 5 6 1 chunk +72 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_stream_interface.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +75 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_stream_test.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +262 lines, -0 lines 0 comments Download
A net/quic/quartc/quartc_task_runner_interface.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +51 lines, -0 lines 0 comments Download

Messages

Total messages: 110 (82 generated)
skvlad-chromium
Great work overall! I'm not done reading QuartcSessionTest yet, sharing what I have so far. ...
4 years, 3 months ago (2016-09-22 01:54:26 UTC) #13
zhihuang1
Hi Vlad, Thanks for reviewing it! Hi Ryan, This is the initial implementation of the ...
4 years, 3 months ago (2016-09-22 18:53:52 UTC) #16
honghaiz
Add a few comments. https://codereview.chromium.org/2324833004/diff/160001/net/quic/quartc/quartc_reliable_stream_interface.h File net/quic/quartc/quartc_reliable_stream_interface.h (right): https://codereview.chromium.org/2324833004/diff/160001/net/quic/quartc/quartc_reliable_stream_interface.h#newcode18 net/quic/quartc/quartc_reliable_stream_interface.h:18: virtual void Write(const char* data, ...
4 years, 3 months ago (2016-09-22 18:57:06 UTC) #18
zhihuang1
Thanks for taking a look. https://codereview.chromium.org/2324833004/diff/160001/net/quic/quartc/quartc_reliable_stream_interface.h File net/quic/quartc/quartc_reliable_stream_interface.h (right): https://codereview.chromium.org/2324833004/diff/160001/net/quic/quartc/quartc_reliable_stream_interface.h#newcode18 net/quic/quartc/quartc_reliable_stream_interface.h:18: virtual void Write(const char* ...
4 years, 3 months ago (2016-09-22 19:24:41 UTC) #20
skvlad-chromium
lgtm https://codereview.chromium.org/2324833004/diff/200001/net/quic/quartc/quartc_reliable_stream_test.cc File net/quic/quartc/quartc_reliable_stream_test.cc (right): https://codereview.chromium.org/2324833004/diff/200001/net/quic/quartc/quartc_reliable_stream_test.cc#newcode149 net/quic/quartc/quartc_reliable_stream_test.cc:149: QuicConnectionHelperInterface* quic_helper = new QuartcConnectionHelper; Looks like the ...
4 years, 3 months ago (2016-09-22 20:36:44 UTC) #22
zhihuang1
Hi, I have some update for this CL. Please ignore previous one if you haven't ...
4 years, 3 months ago (2016-09-23 03:13:02 UTC) #25
skvlad-chromium
https://codereview.chromium.org/2324833004/diff/260001/net/quic/quartc/quartc_factory.cc File net/quic/quartc/quartc_factory.cc (right): https://codereview.chromium.org/2324833004/diff/260001/net/quic/quartc/quartc_factory.cc#newcode25 net/quic/quartc/quartc_factory.cc:25: config_.reset(new QuicConfig); Do you actually need to keep the ...
4 years, 3 months ago (2016-09-23 19:09:42 UTC) #26
Ryan Hamilton
First, some comments on the interface definitions, which are mostly just formatting nits and a ...
4 years, 3 months ago (2016-09-23 19:56:45 UTC) #27
zhihuang1
Please take another look. Thanks. https://codereview.chromium.org/2324833004/diff/260001/net/quic/quartc/quartc_factory_interface.h File net/quic/quartc/quartc_factory_interface.h (right): https://codereview.chromium.org/2324833004/diff/260001/net/quic/quartc/quartc_factory_interface.h#newcode11 net/quic/quartc/quartc_factory_interface.h:11: class QuartcFactoryInterface { On ...
4 years, 2 months ago (2016-09-24 06:54:06 UTC) #31
zhihuang1
Hi Ryan, Please take take another look. This CL just adds some virtual destructors which ...
4 years, 2 months ago (2016-09-29 23:52:51 UTC) #32
pthatcher2
I haven't look at the unit tests yet. The rest looks quite good, other than ...
4 years, 2 months ago (2016-10-05 22:12:08 UTC) #34
Ryan Hamilton
pthatcher has lots of good comments. here are a few additional from me. https://codereview.chromium.org/2324833004/diff/360001/net/quic/core/crypto/quic_crypto_server_config.cc File ...
4 years, 2 months ago (2016-10-10 19:48:30 UTC) #35
zhihuang1
Please take another look. Sorry for making such as a large CL. I just wanna ...
4 years, 2 months ago (2016-10-13 06:22:41 UTC) #37
pthatcher1
Mostly comments and names. The only structure comments are mostly around the AtExitManager and simplifying ...
4 years, 2 months ago (2016-10-14 18:59:01 UTC) #39
zhihuang1
Hi, Please take another look. I made some changes on the AtExitManager which simplified the ...
4 years, 2 months ago (2016-10-16 00:45:28 UTC) #41
pthatcher1
Other than the AtExitManager stuff, this looks good. https://codereview.chromium.org/2324833004/diff/440001/net/quic/quartc/quartc_factory.cc File net/quic/quartc/quartc_factory.cc (right): https://codereview.chromium.org/2324833004/diff/440001/net/quic/quartc/quartc_factory.cc#newcode84 net/quic/quartc/quartc_factory.cc:84: if ...
4 years, 2 months ago (2016-10-16 01:15:27 UTC) #42
zhihuang1
https://codereview.chromium.org/2324833004/diff/440001/net/quic/quartc/quartc_factory.cc File net/quic/quartc/quartc_factory.cc (right): https://codereview.chromium.org/2324833004/diff/440001/net/quic/quartc/quartc_factory.cc#newcode84 net/quic/quartc/quartc_factory.cc:84: if (!at_exit_manager) { On 2016/10/16 01:15:27, pthatcher1 wrote: > ...
4 years, 2 months ago (2016-10-16 19:38:13 UTC) #43
zhihuang1
Hi, Please take another look. There is one AtExitManager for each QuartcFactory now. I changed ...
4 years, 2 months ago (2016-10-19 17:57:20 UTC) #45
pthatcher2
lgtm With a few nits https://codereview.chromium.org/2324833004/diff/440001/net/quic/quartc/quartc_factory.cc File net/quic/quartc/quartc_factory.cc (right): https://codereview.chromium.org/2324833004/diff/440001/net/quic/quartc/quartc_factory.cc#newcode84 net/quic/quartc/quartc_factory.cc:84: if (!at_exit_manager) { On ...
4 years, 1 month ago (2016-10-24 17:42:49 UTC) #46
zhihuang1
Hi Ryan, This is LTGMed by Peter, please take a look. Thanks. https://codereview.chromium.org/2324833004/diff/480001/net/quic/quartc/quartc_factory_interface.h File net/quic/quartc/quartc_factory_interface.h ...
4 years, 1 month ago (2016-10-24 19:08:10 UTC) #47
Ryan Hamilton
On 2016/10/24 19:08:10, zhihuang1 wrote: > Hi Ryan, > > This is LTGMed by Peter, ...
4 years, 1 month ago (2016-10-24 23:29:23 UTC) #48
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/2324833004/640001
4 years, 1 month ago (2016-10-28 17:37:58 UTC) #84
commit-bot: I haz the power
Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/96585)
4 years, 1 month ago (2016-10-28 17:55:14 UTC) #86
skvlad-chromium
https://codereview.chromium.org/2324833004/diff/640001/net/quic/quartc/quartc_factory_interface.h File net/quic/quartc/quartc_factory_interface.h (right): https://codereview.chromium.org/2324833004/diff/640001/net/quic/quartc/quartc_factory_interface.h#newcode8 net/quic/quartc/quartc_factory_interface.h:8: #include "net/base/net_export.h" Please add includes for system types: #include ...
4 years, 1 month ago (2016-10-28 21:51:42 UTC) #87
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/2324833004/660001
4 years, 1 month ago (2016-10-31 17:50:09 UTC) #96
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/2324833004/700001
4 years, 1 month ago (2016-10-31 19:34:24 UTC) #106
commit-bot: I haz the power
Committed patchset #12 (id:700001)
4 years, 1 month ago (2016-10-31 20:05:05 UTC) #108
commit-bot: I haz the power
4 years, 1 month ago (2016-10-31 20:08:46 UTC) #110
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/33e7a9c59b4933acedf9d1b23d0033affaa4cd5c
Cr-Commit-Position: refs/heads/master@{#428778}

Powered by Google App Engine
This is Rietveld 408576698