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
pull/1/head
Tatsuhiro Tsujikawa 2010-06-09 14:21:10 +00:00
parent b357fd39fc
commit d4dfb6c4a8
4 changed files with 43 additions and 26 deletions

View File

@ -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.

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);