New issue
Advanced search Search tips

Issue 614564 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Aug 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 600719



Sign in to add a comment

Use shared memory instead of inline byte arrays for moving blobs

Project Member Reported by kmarshall@chromium.org, May 25 2016

Issue description

The initial implementation of the BlobChannel Mojo service moves blobs as byte arrays over a MessagePipe. This is not ideal as it gums up the renderer/browser IPC channel. We should pass shared memory buffers over the message pipe for our bulk data transfer needs.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ca6057dcb4c724085356bda1706b48cf54e08fba

commit ca6057dcb4c724085356bda1706b48cf54e08fba
Author: kmarshall <kmarshall@chromium.org>
Date: Mon Jul 18 18:39:16 2016

Use shared memory for moving data over BlobChannel Mojo interface.

* Change BlobChannel PutBlob() Mojo IDL to use shared memory handles
  instead of a byte array.
* Create "SharedMemoryBlob" class for encapsulating Mojo shared
  memory initialization and lifetime management semantics.
* Add BlobChannelSenderProxy class, which manages interactions with the renderer side of the BlobChannel IPC interface.
* Add Blimp-specific run_all_unittests.cc, which bootstraps the Mojo environment before executing unittests.

R=wez@chromium.org
CC=maniscalco@chromium.org
BUG= 600719 , 614564 

Review-Url: https://codereview.chromium.org/2033013003
Cr-Commit-Position: refs/heads/master@{#406045}

[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/BUILD.gn
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/client/BUILD.gn
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/BUILD.gn
[add] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/mojo/OWNERS
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/mojo/blob_channel.mojom
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/mojo/blob_channel_service.cc
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/mojo/blob_channel_service.h
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/renderer/blob_channel_sender_proxy.cc
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/renderer/blob_channel_sender_proxy.h
[add] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/engine/renderer/blob_channel_sender_proxy_unittest.cc
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/net/BUILD.gn
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/net/blob_channel/blob_channel_sender.h
[add] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/net/blob_channel/mock_blob_channel_sender.cc
[add] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/net/blob_channel/mock_blob_channel_sender.h
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/test/BUILD.gn
[modify] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/test/DEPS
[add] https://crrev.com/ca6057dcb4c724085356bda1706b48cf54e08fba/blimp/test/run_all_unittests.cc

Status: Verified (was: Assigned)

Sign in to add a comment