From 349bbcee4ad69786495f98aee576658f9bc8b507 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 16 Feb 2012 14:12:05 -0800 Subject: [PATCH] Some missing LedgerAcquire functions. --- LedgerAcquire.cpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/LedgerAcquire.cpp b/LedgerAcquire.cpp index 945c0ed6c..b67353ecb 100644 --- a/LedgerAcquire.cpp +++ b/LedgerAcquire.cpp @@ -95,16 +95,37 @@ bool LedgerAcquire::takeBase(const std::vector& data) return true; } -bool LedgerAcquire::takeTxNode(const std::list& nodeIDs, const std::list >& data) +bool LedgerAcquire::takeTxNode(const std::list& nodeIDs, + const std::list >& data) { if(!mHaveBase) return false; - // WRITEME + std::list::const_iterator nodeIDit=nodeIDs.begin(); + std::list >::const_iterator nodeDatait=data.begin(); + while(nodeIDit!=nodeIDs.end()) + { + if(!mLedger->peekTransactionMap()->addKnownNode(*nodeIDit, *nodeDatait)) + return false; + ++nodeIDit; + ++nodeDatait; + } + if(!peekTransactionMap()->isSynching()) mHaveTransactions=true; return true; } -bool LedgerAcquire::takeAsNode(const std::list& hashes, const std::list >& data) +bool LedgerAcquire::takeAsNode(const std::list& nodeIDs, + const std::list >& data) { - // WRITEME + if(!mHaveBase) return false; + std::list::const_iterator nodeIDit=nodeIDs.begin(); + std::list >::const_iterator nodeDatait=data.begin(); + while(nodeIDit!=nodeIDs.end()) + { + if(!mLedger->peekAccountStateMap()->addKnownNode(*nodeIDit, *nodeDatait)) + return false; + ++nodeIDit; + ++nodeDatait; + } + if(!peekAccountStateMap()->isSynching()) mHaveState=true; return true; }