Pārlūkot izejas kodu

2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Erase peer before executing onReturningPeer and onErasingPeer
	because choking algorithm called from onReturningPeer doesn't
	like erasing peer in the active peer list.
	* src/DefaultPeerStorage.cc
Tatsuhiro Tsujikawa 17 gadi atpakaļ
vecāks
revīzija
c1a3bba6f8
2 mainītis faili ar 10 papildinājumiem un 3 dzēšanām
  1. 7 0
      ChangeLog
  2. 3 3
      src/DefaultPeerStorage.cc

+ 7 - 0
ChangeLog

@@ -1,3 +1,10 @@
+2008-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Erase peer before executing onReturningPeer and onErasingPeer
+	because choking algorithm called from onReturningPeer doesn't
+	like erasing peer in the active peer list.
+	* src/DefaultPeerStorage.cc
+
 2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Instead of creating special filename in createDownloadResult() if

+ 3 - 3
src/DefaultPeerStorage.cc

@@ -247,10 +247,10 @@ void DefaultPeerStorage::returnPeer(const PeerHandle& peer)
   if(itr == peers.end()) {
     logger->debug("Cannot find peer %s:%u in PeerStorage.", peer->ipaddr.c_str(), peer->port);
   } else {
-    onReturningPeer(peer);
-
-    onErasingPeer(*itr);
     peers.erase(itr);
+
+    onReturningPeer(peer);
+    onErasingPeer(peer);
   }
 }