summaryrefslogtreecommitdiff
path: root/src/DefaultPeerStorage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-11-11 07:33:43 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-11-11 07:33:43 +0000
commitbc98e39fe5ed30c03ba3af36f46f74e10f03e635 (patch)
tree15b13a4dd63c0f5a3892c80aba7d0a4d72da65f4 /src/DefaultPeerStorage.cc
parentbcf4593bda20504f026e359413f226519cbb8d37 (diff)
2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
To match the behavior of friend operator functions in SharedHandle.h to std::tr1::shared_ptr, we intentionally broke these functions and modified code so that our code does not depend on old behavior. * src/AbstractCommand.cc * src/DHTAbstractNodeLookupTask.h * src/DHTBucket.cc * src/DHTMessageReceiver.cc * src/DHTNodeLookupEntry.cc * src/DHTRoutingTable.cc * src/DefaultBtRequestFactory.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/DownloadContext.cc * src/EpollEventPoll.cc * src/Event.h * src/HttpConnection.cc * src/KqueueEventPoll.cc * src/MultiDiskAdaptor.cc * src/PeerAbstractCommand.cc * src/PieceStatMan.cc * src/PollEventPoll.cc * src/PortEventPoll.cc * src/SegmentMan.cc * src/SelectEventPoll.cc * src/SelectEventPoll.h * src/ServerStatMan.cc * src/SharedHandle.h * src/UnknownLengthPieceStorage.cc * src/a2functional.h * src/option_processing.cc * src/version_usage.cc * test/BNodeTest.cc * test/DHTAnnouncePeerMessageTest.cc * test/DHTBucketTest.cc * test/DHTFindNodeMessageTest.cc * test/DHTGetPeersMessageTest.cc * test/DHTIDCloserTest.cc * test/DHTMessageFactoryImplTest.cc * test/DHTPingMessageTest.cc * test/DefaultBtRequestFactoryTest.cc * test/DefaultPeerStorageTest.cc * test/SequentialPickerTest.cc * test/SingletonHolderTest.cc
Diffstat (limited to 'src/DefaultPeerStorage.cc')
-rw-r--r--src/DefaultPeerStorage.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/DefaultPeerStorage.cc b/src/DefaultPeerStorage.cc
index a565a82a..eebac966 100644
--- a/src/DefaultPeerStorage.cc
+++ b/src/DefaultPeerStorage.cc
@@ -45,6 +45,7 @@
#include "BtLeecherStateChoke.h"
#include "PieceStorage.h"
#include "wallclock.h"
+#include "a2functional.h"
namespace aria2 {
@@ -75,7 +76,7 @@ public:
FindIdenticalPeer(const SharedHandle<Peer>& peer):peer_(peer) {}
bool operator()(const SharedHandle<Peer>& peer) const {
- return (peer_ == peer) ||
+ return (*peer_ == *peer) ||
((peer_->getIPAddress() == peer->getIPAddress()) &&
(peer_->getPort() == peer->getPort()));
}
@@ -337,7 +338,7 @@ void DefaultPeerStorage::onReturningPeer(const SharedHandle<Peer>& peer)
void DefaultPeerStorage::returnPeer(const SharedHandle<Peer>& peer)
{
std::deque<SharedHandle<Peer> >::iterator itr =
- std::find(peers_.begin(), peers_.end(), peer);
+ std::find_if(peers_.begin(), peers_.end(), derefEqual(peer));
if(itr == peers_.end()) {
if(logger_->debug()) {
logger_->debug("Cannot find peer %s:%u in PeerStorage.",