From 532a103ef8286a476550e8d2a8f9ab19e7e15c22 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sat, 14 Jul 2012 02:23:45 -0700 Subject: [PATCH] Function to check if a peer has a ledger. --- src/Peer.cpp | 5 +++++ src/Peer.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/Peer.cpp b/src/Peer.cpp index 6ac18e8793..939c9cef16 100644 --- a/src/Peer.cpp +++ b/src/Peer.cpp @@ -1113,6 +1113,11 @@ void Peer::recvLedger(newcoin::TMLedgerData& packet) punishPeer(PP_UNWANTED_DATA); } +bool Peer::hasLedger(const uint256& hash) const +{ + return (hash == mClosedLedgerHash) || (hash == mPreviousLedgerHash); +} + // Get session information we can sign to prevent man in the middle attack. // (both sides get the same information, neither side controls it) void Peer::getSessionCookie(std::string& strDst) diff --git a/src/Peer.h b/src/Peer.h index f06a8c3faa..13cf6b79bc 100644 --- a/src/Peer.h +++ b/src/Peer.h @@ -159,6 +159,7 @@ public: static PackedMessage::pointer createGetFullLedger(uint256& hash); uint256 getClosedLedgerHash() const { return mClosedLedgerHash; } + bool hasLedger(const uint256& hash) const; NewcoinAddress getNodePublic() const { return mNodePublic; } void cycleStatus() { mPreviousLedgerHash = mClosedLedgerHash; mClosedLedgerHash.zero(); } };