---
title: llarp/dht/recursiverouterlookup.hpp

---

# llarp/dht/recursiverouterlookup.hpp



## Namespaces

| Name           |
| -------------- |
| **[llarp](Namespaces/namespacellarp.md)** <br>[crypto.hpp] |
| **[llarp::dht](Namespaces/namespacellarp_1_1dht.md)**  |

## Classes

|                | Name           |
| -------------- | -------------- |
| struct | **[llarp::dht::RecursiveRouterLookup](Classes/structllarp_1_1dht_1_1RecursiveRouterLookup.md)**  |




## Source code

```cpp
#ifndef LLARP_DHT_RECURSIVEROUTERLOOKUP
#define LLARP_DHT_RECURSIVEROUTERLOOKUP

#include "tx.hpp"

#include <llarp/router_contact.hpp>
#include <llarp/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);

      bool
      Validate(const RouterContact& rc) const override;

      void
      Start(const TXOwner& peer) override;

      void
      SendReply() override;
    };
  }  // namespace dht
}  // namespace llarp

#endif
```


-------------------------------

Updated on 2023-01-27 at 23:09:26 +0000
