---
title: llarp::iwp::OutboundMessage

---

# llarp::iwp::OutboundMessage





## Public Functions

|                | Name           |
| -------------- | -------------- |
| | **[OutboundMessage](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-outboundmessage)**() =default |
| | **[OutboundMessage](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-outboundmessage)**(uint64_t msgid, ILinkSession::Message_t data, llarp_time_t now, [ILinkSession::CompletionHandler](Classes/structllarp_1_1ILinkSession.md#using-completionhandler) handler, uint16_t priority) |
| bool | **[operator<](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-operator<)**(const [OutboundMessage](Classes/structllarp_1_1iwp_1_1OutboundMessage.md) & other) const |
| ILinkSession::Packet_t | **[XMIT](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-xmit)**() const |
| void | **[Ack](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-ack)**(byte_t bitmask) |
| void | **[FlushUnAcked](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-flushunacked)**(std::function< void(ILinkSession::Packet_t)> sendpkt, llarp_time_t now) |
| bool | **[ShouldFlush](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-shouldflush)**(llarp_time_t now) const |
| void | **[Completed](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-completed)**() |
| bool | **[IsTransmitted](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-istransmitted)**() const |
| bool | **[IsTimedOut](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-istimedout)**(llarp_time_t now) const |
| void | **[InformTimeout](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#function-informtimeout)**() |

## Public Attributes

|                | Name           |
| -------------- | -------------- |
| ILinkSession::Message_t | **[m_Data](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-data)**  |
| uint64_t | **[m_MsgID](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-msgid)**  |
| std::bitset< MAX_LINK_MSG_SIZE/FragmentSize > | **[m_Acks](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-acks)**  |
| [ILinkSession::CompletionHandler](Classes/structllarp_1_1ILinkSession.md#using-completionhandler) | **[m_Completed](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-completed)**  |
| llarp_time_t | **[m_LastFlush](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-lastflush)**  |
| [ShortHash](Classes/structllarp_1_1AlignedBuffer.md) | **[m_Digest](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-digest)**  |
| llarp_time_t | **[m_StartedAt](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-startedat)**  |
| uint16_t | **[m_ResendPriority](Classes/structllarp_1_1iwp_1_1OutboundMessage.md#variable-m-resendpriority)**  |

## Public Functions Documentation

### function OutboundMessage

```cpp
OutboundMessage() =default
```


### function OutboundMessage

```cpp
OutboundMessage(
    uint64_t msgid,
    ILinkSession::Message_t data,
    llarp_time_t now,
    ILinkSession::CompletionHandler handler,
    uint16_t priority
)
```


### function operator<

```cpp
inline bool operator<(
    const OutboundMessage & other
) const
```


### function XMIT

```cpp
ILinkSession::Packet_t XMIT() const
```


### function Ack

```cpp
void Ack(
    byte_t bitmask
)
```


### function FlushUnAcked

```cpp
void FlushUnAcked(
    std::function< void(ILinkSession::Packet_t)> sendpkt,
    llarp_time_t now
)
```


### function ShouldFlush

```cpp
bool ShouldFlush(
    llarp_time_t now
) const
```


### function Completed

```cpp
void Completed()
```


### function IsTransmitted

```cpp
bool IsTransmitted() const
```


### function IsTimedOut

```cpp
bool IsTimedOut(
    llarp_time_t now
) const
```


### function InformTimeout

```cpp
void InformTimeout()
```


## Public Attributes Documentation

### variable m_Data

```cpp
ILinkSession::Message_t m_Data;
```


### variable m_MsgID

```cpp
uint64_t m_MsgID = 0;
```


### variable m_Acks

```cpp
std::bitset< MAX_LINK_MSG_SIZE/FragmentSize > m_Acks;
```


### variable m_Completed

```cpp
ILinkSession::CompletionHandler m_Completed;
```


### variable m_LastFlush

```cpp
llarp_time_t m_LastFlush = 0s;
```


### variable m_Digest

```cpp
ShortHash m_Digest;
```


### variable m_StartedAt

```cpp
llarp_time_t m_StartedAt = 0s;
```


### variable m_ResendPriority

```cpp
uint16_t m_ResendPriority;
```


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

Updated on 2023-01-06 at 19:35:06 +0000