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

Issue 1932083002: Mojo: Use new message APIs to reduce copying (Closed)

Created:
4 years, 7 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 7 months ago
Reviewers:
yzshen1
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: Use new message APIs to reduce copying - Adds new public C++ APIs for scoped message objects - Updates the bindings to use new Write/ReadMessage APIs - Updates ChannelMojo to use new WriteMessage API This results in one fewer copy on either end of every Mojo IPC, whether it's over ChannelMojo or an arbitrary message pipe. BUG=590495 R=yzshen@chromium.org Committed: https://crrev.com/596231c83a488a54e994a43417e617c864730b3a Cr-Commit-Position: refs/heads/master@{#390709}

Patch Set 1 #

Total comments: 6

Patch Set 2 : nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+341 lines, -261 lines) Patch
M ipc/mojo/ipc_message_pipe_reader.cc View 1 chunk +2 lines, -9 lines 0 comments Download
M mojo/mojo_public.gyp View 3 chunks +3 lines, -2 lines 0 comments Download
M mojo/public/c/system/message_pipe.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/BUILD.gn View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/buffer.h View 1 chunk +0 lines, -6 lines 0 comments Download
M mojo/public/cpp/bindings/lib/connector.cc View 1 chunk +1 line, -12 lines 0 comments Download
M mojo/public/cpp/bindings/lib/fixed_buffer.h View 1 chunk +0 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/fixed_buffer.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/interface_endpoint_client.cc View 1 chunk +2 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/message.cc View 1 4 chunks +60 lines, -16 lines 0 comments Download
A mojo/public/cpp/bindings/lib/message_buffer.h View 1 chunk +52 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/lib/message_buffer.cc View 1 1 chunk +65 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/native_struct_serialization.h View 2 chunks +11 lines, -33 lines 0 comments Download
D mojo/public/cpp/bindings/lib/pickle_buffer.h View 1 chunk +0 lines, -56 lines 0 comments Download
D mojo/public/cpp/bindings/lib/pickle_buffer.cc View 1 chunk +0 lines, -98 lines 0 comments Download
M mojo/public/cpp/bindings/lib/router.cc View 1 chunk +2 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/message.h View 3 chunks +15 lines, -6 lines 0 comments Download
M mojo/public/cpp/bindings/tests/connector_unittest.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M mojo/public/cpp/bindings/tests/validation_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/cpp/system/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/cpp/system/handle.h View 2 chunks +9 lines, -5 lines 0 comments Download
A mojo/public/cpp/system/message.h View 1 chunk +76 lines, -0 lines 0 comments Download
A + mojo/public/cpp/system/message.cc View 1 chunk +5 lines, -5 lines 0 comments Download
M mojo/public/cpp/system/message_pipe.h View 2 chunks +28 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (4 generated)
Ken Rockot(use gerrit already)
Yuzhu, please take a look. I have opted to eliminate PickleBuffer, which means native struct ...
4 years, 7 months ago (2016-04-28 22:46:54 UTC) #2
yzshen1
LGTM with a few nits. https://codereview.chromium.org/1932083002/diff/1/mojo/public/cpp/bindings/lib/message.cc File mojo/public/cpp/bindings/lib/message.cc (right): https://codereview.chromium.org/1932083002/diff/1/mojo/public/cpp/bindings/lib/message.cc#newcode58 mojo/public/cpp/bindings/lib/message.cc:58: // behavior to collect ...
4 years, 7 months ago (2016-04-29 16:50:20 UTC) #3
Ken Rockot(use gerrit already)
Thanks! https://codereview.chromium.org/1932083002/diff/1/mojo/public/cpp/bindings/lib/message.cc File mojo/public/cpp/bindings/lib/message.cc (right): https://codereview.chromium.org/1932083002/diff/1/mojo/public/cpp/bindings/lib/message.cc#newcode58 mojo/public/cpp/bindings/lib/message.cc:58: // behavior to collect handle counts. It's unoptimized ...
4 years, 7 months ago (2016-04-29 17:37:13 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932083002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932083002/20001
4 years, 7 months ago (2016-04-29 17:37:59 UTC) #7
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-04-29 18:46:56 UTC) #8
commit-bot: I haz the power
4 years, 7 months ago (2016-04-30 17:27:39 UTC) #9
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/596231c83a488a54e994a43417e617c864730b3a
Cr-Commit-Position: refs/heads/master@{#390709}

Powered by Google App Engine
This is Rietveld 408576698