mirror of https://github.com/aria2/aria2
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.hpull/1/head
parent
c1aef8e2d1
commit
e1f32b6b66
16
ChangeLog
16
ChangeLog
|
@ -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>
|
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Now the constructor of AbstractDiskWriter takes filename as an
|
Now the constructor of AbstractDiskWriter takes filename as an
|
||||||
|
|
|
@ -60,6 +60,7 @@ AbstractDiskWriter::AbstractDiskWriter(const std::string& filename):
|
||||||
_filename(filename),
|
_filename(filename),
|
||||||
fd(-1),
|
fd(-1),
|
||||||
_readOnly(false),
|
_readOnly(false),
|
||||||
|
_directIOAllowed(false),
|
||||||
logger(LogFactory::getInstance()) {}
|
logger(LogFactory::getInstance()) {}
|
||||||
|
|
||||||
AbstractDiskWriter::~AbstractDiskWriter()
|
AbstractDiskWriter::~AbstractDiskWriter()
|
||||||
|
|
|
@ -49,6 +49,8 @@ protected:
|
||||||
|
|
||||||
bool _readOnly;
|
bool _readOnly;
|
||||||
|
|
||||||
|
bool _directIOAllowed;
|
||||||
|
|
||||||
Logger* logger;
|
Logger* logger;
|
||||||
|
|
||||||
void createFile(int addFlags = 0);
|
void createFile(int addFlags = 0);
|
||||||
|
@ -85,6 +87,8 @@ public:
|
||||||
|
|
||||||
virtual void disableDirectIO();
|
virtual void disableDirectIO();
|
||||||
|
|
||||||
|
virtual void allowDirectIO() { _directIOAllowed = true; }
|
||||||
|
|
||||||
virtual void enableReadOnly();
|
virtual void enableReadOnly();
|
||||||
|
|
||||||
virtual void disableReadOnly();
|
virtual void disableReadOnly();
|
||||||
|
|
|
@ -119,11 +119,6 @@ void AbstractSingleDiskAdaptor::disableDirectIO()
|
||||||
diskWriter->disableDirectIO();
|
diskWriter->disableDirectIO();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AbstractSingleDiskAdaptor::directIOAllowed() const
|
|
||||||
{
|
|
||||||
return diskWriter->directIOAllowed();
|
|
||||||
}
|
|
||||||
|
|
||||||
void AbstractSingleDiskAdaptor::enableReadOnly()
|
void AbstractSingleDiskAdaptor::enableReadOnly()
|
||||||
{
|
{
|
||||||
diskWriter->enableReadOnly();
|
diskWriter->enableReadOnly();
|
||||||
|
|
|
@ -77,8 +77,6 @@ public:
|
||||||
|
|
||||||
virtual void disableDirectIO();
|
virtual void disableDirectIO();
|
||||||
|
|
||||||
virtual bool directIOAllowed() const;
|
|
||||||
|
|
||||||
// Make sure that DiskWriter is set before calling this function.
|
// Make sure that DiskWriter is set before calling this function.
|
||||||
virtual void enableReadOnly();
|
virtual void enableReadOnly();
|
||||||
|
|
||||||
|
|
|
@ -62,8 +62,6 @@ public:
|
||||||
virtual void enableDirectIO() = 0;
|
virtual void enableDirectIO() = 0;
|
||||||
|
|
||||||
virtual void disableDirectIO() = 0;
|
virtual void disableDirectIO() = 0;
|
||||||
|
|
||||||
virtual bool directIOAllowed() const = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef SharedHandle<BinaryStream> BinaryStreamHandle;
|
typedef SharedHandle<BinaryStream> BinaryStreamHandle;
|
||||||
|
|
|
@ -66,11 +66,6 @@ public:
|
||||||
|
|
||||||
virtual void disableDirectIO() {}
|
virtual void disableDirectIO() {}
|
||||||
|
|
||||||
virtual bool directIOAllowed() const
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setString(const std::string& s)
|
void setString(const std::string& s)
|
||||||
{
|
{
|
||||||
buf.str(s);
|
buf.str(s);
|
||||||
|
|
|
@ -491,7 +491,9 @@ void DefaultPieceStorage::initStorage()
|
||||||
|
|
||||||
DiskWriterHandle writer =
|
DiskWriterHandle writer =
|
||||||
_diskWriterFactory->newDiskWriter(directDiskAdaptor->getFilePath());
|
_diskWriterFactory->newDiskWriter(directDiskAdaptor->getFilePath());
|
||||||
writer->setDirectIOAllowed(option->getAsBool(PREF_ENABLE_DIRECT_IO));
|
if(option->getAsBool(PREF_ENABLE_DIRECT_IO)) {
|
||||||
|
writer->allowDirectIO();
|
||||||
|
}
|
||||||
|
|
||||||
directDiskAdaptor->setDiskWriter(writer);
|
directDiskAdaptor->setDiskWriter(writer);
|
||||||
this->diskAdaptor = directDiskAdaptor;
|
this->diskAdaptor = directDiskAdaptor;
|
||||||
|
@ -500,7 +502,9 @@ void DefaultPieceStorage::initStorage()
|
||||||
logger->debug("Instantiating MultiDiskAdaptor");
|
logger->debug("Instantiating MultiDiskAdaptor");
|
||||||
MultiDiskAdaptorHandle multiDiskAdaptor(new MultiDiskAdaptor());
|
MultiDiskAdaptorHandle multiDiskAdaptor(new MultiDiskAdaptor());
|
||||||
multiDiskAdaptor->setFileEntries(downloadContext->getFileEntries());
|
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->setPieceLength(downloadContext->getPieceLength());
|
||||||
multiDiskAdaptor->setMaxOpenFiles(option->getAsInt(PREF_BT_MAX_OPEN_FILES));
|
multiDiskAdaptor->setMaxOpenFiles(option->getAsInt(PREF_BT_MAX_OPEN_FILES));
|
||||||
this->diskAdaptor = multiDiskAdaptor;
|
this->diskAdaptor = multiDiskAdaptor;
|
||||||
|
|
|
@ -44,11 +44,8 @@ namespace aria2 {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class DiskWriter:public BinaryStream {
|
class DiskWriter:public BinaryStream {
|
||||||
protected:
|
|
||||||
bool _directIOAllowed;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DiskWriter():_directIOAllowed(false) {}
|
DiskWriter() {}
|
||||||
|
|
||||||
virtual ~DiskWriter() {}
|
virtual ~DiskWriter() {}
|
||||||
/**
|
/**
|
||||||
|
@ -77,15 +74,7 @@ public:
|
||||||
|
|
||||||
virtual void disableDirectIO() = 0;
|
virtual void disableDirectIO() = 0;
|
||||||
|
|
||||||
virtual bool directIOAllowed() const
|
virtual void allowDirectIO() {}
|
||||||
{
|
|
||||||
return _directIOAllowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setDirectIOAllowed(bool f)
|
|
||||||
{
|
|
||||||
_directIOAllowed = f;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Enables read-only mode. After this call, openExistingFile() opens
|
// Enables read-only mode. After this call, openExistingFile() opens
|
||||||
// file in read-only mode. This is an optional functionality. The
|
// file in read-only mode. This is an optional functionality. The
|
||||||
|
|
|
@ -273,7 +273,9 @@ void MultiDiskAdaptor::resetDiskWriterEntries()
|
||||||
logger->debug("Creating DiskWriter for filename=%s",
|
logger->debug("Creating DiskWriter for filename=%s",
|
||||||
(*i)->getFilePath().c_str());
|
(*i)->getFilePath().c_str());
|
||||||
(*i)->setDiskWriter(dwFactory.newDiskWriter((*i)->getFilePath()));
|
(*i)->setDiskWriter(dwFactory.newDiskWriter((*i)->getFilePath()));
|
||||||
(*i)->getDiskWriter()->setDirectIOAllowed(_directIOAllowed);
|
if(_directIOAllowed) {
|
||||||
|
(*i)->getDiskWriter()->allowDirectIO();
|
||||||
|
}
|
||||||
if(_readOnly) {
|
if(_readOnly) {
|
||||||
(*i)->getDiskWriter()->enableReadOnly();
|
(*i)->getDiskWriter()->enableReadOnly();
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,14 +165,9 @@ public:
|
||||||
return pieceLength;
|
return pieceLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual bool directIOAllowed() const
|
void allowDirectIO()
|
||||||
{
|
{
|
||||||
return _directIOAllowed;
|
_directIOAllowed = true;
|
||||||
}
|
|
||||||
|
|
||||||
void setDirectIOAllowed(bool b)
|
|
||||||
{
|
|
||||||
_directIOAllowed = b;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void cutTrailingGarbage();
|
virtual void cutTrailingGarbage();
|
||||||
|
|
Loading…
Reference in New Issue