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

Issue 2383533003: Blimp: define HeliumTransport/HeliumStream interfaces. (Closed)

Created:
4 years, 2 months ago by Kevin M
Modified:
4 years, 2 months ago
CC:
anandc+watch-blimp_chromium.org, bgoldman+watch-blimp_chromium.org, cbentzel+watch_chromium.org, chromium-reviews, dtrainor+watch-blimp_chromium.org, gcasto+watch-blimp_chromium.org, jessicag+watch-blimp_chromium.org, khushalsagar+watch-blimp_chromium.org, kmarshall+watch-blimp_chromium.org, lethalantidote+watch-blimp_chromium.org, maniscalco+watch-blimp_chromium.org, marcinjb+watch-blimp_chromium.org, nyquist+watch-blimp_chromium.org, perumaal+watch-blimp_chromium.org, scf+watch-blimp_chromium.org, shaktisahu+watch-blimp_chromium.org, sriramsr+watch-blimp_chromium.org, steimel+watch-blimp_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Blimp: define HeliumTransport/HeliumStream interfaces. These classes encapsulate transport-specific code for connecting logical bidirectional message streams, and the logic for sending and receiving messages on those streams. R=scf@chromium.org,perumaal@chromium.org,gcasto@chromium.org CC=lethalantidote@chromium.org,steimel@chromium.org BUG=651504 Committed: https://crrev.com/e97d5665eb5f7e7680798a8a0c59fdb8d10817a7 Cr-Commit-Position: refs/heads/master@{#424870}

Patch Set 1 #

Total comments: 7

Patch Set 2 : added ReadMessage comment re: flow control #

Total comments: 8

Patch Set 3 : gcasto feedback #

Patch Set 4 : gcasto feedback #

Patch Set 5 : Asymmetric connect/listen API #

Total comments: 8

Patch Set 6 : ReadMessage delegate #

Total comments: 3

Patch Set 7 : typo #

Total comments: 13

Patch Set 8 : wez feedback #

Patch Set 9 : Back to ReceiveMessage #

Total comments: 8

Patch Set 10 : code review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+104 lines, -0 lines) Patch
M blimp/net/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -0 lines 0 comments Download
A blimp/net/helium/helium_stream.h View 1 2 3 4 5 6 7 8 9 1 chunk +50 lines, -0 lines 0 comments Download
A blimp/net/helium/helium_transport.h View 1 2 3 4 5 6 7 1 chunk +51 lines, -0 lines 0 comments Download

Messages

