Execute choking algorithm when unchoked and interested peer is disconected. * src/DefaultPeerStorage.cc
@@ -1,3 +1,9 @@
+2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
+
+ Execute choking algorithm when unchoked and interested peer is
+ disconected.
+ * src/DefaultPeerStorage.cc
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added testcase for BtNotInterestedMessage from unchoked peer.
@@ -233,6 +233,11 @@ void DefaultPeerStorage::onReturningPeer(const SharedHandle<Peer>& peer)
if(peer->isActive()) {
removedPeerSessionDownloadLength += peer->getSessionDownloadLength();
removedPeerSessionUploadLength += peer->getSessionUploadLength();
+ // Execute choking algorithm if unchoked and interested peer is
+ // disconnected.
+ if(!peer->amChoking() && peer->peerInterested()) {
+ executeChoke();
+ }
}