lokinet/llarp/service/lookup.cpp

34 lines
803 B
C++
Raw Normal View History

2018-12-12 02:15:08 +00:00
#include <service/lookup.hpp>
2019-01-11 01:19:36 +00:00
#include <path/path.hpp>
#include <util/time.hpp>
#include <router/abstractrouter.hpp>
2019-09-01 13:26:16 +00:00
#include <util/thread/logic.hpp>
2019-07-30 23:42:13 +00:00
#include <utility>
2018-08-04 02:59:32 +00:00
2018-07-18 03:10:21 +00:00
namespace llarp
{
struct AbstractRouter;
2018-07-18 03:10:21 +00:00
namespace service
{
IServiceLookup::IServiceLookup(ILookupHolder* p, uint64_t tx, std::string n)
2019-07-30 23:42:13 +00:00
: m_parent(p), txid(tx), name(std::move(n))
2018-08-04 02:59:32 +00:00
{
2018-11-19 22:45:37 +00:00
m_created = time_now_ms();
2018-08-04 02:59:32 +00:00
p->PutLookup(this, tx);
}
2018-07-18 03:10:21 +00:00
bool
IServiceLookup::SendRequestViaPath(path::Path_ptr path, AbstractRouter* r)
2018-07-18 03:10:21 +00:00
{
auto msg = BuildRequestMessage();
if (!msg)
2018-07-18 03:10:21 +00:00
return false;
2019-04-23 16:13:22 +00:00
endpoint = path->Endpoint();
LogicCall(r->logic(), [=]() { path->SendRoutingMessage(*msg, r); });
return true;
2018-07-18 03:10:21 +00:00
}
} // namespace service
2018-10-15 15:43:41 +00:00
} // namespace llarp