diff --git a/LedgerAcquire.cpp b/LedgerAcquire.cpp index c19f74842..57d16f85b 100644 --- a/LedgerAcquire.cpp +++ b/LedgerAcquire.cpp @@ -51,7 +51,7 @@ void LedgerAcquire::peerHas(Peer::pointer ptr) it=mPeers.erase(it); else { - if(pr==ptr) return; // we already have this peer + if(pr->samePeer(ptr)) return; // we already have this peer ++it; } } @@ -69,7 +69,7 @@ void LedgerAcquire::badPeer(Peer::pointer ptr) it=mPeers.erase(it); else { - if(pr==ptr) + if(ptr->samePeer(pr)) { // We found a pointer to the bad peer mPeers.erase(it); return; diff --git a/Peer.h b/Peer.h index 99b5c442f..bec265e9d 100644 --- a/Peer.h +++ b/Peer.h @@ -35,7 +35,6 @@ protected: void processReadBuffer(); void start_read_header(); void start_read_body(unsigned msg_len); - void sendPacketForce(PackedMessage::pointer packet); @@ -77,6 +76,8 @@ public: void connected(const boost::system::error_code& error); void detach(); + bool samePeer(Peer::pointer p) { return samePeer(*p); } + bool samePeer(const Peer& p) { return this == &p; } void sendPacket(PackedMessage::pointer packet); void sendLedgerProposal(Ledger::pointer ledger);