---
title: llarp::LinkIntroMessage

---

# llarp::LinkIntroMessage





Inherits from [llarp::ILinkMessage](Classes/structllarp_1_1ILinkMessage.md)

## Public Functions

|                | Name           |
| -------------- | -------------- |
| | **[LinkIntroMessage](Classes/structllarp_1_1LinkIntroMessage.md#function-linkintromessage)**() |
| virtual bool | **[DecodeKey](Classes/structllarp_1_1LinkIntroMessage.md#function-decodekey)**(const [llarp_buffer_t](Classes/structllarp__buffer__t.md) & key, [llarp_buffer_t](Classes/structllarp__buffer__t.md) * buf) override |
| virtual bool | **[BEncode](Classes/structllarp_1_1LinkIntroMessage.md#function-bencode)**([llarp_buffer_t](Classes/structllarp__buffer__t.md) * buf) const override |
| virtual bool | **[HandleMessage](Classes/structllarp_1_1LinkIntroMessage.md#function-handlemessage)**([AbstractRouter](Classes/structllarp_1_1AbstractRouter.md) * router) const override |
| bool | **[Sign](Classes/structllarp_1_1LinkIntroMessage.md#function-sign)**(std::function< bool([Signature](Classes/structllarp_1_1Signature.md) &, const [llarp_buffer_t](Classes/structllarp__buffer__t.md) &)> signer) |
| bool | **[Verify](Classes/structllarp_1_1LinkIntroMessage.md#function-verify)**() const |
| virtual void | **[Clear](Classes/structllarp_1_1LinkIntroMessage.md#function-clear)**() override |
| virtual const char * | **[Name](Classes/structllarp_1_1LinkIntroMessage.md#function-name)**() const override |
| virtual uint16_t | **[Priority](Classes/structllarp_1_1LinkIntroMessage.md#function-priority)**() const override<br>get message prority, higher value means more important  |

## Public Attributes

|                | Name           |
| -------------- | -------------- |
| constexpr size_t | **[MaxSize](Classes/structllarp_1_1LinkIntroMessage.md#variable-maxsize)**  |
| [RouterContact](Classes/structllarp_1_1RouterContact.md) | **[rc](Classes/structllarp_1_1LinkIntroMessage.md#variable-rc)**  |
| [KeyExchangeNonce](Classes/structllarp_1_1AlignedBuffer.md) | **[N](Classes/structllarp_1_1LinkIntroMessage.md#variable-n)**  |
| [Signature](Classes/structllarp_1_1Signature.md) | **[Z](Classes/structllarp_1_1LinkIntroMessage.md#variable-z)**  |
| uint64_t | **[P](Classes/structllarp_1_1LinkIntroMessage.md#variable-p)**  |

## Additional inherited members

**Public Functions inherited from [llarp::ILinkMessage](Classes/structllarp_1_1ILinkMessage.md)**

|                | Name           |
| -------------- | -------------- |
| | **[ILinkMessage](Classes/structllarp_1_1ILinkMessage.md#function-ilinkmessage)**() =default |
| virtual | **[~ILinkMessage](Classes/structllarp_1_1ILinkMessage.md#function-~ilinkmessage)**() =default |
| bool | **[BDecode](Classes/structllarp_1_1ILinkMessage.md#function-bdecode)**([llarp_buffer_t](Classes/structllarp__buffer__t.md) * buf) |

**Public Attributes inherited from [llarp::ILinkMessage](Classes/structllarp_1_1ILinkMessage.md)**

|                | Name           |
| -------------- | -------------- |
| [ILinkSession](Classes/structllarp_1_1ILinkSession.md) * | **[session](Classes/structllarp_1_1ILinkMessage.md#variable-session)** <br>who did this message come from or is going to  |
| uint64_t | **[version](Classes/structllarp_1_1ILinkMessage.md#variable-version)**  |
| [PathID_t](Classes/structllarp_1_1PathID__t.md) | **[pathid](Classes/structllarp_1_1ILinkMessage.md#variable-pathid)**  |


## Public Functions Documentation

### function LinkIntroMessage

```cpp
inline LinkIntroMessage()
```


### function DecodeKey

```cpp
virtual bool DecodeKey(
    const llarp_buffer_t & key,
    llarp_buffer_t * buf
) override
```


**Reimplements**: [llarp::ILinkMessage::DecodeKey](Classes/structllarp_1_1ILinkMessage.md#function-decodekey)


### function BEncode

```cpp
virtual bool BEncode(
    llarp_buffer_t * buf
) const override
```


**Reimplements**: [llarp::ILinkMessage::BEncode](Classes/structllarp_1_1ILinkMessage.md#function-bencode)


### function HandleMessage

```cpp
virtual bool HandleMessage(
    AbstractRouter * router
) const override
```


**Reimplements**: [llarp::ILinkMessage::HandleMessage](Classes/structllarp_1_1ILinkMessage.md#function-handlemessage)


### function Sign

```cpp
bool Sign(
    std::function< bool(Signature &, const llarp_buffer_t &)> signer
)
```


### function Verify

```cpp
bool Verify() const
```


### function Clear

```cpp
virtual void Clear() override
```


**Reimplements**: [llarp::ILinkMessage::Clear](Classes/structllarp_1_1ILinkMessage.md#function-clear)


### function Name

```cpp
inline virtual const char * Name() const override
```


**Reimplements**: [llarp::ILinkMessage::Name](Classes/structllarp_1_1ILinkMessage.md#function-name)


### function Priority

```cpp
inline virtual uint16_t Priority() const override
```

get message prority, higher value means more important 

**Reimplements**: [llarp::ILinkMessage::Priority](Classes/structllarp_1_1ILinkMessage.md#function-priority)


## Public Attributes Documentation

### variable MaxSize

```cpp
static constexpr size_t MaxSize = MAX_RC_SIZE + 256;
```


### variable rc

```cpp
RouterContact rc;
```


### variable N

```cpp
KeyExchangeNonce N;
```


### variable Z

```cpp
Signature Z;
```


### variable P

```cpp
uint64_t P;
```


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

Updated on 2023-02-01 at 20:39:32 +0000