summaryrefslogtreecommitdiffstats
path: root/device/media_transfer_protocol
diff options
context:
space:
mode:
authortommycli@chromium.org <tommycli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-28 00:03:10 +0000
committertommycli@chromium.org <tommycli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-28 00:03:10 +0000
commite0391410239e63401da633aba7eddb2e53fe729f (patch)
tree59a48325dee3b6dc2ce5c4ad444acf2af46cce61 /device/media_transfer_protocol
parent1218e9e6c031c5d38ea860f0d1105908bceb5384 (diff)
downloadchromium_src-e0391410239e63401da633aba7eddb2e53fe729f.zip
chromium_src-e0391410239e63401da633aba7eddb2e53fe729f.tar.gz
chromium_src-e0391410239e63401da633aba7eddb2e53fe729f.tar.bz2
MTP Streaming: Optimize block reading
Previously, due to some unoptimal code, we were doing two mtp stats per block. This cuts it down to one mtp stat per block. Still not quite there, but working on it... BUG=110119 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/180783005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253980 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'device/media_transfer_protocol')
-rw-r--r--device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc
index 5df7ef0..4edfc60 100644
--- a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc
+++ b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc
@@ -19,6 +19,7 @@ namespace device {
namespace {
const char kInvalidResponseMsg[] = "Invalid Response: ";
+uint32 kMaxChunkSize = 1024*1024; // D-Bus has message size limits.
// The MediaTransferProtocolDaemonClient implementation.
class MediaTransferProtocolDaemonClientImpl
@@ -140,6 +141,7 @@ class MediaTransferProtocolDaemonClientImpl
uint32 bytes_to_read,
const ReadFileCallback& callback,
const ErrorCallback& error_callback) OVERRIDE {
+ DCHECK_LE(bytes_to_read, kMaxChunkSize);
dbus::MethodCall method_call(mtpd::kMtpdInterface,
mtpd::kReadFileChunkByPath);
dbus::MessageWriter writer(&method_call);
@@ -162,6 +164,7 @@ class MediaTransferProtocolDaemonClientImpl
uint32 bytes_to_read,
const ReadFileCallback& callback,
const ErrorCallback& error_callback) OVERRIDE {
+ DCHECK_LE(bytes_to_read, kMaxChunkSize);
dbus::MethodCall method_call(mtpd::kMtpdInterface,
mtpd::kReadFileChunkById);
dbus::MessageWriter writer(&method_call);