Total messages: 74 (20 generated)
Kevin M
gcasto, perumaal - this is relevant to your interests, care to take a look?
4 years, 2 months ago (2016-09-29 17:47:24 UTC) #1
Brian Goldman
https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_stream.h#newcode49 blimp/net/helium/helium_stream.h:49: // ReceiveMessage() call is made at a time. Maybe ...
4 years, 2 months ago (2016-09-29 18:20:21 UTC) #3
Kevin M
Having a callback that pulls messages out as soon as they're ready means that we ...
4 years, 2 months ago (2016-09-29 18:29:20 UTC) #4
Kevin M
WRT undefined behavior on concurrent reads/writes: gRPC and sockets will throw error codes should this ...
4 years, 2 months ago (2016-09-29 18:39:22 UTC) #5
scf
https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_stream.h#newcode49 blimp/net/helium/helium_stream.h:49: // ReceiveMessage() call is made at a time. On ...
4 years, 2 months ago (2016-09-29 19:12:22 UTC) #6
perumaal
https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_transport.h#newcode16 blimp/net/helium/helium_transport.h:16: class HeliumTransport { Just to make sure. Would this ...
4 years, 2 months ago (2016-09-29 19:13:51 UTC) #7
Brian Goldman
On 2016/09/29 18:29:20, Kevin M wrote: > Having a callback that pulls messages out as ...
4 years, 2 months ago (2016-09-29 20:57:40 UTC) #8
Kevin M
Added a comment re: flow control. https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/1/blimp/net/helium/helium_transport.h#newcode16 blimp/net/helium/helium_transport.h:16: class HeliumTransport { ...
4 years, 2 months ago (2016-09-29 21:18:40 UTC) #9
Garrett Casto
https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_stream.h#newcode45 blimp/net/helium/helium_stream.h:45: const net::CompletionCallback& callback) = 0; Nit: We may want ...
4 years, 2 months ago (2016-09-30 16:58:42 UTC) #10
Garrett Casto
https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_stream.h#newcode53 blimp/net/helium/helium_stream.h:53: base::Callback<void(std::unique_ptr<HeliumMessage>)> on_receive_cb) = 0; Also, we are eventually going ...
4 years, 2 months ago (2016-09-30 17:46:21 UTC) #11
Kevin M
https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_stream.h#newcode45 blimp/net/helium/helium_stream.h:45: const net::CompletionCallback& callback) = 0; On 2016/09/30 16:58:42, Garrett ...
4 years, 2 months ago (2016-09-30 22:20:56 UTC) #12
Kevin M
Related: I'm working on a CL which adds a home for canonical error codes.
4 years, 2 months ago (2016-09-30 22:21:39 UTC) #13
Kevin M
+wez
4 years, 2 months ago (2016-10-03 17:50:29 UTC) #16
CJ
lgtm
4 years, 2 months ago (2016-10-03 22:04:20 UTC) #18
Garrett Casto
Sorry, wrote this a few days ago, but just realized I didn't actually send the ...
4 years, 2 months ago (2016-10-03 22:06:00 UTC) #19
Kevin M
https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_transport.h#newcode16 blimp/net/helium/helium_transport.h:16: class HeliumTransport { On 2016/10/03 22:06:00, Garrett Casto wrote: ...
4 years, 2 months ago (2016-10-04 01:33:08 UTC) #20
Garrett Casto
On 2016/10/04 01:33:08, Kevin M wrote: > https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_transport.h > File blimp/net/helium/helium_transport.h (right): > > https://codereview.chromium.org/2383533003/diff/20001/blimp/net/helium/helium_transport.h#newcode16 ...
4 years, 2 months ago (2016-10-04 17:26:23 UTC) #21
Kevin M
Switched to using separate connect/accept calls, PTAL. I'm on the fence about using an Accept ...
4 years, 2 months ago (2016-10-04 22:46:25 UTC) #22
Garrett Casto
LGTM https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_transport.h#newcode42 blimp/net/helium/helium_transport.h:42: // Multiple overlapping Accept requests are permitted. Is ...
4 years, 2 months ago (2016-10-05 20:34:05 UTC) #23
perumaal
https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_stream.h#newcode54 blimp/net/helium/helium_stream.h:54: virtual void ReceiveMessage( I think this would be better ...
4 years, 2 months ago (2016-10-05 20:40:45 UTC) #24
Garrett Casto
https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_stream.h#newcode54 blimp/net/helium/helium_stream.h:54: virtual void ReceiveMessage( On 2016/10/05 20:40:44, perumaal wrote: > ...
4 years, 2 months ago (2016-10-05 20:53:07 UTC) #25
perumaal
https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_transport.h#newcode43 blimp/net/helium/helium_transport.h:43: virtual void Accept(const StreamCreatedCallback& cb) = 0; On 2016/10/05 ...
4 years, 2 months ago (2016-10-05 22:22:14 UTC) #26
Kevin M
https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/80001/blimp/net/helium/helium_transport.h#newcode42 blimp/net/helium/helium_transport.h:42: // Multiple overlapping Accept requests are permitted. On 2016/10/05 ...
4 years, 2 months ago (2016-10-05 23:57:59 UTC) #27
Kevin M
Switched to a delegate interface for the message receipt events.
4 years, 2 months ago (2016-10-05 23:58:56 UTC) #28
perumaal
lgtm https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_stream.h#newcode49 blimp/net/helium/helium_stream.h:49: void SetDelegate(std::unique_ptr<Delegate> delegate); nit: Delegates in general (IMO) ...
4 years, 2 months ago (2016-10-06 00:02:11 UTC) #29
Kevin M
https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_stream.h#newcode49 blimp/net/helium/helium_stream.h:49: void SetDelegate(std::unique_ptr<Delegate> delegate); On 2016/10/06 00:02:11, perumaal wrote: > ...
4 years, 2 months ago (2016-10-06 00:44:32 UTC) #30
perumaal
On 2016/10/06 at 00:44:32, kmarshall wrote: > https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_stream.h > File blimp/net/helium/helium_stream.h (right): > > https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_stream.h#newcode49 ...
4 years, 2 months ago (2016-10-06 00:53:46 UTC) #31
Kevin M
It could be a bare pointer, but one of the bits of advice I received ...
4 years, 2 months ago (2016-10-06 17:06:49 UTC) #32
perumaal
On 2016/10/06 at 17:06:49, kmarshall wrote: > It could be a bare pointer, but one ...
4 years, 2 months ago (2016-10-06 17:19:01 UTC) #33
scf
lgtm https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_transport.h File blimp/net/helium/helium_transport.h (right): https://codereview.chromium.org/2383533003/diff/100001/blimp/net/helium/helium_transport.h#newcode30 blimp/net/helium/helium_transport.h:30: // Called when the transport transitions between an ...
4 years, 2 months ago (2016-10-06 17:32:43 UTC) #34
scf
lgtm
4 years, 2 months ago (2016-10-06 17:32:47 UTC) #35
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/2383533003/100001
4 years, 2 months ago (2016-10-06 17:37:26 UTC) #38
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/2383533003/120001
4 years, 2 months ago (2016-10-06 18:24:12 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/155668)
4 years, 2 months ago (2016-10-06 20:20:44 UTC) #44
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/2383533003/120001
4 years, 2 months ago (2016-10-08 00:35:39 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/83009) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, ...
4 years, 2 months ago (2016-10-08 00:38:05 UTC) #48
Wez
https://codereview.chromium.org/2383533003/diff/120001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/120001/blimp/net/helium/helium_stream.h#newcode20 blimp/net/helium/helium_stream.h:20: class HeliumStream { Can we break this into a ...
4 years, 2 months ago (2016-10-08 01:02:30 UTC) #49
Kevin M
https://codereview.chromium.org/2383533003/diff/120001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/120001/blimp/net/helium/helium_stream.h#newcode20 blimp/net/helium/helium_stream.h:20: class HeliumStream { On 2016/10/08 01:02:29, Wez wrote: > ...
4 years, 2 months ago (2016-10-11 20:02:37 UTC) #50
Garrett Casto
https://codereview.chromium.org/2383533003/diff/120001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/120001/blimp/net/helium/helium_stream.h#newcode29 blimp/net/helium/helium_stream.h:29: // handler, not during. On 2016/10/11 20:02:37, Kevin M ...
4 years, 2 months ago (2016-10-11 20:27:03 UTC) #51
Kevin M
I think it makes a lot of sense to place the pump outside the transport ...
4 years, 2 months ago (2016-10-11 21:53:39 UTC) #52
perumaal
On 2016/10/11 at 21:53:39, kmarshall wrote: > I think it makes a lot of sense ...
4 years, 2 months ago (2016-10-11 22:19:23 UTC) #53
Kevin M
Only one message. I don't think this is polling because there is at most only ...
4 years, 2 months ago (2016-10-11 22:22:27 UTC) #54
perumaal
On 2016/10/11 at 22:22:27, kmarshall wrote: > Only one message. I don't think this is ...
4 years, 2 months ago (2016-10-11 22:23:23 UTC) #55
Garrett Casto
On last thing. Otherwise LGTM. https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h#newcode31 blimp/net/helium/helium_stream.h:31: HeliumResult reason) = 0; ...
4 years, 2 months ago (2016-10-11 22:33:22 UTC) #56
perumaal
https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h#newcode54 blimp/net/helium/helium_stream.h:54: base::Callback<void(std::unique_ptr<HeliumMessage>, HeliumResult)> Could we alias this as HeliumMsgReceivedCallback?
4 years, 2 months ago (2016-10-11 22:36:36 UTC) #57
perumaal
lgtm
4 years, 2 months ago (2016-10-11 22:36:40 UTC) #58
perumaal
https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h#newcode46 blimp/net/helium/helium_stream.h:46: const base::Callback<void(HeliumResult)>& callback) = 0; Ah I now see ...
4 years, 2 months ago (2016-10-11 23:09:40 UTC) #59
Kevin M
https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h File blimp/net/helium/helium_stream.h (right): https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h#newcode31 blimp/net/helium/helium_stream.h:31: HeliumResult reason) = 0; On 2016/10/11 22:33:22, Garrett Casto ...
4 years, 2 months ago (2016-10-11 23:25:16 UTC) #60
Kevin M
Removed helium_stream.cc from the CL, now that everything is pure virtual.
4 years, 2 months ago (2016-10-11 23:26:43 UTC) #61
Garrett Casto
LGTM.
4 years, 2 months ago (2016-10-11 23:32:44 UTC) #64
perumaal
> > https://codereview.chromium.org/2383533003/diff/160001/blimp/net/helium/helium_stream.h#newcode46 > blimp/net/helium/helium_stream.h:46: const base::Callback<void(HeliumResult)>& callback) = 0; > On 2016/10/11 23:09:39, perumaal ...
4 years, 2 months ago (2016-10-11 23:33:13 UTC) #65
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/2383533003/180001
4 years, 2 months ago (2016-10-12 21:38:52 UTC) #70
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 2 months ago (2016-10-12 21:45:39 UTC) #72
commit-bot: I haz the power
4 years, 2 months ago (2016-10-12 21:47:36 UTC) #74
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/e97d5665eb5f7e7680798a8a0c59fdb8d10817a7
Cr-Commit-Position: refs/heads/master@{#424870}

Powered by Google App Engine
This is Rietveld 408576698