|
@@ -64,6 +64,7 @@ bool TrackerWatcherCommand::execute() {
|
|
|
|
|
|
Command* TrackerWatcherCommand::createCommand() {
|
|
Command* TrackerWatcherCommand::createCommand() {
|
|
Command* command = 0;
|
|
Command* command = 0;
|
|
|
|
+
|
|
if(btAnnounce->isAnnounceReady()) {
|
|
if(btAnnounce->isAnnounceReady()) {
|
|
command = createRequestCommand(btAnnounce->getAnnounceUrl());
|
|
command = createRequestCommand(btAnnounce->getAnnounceUrl());
|
|
btAnnounce->announceStart(); // inside it, trackers++.
|
|
btAnnounce->announceStart(); // inside it, trackers++.
|
|
@@ -72,11 +73,13 @@ Command* TrackerWatcherCommand::createCommand() {
|
|
e->_requestGroupMan->removeStoppedGroup();
|
|
e->_requestGroupMan->removeStoppedGroup();
|
|
if(btAnnounce->isAllAnnounceFailed()) {
|
|
if(btAnnounce->isAllAnnounceFailed()) {
|
|
btAnnounce->resetAnnounce();
|
|
btAnnounce->resetAnnounce();
|
|
- // sleep a few seconds.
|
|
|
|
|
|
+ return 0;
|
|
|
|
+ } else if(btAnnounce->isAnnounceReady()) {
|
|
command =
|
|
command =
|
|
new SleepCommand(cuid, e,
|
|
new SleepCommand(cuid, e,
|
|
createRequestCommand(btAnnounce->getAnnounceUrl()),
|
|
createRequestCommand(btAnnounce->getAnnounceUrl()),
|
|
e->option->getAsInt(PREF_RETRY_WAIT));
|
|
e->option->getAsInt(PREF_RETRY_WAIT));
|
|
|
|
+ btAnnounce->announceStart(); // inside it, tracker++.
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return command;
|
|
return command;
|
|
@@ -94,7 +97,6 @@ Command* TrackerWatcherCommand::createRequestCommand(const string& url)
|
|
logger->error("CUID#%d - Cannot create tracker request.");
|
|
logger->error("CUID#%d - Cannot create tracker request.");
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
-
|
|
|
|
logger->info("CUID#%d - Creating new tracker request command #%d", cuid,
|
|
logger->info("CUID#%d - Creating new tracker request command #%d", cuid,
|
|
commands.front()->getCuid());
|
|
commands.front()->getCuid());
|
|
return commands.front();
|
|
return commands.front();
|