---
title: llarp::LR_StatusMessage

---

# llarp::LR_StatusMessage





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

## Public Functions

|                | Name           |
| -------------- | -------------- |
| | **[LR_StatusMessage](Classes/structllarp_1_1LR__StatusMessage.md#function-lr-statusmessage)**(std::array< [EncryptedFrame](Classes/structllarp_1_1EncryptedFrame.md), 8 > _frames) |
| | **[LR_StatusMessage](Classes/structllarp_1_1LR__StatusMessage.md#function-lr-statusmessage)**() =default |
| | **[~LR_StatusMessage](Classes/structllarp_1_1LR__StatusMessage.md#function-~lr-statusmessage)**() override =default |
| virtual void | **[Clear](Classes/structllarp_1_1LR__StatusMessage.md#function-clear)**() override |
| virtual bool | **[DecodeKey](Classes/structllarp_1_1LR__StatusMessage.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_1LR__StatusMessage.md#function-bencode)**([llarp_buffer_t](Classes/structllarp__buffer__t.md) * buf) const override |
| virtual bool | **[HandleMessage](Classes/structllarp_1_1LR__StatusMessage.md#function-handlemessage)**([AbstractRouter](Classes/structllarp_1_1AbstractRouter.md) * router) const override |
| void | **[SetDummyFrames](Classes/structllarp_1_1LR__StatusMessage.md#function-setdummyframes)**() |
| bool | **[AddFrame](Classes/structllarp_1_1LR__StatusMessage.md#function-addframe)**(const [SharedSecret](Classes/structllarp_1_1AlignedBuffer.md) & pathKey, uint64_t newStatus) |
| virtual const char * | **[Name](Classes/structllarp_1_1LR__StatusMessage.md#function-name)**() const override |
| virtual uint16_t | **[Priority](Classes/structllarp_1_1LR__StatusMessage.md#function-priority)**() const override<br>get message prority, higher value means more important  |
| bool | **[CreateAndSend](Classes/structllarp_1_1LR__StatusMessage.md#function-createandsend)**([AbstractRouter](Classes/structllarp_1_1AbstractRouter.md) * router, std::shared_ptr< [path::TransitHop](Classes/structllarp_1_1path_1_1TransitHop.md) > hop, const [PathID_t](Classes/structllarp_1_1PathID__t.md) pathid, const [RouterID](Classes/structllarp_1_1RouterID.md) nextHop, const [SharedSecret](Classes/structllarp_1_1AlignedBuffer.md) pathKey, uint64_t status) |
| void | **[QueueSendMessage](Classes/structllarp_1_1LR__StatusMessage.md#function-queuesendmessage)**([AbstractRouter](Classes/structllarp_1_1AbstractRouter.md) * router, const [RouterID](Classes/structllarp_1_1RouterID.md) nextHop, std::shared_ptr< [LR_StatusMessage](Classes/structllarp_1_1LR__StatusMessage.md) > msg, std::shared_ptr< [path::TransitHop](Classes/structllarp_1_1path_1_1TransitHop.md) > hop) |
| void | **[SendMessage](Classes/structllarp_1_1LR__StatusMessage.md#function-sendmessage)**([AbstractRouter](Classes/structllarp_1_1AbstractRouter.md) * router, const [RouterID](Classes/structllarp_1_1RouterID.md) nextHop, std::shared_ptr< [LR_StatusMessage](Classes/structllarp_1_1LR__StatusMessage.md) > msg, std::shared_ptr< [path::TransitHop](Classes/structllarp_1_1path_1_1TransitHop.md) > hop) |

## Public Attributes

|                | Name           |
| -------------- | -------------- |
| std::array< [EncryptedFrame](Classes/structllarp_1_1EncryptedFrame.md), 8 > | **[frames](Classes/structllarp_1_1LR__StatusMessage.md#variable-frames)**  |
| [PathID_t](Classes/structllarp_1_1PathID__t.md) | **[pathid](Classes/structllarp_1_1LR__StatusMessage.md#variable-pathid)**  |
| uint64_t | **[status](Classes/structllarp_1_1LR__StatusMessage.md#variable-status)**  |

## 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)**  |


## Public Functions Documentation

### function LR_StatusMessage

```cpp
inline LR_StatusMessage(
    std::array< EncryptedFrame, 8 > _frames
)
```


### function LR_StatusMessage

```cpp
LR_StatusMessage() =default
```


### function ~LR_StatusMessage

```cpp
~LR_StatusMessage() override =default
```


### function Clear

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


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


### 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 SetDummyFrames

```cpp
void SetDummyFrames()
```


### function AddFrame

```cpp
bool AddFrame(
    const SharedSecret & pathKey,
    uint64_t newStatus
)
```


### 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)


### function CreateAndSend

```cpp
static bool CreateAndSend(
    AbstractRouter * router,
    std::shared_ptr< path::TransitHop > hop,
    const PathID_t pathid,
    const RouterID nextHop,
    const SharedSecret pathKey,
    uint64_t status
)
```


### function QueueSendMessage

```cpp
static void QueueSendMessage(
    AbstractRouter * router,
    const RouterID nextHop,
    std::shared_ptr< LR_StatusMessage > msg,
    std::shared_ptr< path::TransitHop > hop
)
```


### function SendMessage

```cpp
static void SendMessage(
    AbstractRouter * router,
    const RouterID nextHop,
    std::shared_ptr< LR_StatusMessage > msg,
    std::shared_ptr< path::TransitHop > hop
)
```


## Public Attributes Documentation

### variable frames

```cpp
std::array< EncryptedFrame, 8 > frames;
```


### variable pathid

```cpp
PathID_t pathid;
```


### variable status

```cpp
uint64_t status = 0;
```


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

Updated on 2022-09-19 at 17:18:32 +0000