From 2dfee3dc49463286854aa3e20ab0398b3c8adb57 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 23 Feb 2009 13:27:08 +0000 Subject: 2009-02-23 Tatsuhiro Tsujikawa In BitTorrent, Open files in read-only mode for hash check. After that, re-open file in read/write mode only when the download is not finished. * src/AbstractDiskWriter.cc * src/AbstractDiskWriter.h * src/AbstractSingleDiskAdaptor.cc * src/AbstractSingleDiskAdaptor.h * src/BtCheckIntegrityEntry.cc * src/DiskAdaptor.h * src/DiskWriter.h * src/MultiDiskAdaptor.cc * src/MultiDiskAdaptor.h * src/RequestGroup.cc --- src/AbstractDiskWriter.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/AbstractDiskWriter.h') diff --git a/src/AbstractDiskWriter.h b/src/AbstractDiskWriter.h index d459ee48..ef967687 100644 --- a/src/AbstractDiskWriter.h +++ b/src/AbstractDiskWriter.h @@ -46,6 +46,9 @@ class AbstractDiskWriter : public DiskWriter { protected: std::string filename; int fd; + + bool _readOnly; + Logger* logger; void createFile(const std::string& filename, int addFlags = 0); @@ -55,7 +58,6 @@ private: ssize_t readDataInternal(unsigned char* data, size_t len); void seek(off_t offset); - public: AbstractDiskWriter(); virtual ~AbstractDiskWriter(); @@ -77,6 +79,10 @@ public: virtual void enableDirectIO(); virtual void disableDirectIO(); + + virtual void enableReadOnly(); + + virtual void disableReadOnly(); }; } // namespace aria2 -- cgit