diff --git a/llarp/dht/tx.hpp b/llarp/dht/tx.hpp index 542707abd..4cef92464 100644 --- a/llarp/dht/tx.hpp +++ b/llarp/dht/tx.hpp @@ -98,25 +98,23 @@ namespace llarp // explicit next peer provided peer = *next; } - else if(!GetNextPeer(peer, peersAsked)) + else if(GetNextPeer(peer, peersAsked)) { - // no more peers - llarp::LogInfo("no more peers for request asking for ", target); - return false; - } - - const Key_t targetKey{target}; - if((prevPeer ^ targetKey) < (peer ^ targetKey)) - { - // next peer is not closer - llarp::LogInfo("next peer ", peer, " is not closer to ", target, - " than ", prevPeer); - return false; + const Key_t targetKey{target}; + if((prevPeer ^ targetKey) < (peer ^ targetKey)) + { + // next peer is not closer + llarp::LogInfo("next peer ", peer, " is not closer to ", target, + " than ", prevPeer); + return false; + } } else { - peersAsked.insert(peer); + llarp::LogInfo("no more peers for request asking for ", target); + return false; } + peersAsked.insert(peer); DoNextRequest(peer); return true; } diff --git a/test/dht/test_llarp_dht_tx.cpp b/test/dht/test_llarp_dht_tx.cpp index d2c268ee1..5a99cc468 100644 --- a/test/dht/test_llarp_dht_tx.cpp +++ b/test/dht/test_llarp_dht_tx.cpp @@ -118,7 +118,6 @@ TEST_F(TestDhtTx, ask_next_peer) const auto key0 = makeBuf< dht::Key_t >(0x00); const auto key1 = makeBuf< dht::Key_t >(0x01); const auto key2 = makeBuf< dht::Key_t >(0x02); - { // GetNextPeer fails EXPECT_CALL(tx, GetNextPeer(_, _)).WillOnce(Return(false));