2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Removed directIOAllowed() from BinaryStream, DiskWriter,
	DiskAdaptor.  setDirectIOAllowed() was renamed as
	allowDirectIO().
	Removed _directIOAllowed member from DiskWriter.
	* src/AbstractDiskWriter.cc
	* src/AbstractDiskWriter.h
	* src/AbstractSingleDiskAdaptor.cc
	* src/AbstractSingleDiskAdaptor.h
	* src/BinaryStream.h
	* src/ByteArrayDiskWriter.h
	* src/DefaultPieceStorage.cc
	* src/DiskWriter.h
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
pull/1/head
Tatsuhiro Tsujikawa 2009-05-04 08:11:40 +00:00
parent c1aef8e2d1
commit e1f32b6b66
11 changed files with 34 additions and 37 deletions

View File

@ -1,3 +1,19 @@
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed directIOAllowed() from BinaryStream, DiskWriter,
DiskAdaptor. setDirectIOAllowed() was renamed as allowDirectIO().
Removed _directIOAllowed member from DiskWriter.
* src/AbstractDiskWriter.cc
* src/AbstractDiskWriter.h
* src/AbstractSingleDiskAdaptor.cc
* src/AbstractSingleDiskAdaptor.h
* src/BinaryStream.h
* src/ByteArrayDiskWriter.h
* src/DefaultPieceStorage.cc
* src/DiskWriter.h
* src/MultiDiskAdaptor.cc
* src/MultiDiskAdaptor.h
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Now the constructor of AbstractDiskWriter takes filename as an

View File

@ -60,6 +60,7 @@ AbstractDiskWriter::AbstractDiskWriter(const std::string& filename):
_filename(filename),
fd(-1),
_readOnly(false),
_directIOAllowed(false),
logger(LogFactory::getInstance()) {}
AbstractDiskWriter::~AbstractDiskWriter()

View File

@ -49,6 +49,8 @@ protected:
bool _readOnly;
bool _directIOAllowed;
Logger* logger;
void createFile(int addFlags = 0);
@ -85,6 +87,8 @@ public:
virtual void disableDirectIO();
virtual void allowDirectIO() { _directIOAllowed = true; }
virtual void enableReadOnly();
virtual void disableReadOnly();

View File

@ -119,11 +119,6 @@ void AbstractSingleDiskAdaptor::disableDirectIO()
diskWriter->disableDirectIO();
}
bool AbstractSingleDiskAdaptor::directIOAllowed() const
{
return diskWriter->directIOAllowed();
}
void AbstractSingleDiskAdaptor::enableReadOnly()
{
diskWriter->enableReadOnly();

View File

@ -77,8 +77,6 @@ public:
virtual void disableDirectIO();
virtual bool directIOAllowed() const;
// Make sure that DiskWriter is set before calling this function.
virtual void enableReadOnly();

View File

@ -62,8 +62,6 @@ public:
virtual void enableDirectIO() = 0;
virtual void disableDirectIO() = 0;
virtual bool directIOAllowed() const = 0;
};
typedef SharedHandle<BinaryStream> BinaryStreamHandle;

View File

@ -66,11 +66,6 @@ public:
virtual void disableDirectIO() {}
virtual bool directIOAllowed() const
{
return false;
}
void setString(const std::string& s)
{
buf.str(s);

View File

@ -491,7 +491,9 @@ void DefaultPieceStorage::initStorage()
DiskWriterHandle writer =
_diskWriterFactory->newDiskWriter(directDiskAdaptor->getFilePath());
writer->setDirectIOAllowed(option->getAsBool(PREF_ENABLE_DIRECT_IO));
if(option->getAsBool(PREF_ENABLE_DIRECT_IO)) {
writer->allowDirectIO();
}
directDiskAdaptor->setDiskWriter(writer);
this->diskAdaptor = directDiskAdaptor;
@ -500,7 +502,9 @@ void DefaultPieceStorage::initStorage()
logger->debug("Instantiating MultiDiskAdaptor");
MultiDiskAdaptorHandle multiDiskAdaptor(new MultiDiskAdaptor());
multiDiskAdaptor->setFileEntries(downloadContext->getFileEntries());
multiDiskAdaptor->setDirectIOAllowed(option->getAsBool(PREF_ENABLE_DIRECT_IO));
if(option->getAsBool(PREF_ENABLE_DIRECT_IO)) {
multiDiskAdaptor->allowDirectIO();
}
multiDiskAdaptor->setPieceLength(downloadContext->getPieceLength());
multiDiskAdaptor->setMaxOpenFiles(option->getAsInt(PREF_BT_MAX_OPEN_FILES));
this->diskAdaptor = multiDiskAdaptor;

View File

@ -44,11 +44,8 @@ namespace aria2 {
*
*/
class DiskWriter:public BinaryStream {
protected:
bool _directIOAllowed;
public:
DiskWriter():_directIOAllowed(false) {}
DiskWriter() {}
virtual ~DiskWriter() {}
/**
@ -77,15 +74,7 @@ public:
virtual void disableDirectIO() = 0;
virtual bool directIOAllowed() const
{
return _directIOAllowed;
}
void setDirectIOAllowed(bool f)
{
_directIOAllowed = f;
}
virtual void allowDirectIO() {}
// Enables read-only mode. After this call, openExistingFile() opens
// file in read-only mode. This is an optional functionality. The

View File

@ -273,7 +273,9 @@ void MultiDiskAdaptor::resetDiskWriterEntries()
logger->debug("Creating DiskWriter for filename=%s",
(*i)->getFilePath().c_str());
(*i)->setDiskWriter(dwFactory.newDiskWriter((*i)->getFilePath()));
(*i)->getDiskWriter()->setDirectIOAllowed(_directIOAllowed);
if(_directIOAllowed) {
(*i)->getDiskWriter()->allowDirectIO();
}
if(_readOnly) {
(*i)->getDiskWriter()->enableReadOnly();
}

View File

@ -165,14 +165,9 @@ public:
return pieceLength;
}
virtual bool directIOAllowed() const
void allowDirectIO()
{
return _directIOAllowed;
}
void setDirectIOAllowed(bool b)
{
_directIOAllowed = b;
_directIOAllowed = true;
}
virtual void cutTrailingGarbage();