summaryrefslogtreecommitdiff
path: root/src/MultiDiskAdaptor.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-06-23 21:28:41 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-06-24 16:28:04 +0900
commit96720b297d50d290bda746fab75e0078ac5f975b (patch)
treef2176e1da9b38c69cb0cba9d495201907dbf4625 /src/MultiDiskAdaptor.cc
parent38426d744b918088a35e41afd6acbe86a904c441 (diff)
Added --enable-mmap option.
If this option is used, map files into memory using mmap(2). This option is experimental.
Diffstat (limited to 'src/MultiDiskAdaptor.cc')
-rw-r--r--src/MultiDiskAdaptor.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/MultiDiskAdaptor.cc b/src/MultiDiskAdaptor.cc
index 17f3198d..43bd3a82 100644
--- a/src/MultiDiskAdaptor.cc
+++ b/src/MultiDiskAdaptor.cc
@@ -119,7 +119,8 @@ bool DiskWriterEntry::operator<(const DiskWriterEntry& entry) const
MultiDiskAdaptor::MultiDiskAdaptor()
: pieceLength_(0),
maxOpenFiles_(DEFAULT_MAX_OPEN_FILES),
- readOnly_(false)
+ readOnly_(false),
+ enableMmap_(false)
{}
MultiDiskAdaptor::~MultiDiskAdaptor() {}
@@ -230,6 +231,9 @@ void MultiDiskAdaptor::resetDiskWriterEntries()
if(readOnly_) {
(*i)->getDiskWriter()->enableReadOnly();
}
+ if(enableMmap_) {
+ (*i)->getDiskWriter()->enableMmap();
+ }
}
}
}
@@ -451,6 +455,11 @@ void MultiDiskAdaptor::disableReadOnly()
readOnly_ = false;
}
+void MultiDiskAdaptor::enableMmap()
+{
+ enableMmap_ = true;
+}
+
void MultiDiskAdaptor::cutTrailingGarbage()
{
for(std::vector<SharedHandle<DiskWriterEntry> >::const_iterator i =