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

Issue 1880823005: [mojo-edk] Add explicit message object APIs (Closed)

Created:
4 years, 8 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 8 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-edk] Add explicit message object APIs Adds several new system API methods: - MojoAllocMessage: Allocates a new message object for a fixed payload size and set of handles - MojoFreeMessage: Frees a message object - MojoGetMessageBuffer: Acquires a mutable buffer address to manipulate message object payload - MojoWriteMessageNew: Writes a message object to a message pipe, relinquishing ownership - MojoReadMessageNew: Reads a message object from a message pipe, taking ownership Message objects themselves are respresented in the public API by an opaque MojoMessageHandle. The purpose of these APIs is to encapsulate ownership transfer of message buffers, allowing us to avoid several redundant copies that are forced by MojoWriteMessage() and MojoReadMessage() design. BUG=597379 Committed: https://crrev.com/72d05a46b2636d9d8cbf9a75b1c5d2bc2d8abe15 Cr-Commit-Position: refs/heads/master@{#389859}

Patch Set 1 #

Patch Set 2 : #

Total comments: 18

Patch Set 3 : #

Patch Set 4 : rebase #

Patch Set 5 : make VS happy #

Total comments: 4

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Total comments: 8

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+817 lines, -321 lines) Patch
M mojo/edk/embedder/entrypoints.cc View 1 2 3 4 5 3 chunks +32 lines, -0 lines 0 comments Download
M mojo/edk/js/core.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -6 lines 0 comments Download
M mojo/edk/js/tests/connection_tests.js View 1 2 3 4 5 6 7 1 chunk +0 lines, -8 lines 0 comments Download
M mojo/edk/system/BUILD.gn View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/edk/system/core.h View 1 2 3 4 5 6 7 2 chunks +16 lines, -0 lines 0 comments Download
M mojo/edk/system/core.cc View 1 2 3 4 5 6 7 4 chunks +129 lines, -38 lines 0 comments Download
M mojo/edk/system/core_test_base.cc View 2 chunks +7 lines, -8 lines 0 comments Download
M mojo/edk/system/core_unittest.cc View 1 2 3 4 5 5 chunks +32 lines, -28 lines 0 comments Download
M mojo/edk/system/dispatcher.h View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -6 lines 0 comments Download
M mojo/edk/system/dispatcher.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -6 lines 0 comments Download
A mojo/edk/system/message_for_transit.h View 1 2 3 4 5 6 7 8 1 chunk +113 lines, -0 lines 0 comments Download
A mojo/edk/system/message_for_transit.cc View 1 2 3 4 5 6 7 8 1 chunk +136 lines, -0 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -6 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.cc View 1 2 3 4 5 6 7 8 9 chunks +51 lines, -198 lines 0 comments Download
M mojo/edk/system/message_pipe_unittest.cc View 1 2 3 4 5 2 chunks +67 lines, -0 lines 0 comments Download
M mojo/edk/system/wait_set_dispatcher_unittest.cc View 1 2 3 4 5 6 6 chunks +34 lines, -12 lines 0 comments Download
M mojo/mojo_edk.gyp View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/c/system/message_pipe.h View 1 2 3 4 5 6 7 8 6 chunks +114 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/connector.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -3 lines 0 comments Download
M mojo/public/platform/native/system_thunks.h View 1 2 3 4 5 2 chunks +22 lines, -1 line 0 comments Download
M mojo/public/platform/native/system_thunks.cc View 1 2 3 4 5 1 chunk +38 lines, -0 lines 0 comments Download

Messages

