From 4e14567d6749d6c996fd9b6b5b410ff8fbf63e85 Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Fri, 19 Mar 2021 15:30:09 -0400 Subject: [PATCH] make Endpoint::LookupNameAsync return void --- llarp/handlers/tun.cpp | 40 ++++++++++++++++++++------------------ llarp/service/endpoint.cpp | 7 +++---- llarp/service/endpoint.hpp | 2 +- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/llarp/handlers/tun.cpp b/llarp/handlers/tun.cpp index 2cf56835d..3a533d2f4 100644 --- a/llarp/handlers/tun.cpp +++ b/llarp/handlers/tun.cpp @@ -483,7 +483,7 @@ namespace llarp } else if (service::NameIsValid(lnsName)) { - return LookupNameAsync(lnsName, [msg, lnsName, reply](auto maybe) mutable { + LookupNameAsync(lnsName, [msg, lnsName, reply](auto maybe) mutable { if (maybe.has_value()) { msg.AddMXReply(maybe->ToString(), 1); @@ -494,6 +494,7 @@ namespace llarp } reply(msg); }); + return true; } else msg.AddNXReply(); @@ -617,24 +618,25 @@ namespace llarp } else if (service::NameIsValid(lnsName)) { - return LookupNameAsync( - lnsName, - [msg = std::make_shared(msg), - name = Name(), - lnsName, - isV6, - reply, - ReplyToLokiDNSWhenReady](auto maybe) { - if (not maybe.has_value()) - { - LogWarn(name, " lns name ", lnsName, " not resolved"); - msg->AddNXReply(); - reply(*msg); - return; - } - LogInfo(name, " ", lnsName, " resolved to ", maybe->ToString()); - ReplyToLokiDNSWhenReady(*maybe, msg, isV6); - }); + LookupNameAsync( + lnsName, + [msg = std::make_shared(msg), + name = Name(), + lnsName, + isV6, + reply, + ReplyToLokiDNSWhenReady](auto maybe) { + if (not maybe.has_value()) + { + LogWarn(name, " lns name ", lnsName, " not resolved"); + msg->AddNXReply(); + reply(*msg); + return; + } + LogInfo(name, " ", lnsName, " resolved to ", maybe->ToString()); + ReplyToLokiDNSWhenReady(*maybe, msg, isV6); + }); + return true; } else msg.AddNXReply(); diff --git a/llarp/service/endpoint.cpp b/llarp/service/endpoint.cpp index 5898679b1..2291d617b 100644 --- a/llarp/service/endpoint.cpp +++ b/llarp/service/endpoint.cpp @@ -798,7 +798,7 @@ namespace llarp return not m_ExitMap.Empty(); } - bool + void Endpoint::LookupNameAsync(std::string name, std::function)> handler) { auto& cache = m_state->nameCache; @@ -806,7 +806,7 @@ namespace llarp if (maybe.has_value()) { handler(maybe); - return true; + return; } LogInfo(Name(), " looking up LNS name: ", name); path::Path::UniqueEndpointSet_t paths; @@ -820,7 +820,7 @@ namespace llarp if (paths.size() < 3) { handler(std::nullopt); - return true; + return; } auto maybeInvalidateCache = [handler, &cache, name](auto result) { @@ -844,7 +844,6 @@ namespace llarp auto job = new LookupNameJob(this, GenTXID(), name, resultHandler); job->SendRequestViaPath(path, m_router); } - return true; } bool diff --git a/llarp/service/endpoint.hpp b/llarp/service/endpoint.hpp index 12e5d3567..efd1c98e9 100644 --- a/llarp/service/endpoint.hpp +++ b/llarp/service/endpoint.hpp @@ -218,7 +218,7 @@ namespace llarp bool LookupRouterAnon(RouterID router, RouterLookupHandler handler); - bool + void LookupNameAsync(std::string name, std::function)> resultHandler); /// called on event loop pump