2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Made protected member variable private. Added accessor funcs.
	* src/AutoSaveCommand.cc
	* src/BtStopDownloadCommand.cc
	* src/DHTAutoSaveCommand.cc
	* src/DHTBucketRefreshCommand.cc
	* src/DHTPeerAnnounceCommand.cc
	* src/DHTTokenUpdateCommand.cc
	* src/HaveEraseCommand.cc
	* src/TimeBasedCommand.h
	* src/TimedHaltCommand.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-06-09 14:15:10 +00:00
parent 43460a347f
commit b357fd39fc
10 changed files with 80 additions and 30 deletions

View File

@ -1,3 +1,16 @@
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
* src/AutoSaveCommand.cc
* src/BtStopDownloadCommand.cc
* src/DHTAutoSaveCommand.cc
* src/DHTBucketRefreshCommand.cc
* src/DHTPeerAnnounceCommand.cc
* src/DHTTokenUpdateCommand.cc
* src/HaveEraseCommand.cc
* src/TimeBasedCommand.h
* src/TimedHaltCommand.cc
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.

View File

@ -49,14 +49,15 @@ AutoSaveCommand::~AutoSaveCommand() {}
void AutoSaveCommand::preProcess()
{
if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) {
_exit = true;
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
enableExit();
}
}
void AutoSaveCommand::process()
{
_e->getRequestGroupMan()->save();
getDownloadEngine()->getRequestGroupMan()->save();
}
} // namespace aria2

View File

@ -57,14 +57,14 @@ BtStopDownloadCommand::BtStopDownloadCommand
void BtStopDownloadCommand::preProcess()
{
if(_btRuntime->isHalt() || _pieceStorage->downloadFinished()) {
_exit = true;
enableExit();
}
if(_checkPoint.difference(global::wallclock) >= _timeout) {
getLogger()->notice("GID#%s Stop downloading torrent due to"
" --bt-stop-timeout option.",
util::itos(_requestGroup->getGID()).c_str());
_requestGroup->setHaltRequested(true);
_exit = true;
enableExit();
}
}

View File

@ -61,16 +61,18 @@
namespace aria2 {
DHTAutoSaveCommand::DHTAutoSaveCommand(cuid_t cuid, DownloadEngine* e, time_t interval):
DHTAutoSaveCommand::DHTAutoSaveCommand
(cuid_t cuid, DownloadEngine* e, time_t interval):
TimeBasedCommand(cuid, e, interval) {}
DHTAutoSaveCommand::~DHTAutoSaveCommand() {}
void DHTAutoSaveCommand::preProcess()
{
if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) {
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
save();
_exit = true;
enableExit();
}
}
@ -81,7 +83,8 @@ void DHTAutoSaveCommand::process()
void DHTAutoSaveCommand::save()
{
std::string dhtFile = _e->getOption()->get(PREF_DHT_FILE_PATH);
std::string dhtFile =
getDownloadEngine()->getOption()->get(PREF_DHT_FILE_PATH);
getLogger()->info("Saving DHT routing table to %s.", dhtFile.c_str());
std::string tempFile = dhtFile;
@ -142,7 +145,8 @@ void DHTAutoSaveCommand::setLocalNode(const SharedHandle<DHTNode>& localNode)
_localNode = localNode;
}
void DHTAutoSaveCommand::setRoutingTable(const SharedHandle<DHTRoutingTable>& routingTable)
void DHTAutoSaveCommand::setRoutingTable
(const SharedHandle<DHTRoutingTable>& routingTable)
{
_routingTable = routingTable;
}

View File

