From 5f81c7c10fc78abfbb026a1f8167e1efa8755776 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 20 Jun 2013 19:53:57 -0700 Subject: [PATCH] Reduce exceptions during syncing. --- src/cpp/ripple/ripple_SHAMapSync.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/cpp/ripple/ripple_SHAMapSync.cpp b/src/cpp/ripple/ripple_SHAMapSync.cpp index 393b618850..61ec0f921c 100644 --- a/src/cpp/ripple/ripple_SHAMapSync.cpp +++ b/src/cpp/ripple/ripple_SHAMapSync.cpp @@ -322,11 +322,8 @@ SHAMapAddNode SHAMap::addKnownNode (const SHAMapNode& node, Blob const& rawNode, if (fullBelowCache.isPresent (iNode->getChildHash (branch))) return SHAMapAddNode::okay (); - try - { - iNode = getNodePointer (iNode->getChildNodeID (branch), iNode->getChildHash (branch), filter); - } - catch (SHAMapMissingNode&) + SHAMapTreeNode *nextNode = getNodePointerNT (iNode->getChildNodeID (branch), iNode->getChildHash (branch), filter); + if (!nextNode) { if (iNode->getDepth () != (node.getDepth () - 1)) { @@ -356,6 +353,7 @@ SHAMapAddNode SHAMap::addKnownNode (const SHAMapNode& node, Blob const& rawNode, mTNByID[node] = newNode; return SHAMapAddNode::useful (); } + iNode = nextNode; } WriteLog (lsTRACE, SHAMap) << "got node, already had it (late)";