summaryrefslogtreecommitdiff
path: root/src/DefaultBtMessageFactory.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-12-03 18:12:31 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-12-03 18:12:31 +0900
commitd1bb82806665314a57de60f291a2256bc1d687ad (patch)
treecda2c0d2dbfcfd84960d40ee6b40eb20b4a67f58 /src/DefaultBtMessageFactory.cc
parent6bf696ca112c0ce061fb1b6a351dd2227fbedb67 (diff)
Ignore peer which possibly sent bad data in next few minuts.
In aria2, one piece is downloaded from several peers, so when hash check failed for that piece, it cannot determine which peer(s) sent bad data. So, we ignore peer who sent last block of data in random minutes. We use randomized timeout because all peers get waken up at the almost same time.
Diffstat (limited to 'src/DefaultBtMessageFactory.cc')
-rw-r--r--src/DefaultBtMessageFactory.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/DefaultBtMessageFactory.cc b/src/DefaultBtMessageFactory.cc
index 7f1a733e..61c5e3a0 100644
--- a/src/DefaultBtMessageFactory.cc
+++ b/src/DefaultBtMessageFactory.cc
@@ -340,6 +340,7 @@ DefaultBtMessageFactory::createPieceMessage
pieceStorage_->getPieceLength(index)));
msg->setBtMessageValidator(validator);
msg->setDownloadContext(downloadContext_);
+ msg->setPeerStorage(peerStorage_);
setCommonProperty(msg);
return msg;
}