@ -54,7 +54,10 @@ DHTBucketRefreshCommand::~DHTBucketRefreshCommand() {}
void DHTBucketRefreshCommand::preProcess()
{
_exit = _e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested();
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
enableExit();
}
}
void DHTBucketRefreshCommand::process()
@ -62,17 +65,20 @@ void DHTBucketRefreshCommand::process()
_taskQueue->addPeriodicTask1(_taskFactory->createBucketRefreshTask());
}
void DHTBucketRefreshCommand::setRoutingTable(const SharedHandle<DHTRoutingTable>& routingTable)
void DHTBucketRefreshCommand::setRoutingTable
(const SharedHandle<DHTRoutingTable>& routingTable)
{
_routingTable = routingTable;
}
void DHTBucketRefreshCommand::setTaskQueue(const SharedHandle<DHTTaskQueue>& taskQueue)
void DHTBucketRefreshCommand::setTaskQueue
(const SharedHandle<DHTTaskQueue>& taskQueue)
{
_taskQueue = taskQueue;
}
void DHTBucketRefreshCommand::setTaskFactory(const SharedHandle<DHTTaskFactory>& taskFactory)
void DHTBucketRefreshCommand::setTaskFactory
(const SharedHandle<DHTTaskFactory>& taskFactory)
{
_taskFactory = taskFactory;
}

View File

@ -54,7 +54,10 @@ DHTPeerAnnounceCommand::~DHTPeerAnnounceCommand() {}
void DHTPeerAnnounceCommand::preProcess()
{
_exit = _e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested();
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
enableExit();
}
}
void DHTPeerAnnounceCommand::process()
@ -66,7 +69,8 @@ void DHTPeerAnnounceCommand::process()
}
}
void DHTPeerAnnounceCommand::setPeerAnnounceStorage(const SharedHandle<DHTPeerAnnounceStorage>& storage)
void DHTPeerAnnounceCommand::setPeerAnnounceStorage
(const SharedHandle<DHTPeerAnnounceStorage>& storage)
{
_peerAnnounceStorage = storage;
}

View File

@ -55,7 +55,10 @@ DHTTokenUpdateCommand::~DHTTokenUpdateCommand() {}
void DHTTokenUpdateCommand::preProcess()
{
_exit = _e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested();
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
enableExit();
}
}
void DHTTokenUpdateCommand::process()

View File

@ -51,17 +51,20 @@ HaveEraseCommand::~HaveEraseCommand() {}
void HaveEraseCommand::preProcess()
{
if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) {
_exit = true;
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
enableExit();
}
}
void HaveEraseCommand::process()
{
size_t numLoop = _e->getRequestGroupMan()->countRequestGroup();
size_t numLoop =
getDownloadEngine()->getRequestGroupMan()->countRequestGroup();
for(size_t i = 0; i < numLoop; ++i) {
PieceStorageHandle ps =
_e->getRequestGroupMan()->getRequestGroup(i)->getPieceStorage();
getDownloadEngine()->getRequestGroupMan()->getRequestGroup(i)->
getPieceStorage();
if(!ps.isNull()) {
ps->removeAdvertisedPiece(5);
}

View File

@ -44,7 +44,7 @@ class DownloadEngine;
class TimeBasedCommand : public Command
{
protected:
private:
DownloadEngine* _e;
/**
@ -59,8 +59,23 @@ protected:
time_t _interval; // unit: sec
bool _routineCommand;
private:
Timer _checkPoint;
protected:
DownloadEngine* getDownloadEngine() const
{
return _e;
}
void enableExit()
{
_exit = true;
}
time_t getInterval() const
{
return _interval;
}
public:
/**
* preProcess() is called each time when excute() is called.

View File

@ -54,22 +54,23 @@ TimedHaltCommand::~TimedHaltCommand() {}
void TimedHaltCommand::preProcess()
{
if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) {
_exit = true;
if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() ||
getDownloadEngine()->isHaltRequested()) {
enableExit();
}
}
void TimedHaltCommand::process()
{
if(!_e->isHaltRequested()) {
getLogger()->notice(MSG_TIME_HAS_PASSED, _interval);
if(!getDownloadEngine()->isHaltRequested()) {
getLogger()->notice(MSG_TIME_HAS_PASSED, getInterval());
if(_forceHalt) {
getLogger()->notice("This is emergency shutdown.");
_e->requestForceHalt();
getDownloadEngine()->requestForceHalt();
} else {
_e->requestHalt();
getDownloadEngine()->requestHalt();
}
_exit = true;
enableExit();
}
}