mirror of https://github.com/aria2/aria2
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs. * src/CheckIntegrityCommand.cc * src/FileAllocationCommand.cc * src/RealtimeCommand.hpull/1/head
parent
b357fd39fc
commit
d4dfb6c4a8
|
@ -1,3 +1,10 @@
|
|||
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Made protected member variable private. Added accessor funcs.
|
||||
* src/CheckIntegrityCommand.cc
|
||||
* src/FileAllocationCommand.cc
|
||||
* src/RealtimeCommand.h
|
||||
|
||||
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Made protected member variable private. Added accessor funcs.
|
||||
|
|
|
@ -60,59 +60,59 @@ CheckIntegrityCommand::~CheckIntegrityCommand() {}
|
|||
|
||||
bool CheckIntegrityCommand::executeInternal()
|
||||
{
|
||||
if(_requestGroup->isHaltRequested()) {
|
||||
_e->getCheckIntegrityMan()->dropPickedEntry();
|
||||
if(getRequestGroup()->isHaltRequested()) {
|
||||
getDownloadEngine()->getCheckIntegrityMan()->dropPickedEntry();
|
||||
return true;
|
||||
}
|
||||
_entry->validateChunk();
|
||||
if(_entry->finished()) {
|
||||
_e->getCheckIntegrityMan()->dropPickedEntry();
|
||||
getDownloadEngine()->getCheckIntegrityMan()->dropPickedEntry();
|
||||
// Enable control file saving here. See also
|
||||
// RequestGroup::processCheckIntegrityEntry() to know why this is
|
||||
// needed.
|
||||
_requestGroup->enableSaveControlFile();
|
||||
if(_requestGroup->downloadFinished()) {
|
||||
getRequestGroup()->enableSaveControlFile();
|
||||
if(getRequestGroup()->downloadFinished()) {
|
||||
getLogger()->notice
|
||||
(MSG_VERIFICATION_SUCCESSFUL,
|
||||
_requestGroup->getDownloadContext()->getBasePath().c_str());
|
||||
getRequestGroup()->getDownloadContext()->getBasePath().c_str());
|
||||
std::vector<Command*> commands;
|
||||
try {
|
||||
_entry->onDownloadFinished(commands, _e);
|
||||
_entry->onDownloadFinished(commands, getDownloadEngine());
|
||||
} catch(RecoverableException& e) {
|
||||
std::for_each(commands.begin(), commands.end(), Deleter());
|
||||
throw;
|
||||
}
|
||||
_e->addCommand(commands);
|
||||
getDownloadEngine()->addCommand(commands);
|
||||
} else {
|
||||
getLogger()->error
|
||||
(MSG_VERIFICATION_FAILED,
|
||||
_requestGroup->getDownloadContext()->getBasePath().c_str());
|
||||
getRequestGroup()->getDownloadContext()->getBasePath().c_str());
|
||||
std::vector<Command*> commands;
|
||||
try {
|
||||
_entry->onDownloadIncomplete(commands,_e);
|
||||
_entry->onDownloadIncomplete(commands, getDownloadEngine());
|
||||
} catch(RecoverableException& e) {
|
||||
std::for_each(commands.begin(), commands.end(), Deleter());
|
||||
throw;
|
||||
}
|
||||
_e->addCommand(commands);
|
||||
getDownloadEngine()->addCommand(commands);
|
||||
}
|
||||
_e->setNoWait(true);
|
||||
getDownloadEngine()->setNoWait(true);
|
||||
return true;
|
||||
} else {
|
||||
_e->addCommand(this);
|
||||
getDownloadEngine()->addCommand(this);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool CheckIntegrityCommand::handleException(Exception& e)
|
||||
{
|
||||
_e->getCheckIntegrityMan()->dropPickedEntry();
|
||||
getDownloadEngine()->getCheckIntegrityMan()->dropPickedEntry();
|
||||
getLogger()->error(MSG_FILE_VALIDATION_FAILURE, e,
|
||||
util::itos(getCuid()).c_str());
|
||||
getLogger()->error
|
||||
(MSG_DOWNLOAD_NOT_COMPLETE,
|
||||
util::itos(getCuid()).c_str(),
|
||||
_requestGroup->getDownloadContext()->getBasePath().c_str());
|
||||
getRequestGroup()->getDownloadContext()->getBasePath().c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -62,8 +62,8 @@ FileAllocationCommand::~FileAllocationCommand() {}
|
|||
|
||||
bool FileAllocationCommand::executeInternal()
|
||||
{
|
||||
if(_requestGroup->isHaltRequested()) {
|
||||
_e->getFileAllocationMan()->dropPickedEntry();
|
||||
if(getRequestGroup()->isHaltRequested()) {
|
||||
getDownloadEngine()->getFileAllocationMan()->dropPickedEntry();
|
||||
return true;
|
||||
}
|
||||
_fileAllocationEntry->allocateChunk();
|
||||
|
@ -72,34 +72,34 @@ bool FileAllocationCommand::executeInternal()
|
|||
getLogger()->debug
|
||||
(MSG_ALLOCATION_COMPLETED,
|
||||
_timer.difference(global::wallclock),
|
||||
util::itos(_requestGroup->getTotalLength(), true).c_str());
|
||||
util::itos(getRequestGroup()->getTotalLength(), true).c_str());
|
||||
}
|
||||
_e->getFileAllocationMan()->dropPickedEntry();
|
||||
getDownloadEngine()->getFileAllocationMan()->dropPickedEntry();
|
||||
|
||||
std::vector<Command*> commands;
|
||||
try {
|
||||
_fileAllocationEntry->prepareForNextAction(commands, _e);
|
||||
_fileAllocationEntry->prepareForNextAction(commands, getDownloadEngine());
|
||||
} catch(RecoverableException& e) {
|
||||
std::for_each(commands.begin(), commands.end(), Deleter());
|
||||
throw;
|
||||
}
|
||||
_e->addCommand(commands);
|
||||
_e->setNoWait(true);
|
||||
getDownloadEngine()->addCommand(commands);
|
||||
getDownloadEngine()->setNoWait(true);
|
||||
return true;
|
||||
} else {
|
||||
_e->addCommand(this);
|
||||
getDownloadEngine()->addCommand(this);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool FileAllocationCommand::handleException(Exception& e)
|
||||
{
|
||||
_e->getFileAllocationMan()->dropPickedEntry();
|
||||
getDownloadEngine()->getFileAllocationMan()->dropPickedEntry();
|
||||
getLogger()->error
|
||||
(MSG_FILE_ALLOCATION_FAILURE, e, util::itos(getCuid()).c_str());
|
||||
getLogger()->error
|
||||
(MSG_DOWNLOAD_NOT_COMPLETE, util::itos(getCuid()).c_str(),
|
||||
_requestGroup->getDownloadContext()->getBasePath().c_str());
|
||||
getRequestGroup()->getDownloadContext()->getBasePath().c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,9 +44,19 @@ class DownloadEngine;
|
|||
class Exception;
|
||||
|
||||
class RealtimeCommand : public Command {
|
||||
protected:
|
||||
private:
|
||||
RequestGroup* _requestGroup;
|
||||
DownloadEngine* _e;
|
||||
protected:
|
||||
DownloadEngine* getDownloadEngine() const
|
||||
{
|
||||
return _e;
|
||||
}
|
||||
|
||||
RequestGroup* getRequestGroup() const
|
||||
{
|
||||
return _requestGroup;
|
||||
}
|
||||
public:
|
||||
RealtimeCommand(cuid_t cuid, RequestGroup* requestGroup, DownloadEngine* e);
|
||||
|
||||
|
|
Loading…
Reference in New Issue