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

Unified Diff: chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc

Issue 502973005: [fsp] Buffer consecutive Write() calls. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc
diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc b/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc
index 5cd5e30c6e40a9dfe6eec6ea8f9bd98d8eb8390f..148b2715391c6ae300190e5a9826b3ede7a1e511 100644
--- a/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc
@@ -6,6 +6,7 @@
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/file_system_provider/fileapi/buffering_file_stream_reader.h"
+#include "chrome/browser/chromeos/file_system_provider/fileapi/buffering_file_stream_writer.h"
#include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.h"
#include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.h"
#include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h"
@@ -24,6 +25,10 @@ namespace {
// be read ahead of the requested data.
const int kReaderBufferSize = 512 * 1024; // 512KB.
+// Size of the stream writer internal buffer. At most this number of bytes will
+// be postponed for writing.
+const int kWriterBufferSize = 512 * 1024; // 512KB.
+
} // namespace
BackendDelegate::BackendDelegate()
@@ -59,8 +64,9 @@ scoped_ptr<storage::FileStreamWriter> BackendDelegate::CreateFileStreamWriter(
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK_EQ(storage::kFileSystemTypeProvided, url.type());
- return scoped_ptr<storage::FileStreamWriter>(
- new FileStreamWriter(url, offset));
+ return scoped_ptr<storage::FileStreamWriter>(new BufferingFileStreamWriter(
+ scoped_ptr<storage::FileStreamWriter>(new FileStreamWriter(url, offset)),
+ kWriterBufferSize));
}
} // namespace file_system_provider

Powered by Google App Engine
This is Rietveld 408576698