First set of efficiency improvements.

This commit is contained in:
JoelKatz
2012-06-04 07:18:57 -07:00
parent 27241a9a5c
commit 0e7307200e
6 changed files with 78 additions and 14 deletions

View File

@@ -11,7 +11,8 @@
#define TRUST_NETWORK
TransactionAcquire::TransactionAcquire(const uint256& hash) : PeerSet(hash, 1), mHaveRoot(false)
TransactionAcquire::TransactionAcquire(const uint256& hash)
: PeerSet(hash, 1), mFilter(&theApp->getNodeCache()), mHaveRoot(false)
{
mMap = boost::make_shared<SHAMap>();
mMap->setSynching();
@@ -48,7 +49,7 @@ void TransactionAcquire::trigger(Peer::pointer peer)
Log(lsTRACE) << "Have root";
std::vector<SHAMapNode> nodeIDs;
std::vector<uint256> nodeHashes;
mMap->getMissingNodes(nodeIDs, nodeHashes, 256);
mMap->getMissingNodes(nodeIDs, nodeHashes, 256, &mFilter);
if (nodeIDs.empty())
{
if (mMap->isValid())
@@ -100,7 +101,7 @@ bool TransactionAcquire::takeNodes(const std::list<SHAMapNode>& nodeIDs,
return false;
else mHaveRoot = true;
}
else if (!mMap->addKnownNode(*nodeIDit, *nodeDatait))
else if (!mMap->addKnownNode(*nodeIDit, *nodeDatait, &mFilter))
return false;
++nodeIDit;
++nodeDatait;