Browse Source

2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Call ServerStat::setError() in AbstractCommand::onAbort() to
	effectively exclude failed server.
	* src/AbstractCommand.cc
Tatsuhiro Tsujikawa 16 years ago
parent
commit
91f15c4213
2 changed files with 10 additions and 0 deletions
  1. 6 0
      ChangeLog
  2. 4 0
      src/AbstractCommand.cc

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2009-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Call ServerStat::setError() in AbstractCommand::onAbort() to
+	effectively exclude failed server.
+	* src/AbstractCommand.cc
+	
 2009-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Added --index-out option to specify each file path for torrent.

+ 4 - 0
src/AbstractCommand.cc

@@ -214,6 +214,10 @@ bool AbstractCommand::prepareForRetry(time_t wait) {
 }
 
 void AbstractCommand::onAbort() {
+  // TODO This might be a problem if the failure is caused by proxy.
+  e->_requestGroupMan->getOrCreateServerStat(req->getHost(),
+					     req->getProtocol())->setError();
+
   logger->debug(MSG_UNREGISTER_CUID, cuid);
   //_segmentMan->unregisterId(cuid);
   if(!_requestGroup->getPieceStorage().isNull()) {