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

Issue 1785843002: [mojo] Implement pipe fusion API (Closed)

Created:
4 years, 9 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 9 months ago
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[mojo] Implement pipe fusion API Sometimes it's desirable to fuse two pipes together. This is particularly useful when a service provides some kind of interface pipe later than its consumers would like to have such a pipe available. Rather than require the service to be rewritten to accommodate such cases, a consumer could create its own disconnected pipe and fuse it lazily with a service endpoint. BUG=591742 Committed: https://crrev.com/b1e74df4227184deaaee4d192a5fb3c48116f081 Cr-Commit-Position: refs/heads/master@{#380964}

Patch Set 1 #

Total comments: 6

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : cleanup #

Patch Set 5 : #

Total comments: 2

Patch Set 6 : simplify MessagePipeDispatcher changes #

Patch Set 7 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+450 lines, -26 lines) Patch
M mojo/edk/embedder/entrypoints.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M mojo/edk/system/core.h View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/edk/system/core.cc View 1 2 3 4 5 3 chunks +38 lines, -0 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.h View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.cc View 1 2 3 4 5 1 chunk +25 lines, -0 lines 0 comments Download
M mojo/edk/system/message_pipe_unittest.cc View 1 2 chunks +156 lines, -0 lines 0 comments Download
M mojo/edk/system/node_controller.h View 1 chunk +3 lines, -0 lines 0 comments Download
M mojo/edk/system/node_controller.cc View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M mojo/edk/system/ports/node.h View 2 chunks +7 lines, -0 lines 0 comments Download
M mojo/edk/system/ports/node.cc View 3 chunks +113 lines, -25 lines 0 comments Download
M mojo/public/c/system/message_pipe.h View 1 1 chunk +25 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/interface_request.h View 1 2 3 4 5 1 chunk +10 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/tests/interface_ptr_unittest.cc View 1 1 chunk +36 lines, -0 lines 0 comments Download
M mojo/public/cpp/system/message_pipe.h View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M mojo/public/interfaces/bindings/tests/sample_interfaces.mojom View 1 chunk +4 lines, -0 lines 0 comments Download
M mojo/public/platform/native/system_thunks.h View 2 chunks +3 lines, -1 line 0 comments Download
M mojo/public/platform/native/system_thunks.cc View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (6 generated)
Ken Rockot(use gerrit already)
Hey, surprise API! I've discussed this idea independently with at least Yuzhu and Darin at ...
4 years, 9 months ago (2016-03-10 23:06:06 UTC) #2
yzshen1
Awesome! https://codereview.chromium.org/1785843002/diff/1/mojo/public/c/system/message_pipe.h File mojo/public/c/system/message_pipe.h (right): https://codereview.chromium.org/1785843002/diff/1/mojo/public/c/system/message_pipe.h#newcode205 mojo/public/c/system/message_pipe.h:205: // handle. In this case both handles remain ...
4 years, 9 months ago (2016-03-10 23:49:04 UTC) #4
Ken Rockot(use gerrit already)
https://codereview.chromium.org/1785843002/diff/1/mojo/public/c/system/message_pipe.h File mojo/public/c/system/message_pipe.h (right): https://codereview.chromium.org/1785843002/diff/1/mojo/public/c/system/message_pipe.h#newcode205 mojo/public/c/system/message_pipe.h:205: // handle. In this case both handles remain unaffected. ...
4 years, 9 months ago (2016-03-11 00:32:46 UTC) #5
darin (slow to review)
Exciting to see this API happening. It is also useful if you want to implement ...
4 years, 9 months ago (2016-03-11 03:51:07 UTC) #6
Ben Goodger (Google)
Can you show a code snippet of what this would look like in the Connector ...
4 years, 9 months ago (2016-03-11 05:21:56 UTC) #7
Ken Rockot(use gerrit already)
On 2016/03/11 at 05:21:56, ben wrote: > Can you show a code snippet of what ...
4 years, 9 months ago (2016-03-11 05:23:12 UTC) #8
Anand Mistry (off Chromium)
> We could in theory change shell interfaces so that the client pipe goes in ...
4 years, 9 months ago (2016-03-11 08:32:37 UTC) #9
Ken Rockot(use gerrit already)
On Mar 11, 2016 12:32 AM, <amistry@chromium.org> wrote: > > > > We could in ...
4 years, 9 months ago (2016-03-11 16:09:52 UTC) #10
yzshen1
https://codereview.chromium.org/1785843002/diff/80001/mojo/edk/system/message_pipe_dispatcher.h File mojo/edk/system/message_pipe_dispatcher.h (right): https://codereview.chromium.org/1785843002/diff/80001/mojo/edk/system/message_pipe_dispatcher.h#newcode53 mojo/edk/system/message_pipe_dispatcher.h:53: bool CompleteFuse(MessagePipeDispatcher* other); It seems possible to only expose ...
4 years, 9 months ago (2016-03-11 17:17:21 UTC) #11
Ken Rockot(use gerrit already)
On 2016/03/11 at 17:17:21, yzshen wrote: > https://codereview.chromium.org/1785843002/diff/80001/mojo/edk/system/message_pipe_dispatcher.h > File mojo/edk/system/message_pipe_dispatcher.h (right): > > https://codereview.chromium.org/1785843002/diff/80001/mojo/edk/system/message_pipe_dispatcher.h#newcode53 ...
4 years, 9 months ago (2016-03-11 17:19:19 UTC) #12
yzshen1
bindings LGTM
4 years, 9 months ago (2016-03-11 18:33:59 UTC) #13
Ken Rockot(use gerrit already)
BTW I'm going to put together a CL which changes shell interfaces to make startup ...
4 years, 9 months ago (2016-03-11 20:51:57 UTC) #14
Anand Mistry (off Chromium)
EDK LGTM. Ok, I've been convinced of the usefulness of this API.
4 years, 9 months ago (2016-03-14 06:18:24 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1785843002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1785843002/120001
4 years, 9 months ago (2016-03-14 13:13:48 UTC) #19
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 9 months ago (2016-03-14 13:18:40 UTC) #20
commit-bot: I haz the power
4 years, 9 months ago (2016-03-14 13:19:53 UTC) #22
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/b1e74df4227184deaaee4d192a5fb3c48116f081
Cr-Commit-Position: refs/heads/master@{#380964}

Powered by Google App Engine
This is Rietveld 408576698