diff --git a/src/LedgerConsensus.h b/src/LedgerConsensus.h index 980efb8a5b..ef2f7a9f00 100644 --- a/src/LedgerConsensus.h +++ b/src/LedgerConsensus.h @@ -1,6 +1,8 @@ #ifndef __LEDGER_CONSENSUS__ #define __LEDGER_CONSENSUS__ +#include + #include #include "key.h" @@ -69,6 +71,8 @@ protected: boost::unordered_map mComplete; boost::unordered_map mAcquiring; + // Peer sets + boost::unordered_map > > mPeerData; public: LedgerConsensus(Ledger::pointer previousLedger, Ledger::pointer currentLedger) : @@ -82,6 +86,14 @@ public: SHAMap::pointer getTransactionTree(const uint256& hash); TransactionAcquire::pointer getAcquiring(const uint256& hash); void acquireComplete(const uint256& hash); + + LCPosition::pointer getPeerPosition(const uint256& peer); + + // high-level functions + bool peerPosition(Peer::pointer peer, const Serializer& report); + bool peerHasSet(Peer::pointer peer, const std::vector& sets); + bool peerGaveNodes(Peer::pointer peer, const uint256& setHash, + const std::list& nodeIDs, const std::list< std::vector >& nodeData); };