Total messages: 33 (13 generated)
Ken Rockot(use gerrit already)
Please take a look. Some assorted rationale below: Having a separate MojoGetMessageBuffer API buys us ...
4 years, 8 months ago (2016-04-13 02:56:47 UTC) #2
Anand Mistry (off Chromium)
A couple of high-level comments before I review the implementation further. https://codereview.chromium.org/1880823005/diff/20001/mojo/edk/embedder/entrypoints.cc File mojo/edk/embedder/entrypoints.cc (right): ...
4 years, 8 months ago (2016-04-14 10:25:03 UTC) #3
Ken Rockot(use gerrit already)
On Apr 14, 2016 3:25 AM, <amistry@chromium.org> wrote: > > A couple of high-level comments ...
4 years, 8 months ago (2016-04-14 13:03:42 UTC) #4
Ken Rockot(use gerrit already)
On 2016/04/14 at 13:03:42, Ken Rockot wrote: > On Apr 14, 2016 3:25 AM, <amistry@chromium.org> ...
4 years, 8 months ago (2016-04-14 13:09:42 UTC) #5
Ken Rockot(use gerrit already)
Ping? Any further comments/suggestions for how you want me to modify this CL before you're ...
4 years, 8 months ago (2016-04-18 15:09:34 UTC) #6
Anand Mistry (off Chromium)
+sam to get his opinions. https://codereview.chromium.org/1880823005/diff/20001/mojo/edk/system/message_for_transit.h File mojo/edk/system/message_for_transit.h (right): https://codereview.chromium.org/1880823005/diff/20001/mojo/edk/system/message_for_transit.h#newcode8 mojo/edk/system/message_for_transit.h:8: #include <stdint.h> #include <memory> ...
4 years, 8 months ago (2016-04-19 12:57:36 UTC) #8
Ken Rockot(use gerrit already)
https://codereview.chromium.org/1880823005/diff/20001/mojo/edk/system/message_for_transit.h File mojo/edk/system/message_for_transit.h (right): https://codereview.chromium.org/1880823005/diff/20001/mojo/edk/system/message_for_transit.h#newcode8 mojo/edk/system/message_for_transit.h:8: #include <stdint.h> On 2016/04/19 at 12:57:35, Anand Mistry wrote: ...
4 years, 8 months ago (2016-04-19 18:11:26 UTC) #9
Anand Mistry (off Chromium)
https://codereview.chromium.org/1880823005/diff/20001/mojo/public/c/system/message_pipe.h File mojo/public/c/system/message_pipe.h (right): https://codereview.chromium.org/1880823005/diff/20001/mojo/public/c/system/message_pipe.h#newcode310 mojo/public/c/system/message_pipe.h:310: MOJO_SYSTEM_EXPORT MojoResult MojoDestroyMessage(void* message); On 2016/04/19 18:11:25, Ken Rockot ...
4 years, 8 months ago (2016-04-21 12:19:43 UTC) #11
Ken Rockot(use gerrit already)
https://codereview.chromium.org/1880823005/diff/20001/mojo/public/c/system/message_pipe.h File mojo/public/c/system/message_pipe.h (right): https://codereview.chromium.org/1880823005/diff/20001/mojo/public/c/system/message_pipe.h#newcode310 mojo/public/c/system/message_pipe.h:310: MOJO_SYSTEM_EXPORT MojoResult MojoDestroyMessage(void* message); On 2016/04/21 at 12:19:42, Anand ...
4 years, 8 months ago (2016-04-21 16:47:40 UTC) #12
Ken Rockot(use gerrit already)
Any chance this could get another review pass before the weekend? :D
4 years, 8 months ago (2016-04-22 00:02:04 UTC) #14
Ken Rockot(use gerrit already)
ping.
4 years, 8 months ago (2016-04-25 16:24:16 UTC) #15
Anand Mistry (off Chromium)
lgtm
4 years, 8 months ago (2016-04-26 07:38:17 UTC) #16
Sam McNally
lgtm https://codereview.chromium.org/1880823005/diff/140001/mojo/edk/system/message_for_transit.h File mojo/edk/system/message_for_transit.h (right): https://codereview.chromium.org/1880823005/diff/140001/mojo/edk/system/message_for_transit.h#newcode67 mojo/edk/system/message_for_transit.h:67: const void* bytes() const; Why not inline these? ...
4 years, 8 months ago (2016-04-26 08:20:43 UTC) #17
Ken Rockot(use gerrit already)
https://codereview.chromium.org/1880823005/diff/140001/mojo/edk/system/message_for_transit.h File mojo/edk/system/message_for_transit.h (right): https://codereview.chromium.org/1880823005/diff/140001/mojo/edk/system/message_for_transit.h#newcode67 mojo/edk/system/message_for_transit.h:67: const void* bytes() const; On 2016/04/26 at 08:20:42, Sam ...
4 years, 8 months ago (2016-04-26 15:28:23 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1880823005/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1880823005/160001
4 years, 8 months ago (2016-04-26 15:29:05 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1880823005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1880823005/180001
4 years, 8 months ago (2016-04-26 16:18:29 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/60371)
4 years, 8 months ago (2016-04-26 17:56:35 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1880823005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1880823005/180001
4 years, 8 months ago (2016-04-26 18:15:08 UTC) #30
commit-bot: I haz the power
Committed patchset #9 (id:180001)
4 years, 8 months ago (2016-04-26 19:57:04 UTC) #31
commit-bot: I haz the power
4 years, 8 months ago (2016-04-26 19:58:19 UTC) #33
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/72d05a46b2636d9d8cbf9a75b1c5d2bc2d8abe15
Cr-Commit-Position: refs/heads/master@{#389859}

Powered by Google App Engine
This is Rietveld 408576698