lokinet/llarp/dht/recursiverouterlookup.hpp

38 lines
855 B
C++
Raw Normal View History

2019-01-22 01:14:02 +00:00
#ifndef LLARP_DHT_RECURSIVEROUTERLOOKUP
#define LLARP_DHT_RECURSIVEROUTERLOOKUP
#include <dht/tx.hpp>
#include <router_contact.hpp>
#include <router_id.hpp>
namespace llarp
{
namespace dht
{
struct RecursiveRouterLookup : public TX< RouterID, RouterContact >
{
RouterLookupHandler resultHandler;
RecursiveRouterLookup(const TXOwner &whoasked, const RouterID &target,
AbstractContext *ctx, RouterLookupHandler result);
2019-01-22 01:14:02 +00:00
bool
Validate(const RouterContact &rc) const override;
bool
GetNextPeer(Key_t &nextPeer, const std::set< Key_t > &exclude) override;
2019-01-22 01:14:02 +00:00
void
DoNextRequest(const Key_t &peer) override;
2019-01-22 01:14:02 +00:00
void
Start(const TXOwner &peer) override;
virtual void
SendReply() override;
};
} // namespace dht
} // namespace llarp
#endif