From 1de7ef20581dd5634d2366cc438b2136b18df3b4 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Fri, 29 Mar 2013 16:53:15 -0700 Subject: [PATCH] Small tweak. --- src/cpp/ripple/Pathfinder.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cpp/ripple/Pathfinder.cpp b/src/cpp/ripple/Pathfinder.cpp index 78280190c..50e5fd76a 100644 --- a/src/cpp/ripple/Pathfinder.cpp +++ b/src/cpp/ripple/Pathfinder.cpp @@ -84,13 +84,20 @@ typedef boost::tuple path_LQ_t; // Lower numbers have better quality. Sort higher quality first. static bool bQualityCmp(const path_LQ_t& a, const path_LQ_t&b) { + // 1) Higher quality (lower cost) is better if (a.get<0>() != b.get<0>()) return a.get<0>() < b.get<0>(); + // 2) More liquidity (higher volume) is better + if (a.get<2>() != b.get<2>()) + return a.get<2>() > b.get<2>(); + + // 3) Shorter paths are better if (a.get<1>() != b.get<1>()) return a.get<1>() < b.get<1>(); - return a.get<2>() > b.get<2>(); + // 4) Tie breaker + return a.get<3>() > b.get<3>(); } // Return true, if path is a default path with an element.