From 229969c566131fd2916e6e8b480a1a1f2cf3fb01 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 14 May 2012 13:34:40 -0700 Subject: [PATCH] Add virtual destructor. Add TransactionAcquire code. --- src/LedgerAcquire.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/LedgerAcquire.h b/src/LedgerAcquire.h index 3fb7c0c5a..424b4bcf9 100644 --- a/src/LedgerAcquire.h +++ b/src/LedgerAcquire.h @@ -25,6 +25,7 @@ protected: std::list< boost::weak_ptr > mPeers; PeerSet(const uint256& hash, int interval); + virtual ~PeerSet() { ; } public: const uint256& getHash() const { return mHash; } @@ -85,6 +86,29 @@ public: Peer::pointer); }; +class TransactionAcquire : public PeerSet, public boost::enable_shared_from_this +{ // A transaction set we are trying to acquire +public: + typedef boost::shared_ptr pointer; + +protected: + SHAMap::pointer mMap; + + void onTimer() { trigger(Peer::pointer()); } + void newPeer(Peer::pointer peer) { trigger(peer); } + + void done(); + void trigger(Peer::pointer); + boost::weak_ptr pmDowncast(); + +public: + TransactionAcquire(const uint256& hash); + SHAMap::pointer getMap(); + + bool takeNode(const std::list& IDs, const std::list >& data, + Peer::pointer); +}; + class LedgerAcquireMaster { protected: