2019-01-22 01:14:02 +00:00
|
|
|
#ifndef LLARP_DHT_RECURSIVEROUTERLOOKUP
|
|
|
|
#define LLARP_DHT_RECURSIVEROUTERLOOKUP
|
|
|
|
|
2021-03-09 22:24:35 +00:00
|
|
|
#include "tx.hpp"
|
2019-01-22 01:14:02 +00:00
|
|
|
|
2021-03-09 22:24:35 +00:00
|
|
|
#include <llarp/router_contact.hpp>
|
|
|
|
#include <llarp/router_id.hpp>
|
2019-01-22 01:14:02 +00:00
|
|
|
|
|
|
|
namespace llarp
|
|
|
|
{
|
|
|
|
namespace dht
|
|
|
|
{
|
2020-04-07 18:38:56 +00:00
|
|
|
struct RecursiveRouterLookup : public TX<RouterID, RouterContact>
|
2019-01-22 01:14:02 +00:00
|
|
|
{
|
|
|
|
RouterLookupHandler resultHandler;
|
2020-04-07 18:38:56 +00:00
|
|
|
RecursiveRouterLookup(
|
|
|
|
const TXOwner& whoasked,
|
|
|
|
const RouterID& target,
|
|
|
|
AbstractContext* ctx,
|
|
|
|
RouterLookupHandler result);
|
2019-01-22 01:14:02 +00:00
|
|
|
|
|
|
|
bool
|
2020-04-07 18:38:56 +00:00
|
|
|
Validate(const RouterContact& rc) const override;
|
2019-01-22 01:14:02 +00:00
|
|
|
|
|
|
|
void
|
2020-04-07 18:38:56 +00:00
|
|
|
Start(const TXOwner& peer) override;
|
2019-01-22 01:14:02 +00:00
|
|
|
|
2019-07-30 23:42:13 +00:00
|
|
|
void
|
2019-01-22 01:14:02 +00:00
|
|
|
SendReply() override;
|
|
|
|
};
|
|
|
|
} // namespace dht
|
|
|
|
} // namespace llarp
|
|
|
|
|
|
|
|
#endif
|