---
title: llarp::dht::RelayedGotIntroMessage

---

# llarp::dht::RelayedGotIntroMessage





Inherits from [llarp::dht::GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md), [llarp::dht::IMessage](Classes/structllarp_1_1dht_1_1IMessage.md)

## Public Functions

|                | Name           |
| -------------- | -------------- |
| | **[RelayedGotIntroMessage](Classes/structllarp_1_1dht_1_1RelayedGotIntroMessage.md#function-relayedgotintromessage)**() |
| virtual bool | **[HandleMessage](Classes/structllarp_1_1dht_1_1RelayedGotIntroMessage.md#function-handlemessage)**([llarp_dht_context](Classes/structllarp__dht__context.md) * ctx, std::vector< IMessage::Ptr_t > & replies) const override |

## Additional inherited members

**Public Functions inherited from [llarp::dht::GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md)**

|                | Name           |
| -------------- | -------------- |
| | **[GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-gotintromessage)**(const [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) & from) |
| | **[GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-gotintromessage)**(const [GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md) & other) |
| | **[GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-gotintromessage)**(const [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) & from, const [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) & _closer, uint64_t _txid)<br>for iterative reply  |
| | **[GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-gotintromessage)**(std::vector< [service::EncryptedIntroSet](Classes/structllarp_1_1service_1_1EncryptedIntroSet.md) > results, uint64_t txid)<br>for recursive reply  |
| | **[~GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-~gotintromessage)**() override =default |
| virtual bool | **[BEncode](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-bencode)**([llarp_buffer_t](Classes/structllarp__buffer__t.md) * buf) const override |
| virtual bool | **[DecodeKey](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-decodekey)**(const [llarp_buffer_t](Classes/structllarp__buffer__t.md) & key, [llarp_buffer_t](Classes/structllarp__buffer__t.md) * val) override |

**Public Attributes inherited from [llarp::dht::GotIntroMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md)**

|                | Name           |
| -------------- | -------------- |
| std::vector< [service::EncryptedIntroSet](Classes/structllarp_1_1service_1_1EncryptedIntroSet.md) > | **[found](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#variable-found)** <br>the found introsets  |
| uint64_t | **[txid](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#variable-txid)** <br>txid  |
| std::optional< [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) > | **[closer](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#variable-closer)** <br>the key of a router closer in keyspace if iterative lookup  |

**Public Types inherited from [llarp::dht::IMessage](Classes/structllarp_1_1dht_1_1IMessage.md)**

|                | Name           |
| -------------- | -------------- |
| using std::unique_ptr< [IMessage](Classes/structllarp_1_1dht_1_1IMessage.md) > | **[Ptr_t](Classes/structllarp_1_1dht_1_1IMessage.md#using-ptr-t)**  |

**Public Functions inherited from [llarp::dht::IMessage](Classes/structllarp_1_1dht_1_1IMessage.md)**

|                | Name           |
| -------------- | -------------- |
| virtual | **[~IMessage](Classes/structllarp_1_1dht_1_1IMessage.md#function-~imessage)**() =default |
| | **[IMessage](Classes/structllarp_1_1dht_1_1IMessage.md#function-imessage)**(const [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) & from)<br>construct  |
| virtual bool | **[BEncode](Classes/structllarp_1_1dht_1_1IMessage.md#function-bencode)**([llarp_buffer_t](Classes/structllarp__buffer__t.md) * buf) const =0 |
| virtual bool | **[DecodeKey](Classes/structllarp_1_1dht_1_1IMessage.md#function-decodekey)**(const [llarp_buffer_t](Classes/structllarp__buffer__t.md) & key, [llarp_buffer_t](Classes/structllarp__buffer__t.md) * val) =0 |

**Public Attributes inherited from [llarp::dht::IMessage](Classes/structllarp_1_1dht_1_1IMessage.md)**

|                | Name           |
| -------------- | -------------- |
| [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) | **[From](Classes/structllarp_1_1dht_1_1IMessage.md#variable-from)**  |
| [PathID_t](Classes/structllarp_1_1PathID__t.md) | **[pathID](Classes/structllarp_1_1dht_1_1IMessage.md#variable-pathid)**  |
| uint64_t | **[version](Classes/structllarp_1_1dht_1_1IMessage.md#variable-version)**  |


## Public Functions Documentation

### function RelayedGotIntroMessage

```cpp
inline RelayedGotIntroMessage()
```


### function HandleMessage

```cpp
virtual bool HandleMessage(
    llarp_dht_context * ctx,
    std::vector< IMessage::Ptr_t > & replies
) const override
```


**Reimplements**: [llarp::dht::GotIntroMessage::HandleMessage](Classes/structllarp_1_1dht_1_1GotIntroMessage.md#function-handlemessage)


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

Updated on 2023-01-23 at 22:05:55 +0000