llarp::ILinkMessage

parsed link layer message

#include <link_message.hpp>

Inherited by llarp::DHTImmediateMessage, llarp::DiscardMessage, llarp::LR_CommitMessage, llarp::LR_StatusMessage, llarp::LinkIntroMessage, llarp::RelayDownstreamMessage, llarp::RelayUpstreamMessage

Public Functions

Name
ILinkMessage() =default
virtual ~ILinkMessage() =default
virtual bool DecodeKey(const llarp_buffer_t & key, llarp_buffer_t * val) =0
bool BDecode(llarp_buffer_t * buf)
virtual bool BEncode(llarp_buffer_t * buf) const =0
virtual bool HandleMessage(AbstractRouter * router) const =0
virtual void Clear() =0
virtual const char * Name() const =0
virtual uint16_t Priority() const
get message prority, higher value means more important

Public Attributes

Name
ILinkSession * session
who did this message come from or is going to
uint64_t version
PathID_t pathid

Public Functions Documentation

function ILinkMessage

ILinkMessage() =default

function ~ILinkMessage

virtual ~ILinkMessage() =default

function DecodeKey

virtual bool DecodeKey(
    const llarp_buffer_t & key,
    llarp_buffer_t * val
) =0

Reimplemented by: llarp::DHTImmediateMessage::DecodeKey, llarp::DiscardMessage::DecodeKey, llarp::LinkIntroMessage::DecodeKey, llarp::RelayUpstreamMessage::DecodeKey, llarp::RelayDownstreamMessage::DecodeKey, llarp::LR_CommitMessage::DecodeKey, llarp::LR_StatusMessage::DecodeKey

function BDecode

inline bool BDecode(
    llarp_buffer_t * buf
)

function BEncode

virtual bool BEncode(
    llarp_buffer_t * buf
) const =0

Reimplemented by: llarp::DHTImmediateMessage::BEncode, llarp::DiscardMessage::BEncode, llarp::LinkIntroMessage::BEncode, llarp::RelayUpstreamMessage::BEncode, llarp::RelayDownstreamMessage::BEncode, llarp::LR_CommitMessage::BEncode, llarp::LR_StatusMessage::BEncode

function HandleMessage

virtual bool HandleMessage(
    AbstractRouter * router
) const =0

Reimplemented by: llarp::DiscardMessage::HandleMessage, llarp::DHTImmediateMessage::HandleMessage, llarp::LinkIntroMessage::HandleMessage, llarp::RelayUpstreamMessage::HandleMessage, llarp::RelayDownstreamMessage::HandleMessage, llarp::LR_CommitMessage::HandleMessage, llarp::LR_StatusMessage::HandleMessage

function Clear

virtual void Clear() =0

Reimplemented by: llarp::DHTImmediateMessage::Clear, llarp::DiscardMessage::Clear, llarp::LinkIntroMessage::Clear, llarp::RelayUpstreamMessage::Clear, llarp::RelayDownstreamMessage::Clear, llarp::LR_CommitMessage::Clear, llarp::LR_StatusMessage::Clear

function Name

virtual const char * Name() const =0

Reimplemented by: llarp::DHTImmediateMessage::Name, llarp::DiscardMessage::Name, llarp::LinkIntroMessage::Name, llarp::RelayUpstreamMessage::Name, llarp::RelayDownstreamMessage::Name, llarp::LR_CommitMessage::Name, llarp::LR_StatusMessage::Name

function Priority

inline virtual uint16_t Priority() const

get message prority, higher value means more important

Reimplemented by: llarp::LinkIntroMessage::Priority, llarp::RelayUpstreamMessage::Priority, llarp::RelayDownstreamMessage::Priority, llarp::LR_CommitMessage::Priority, llarp::LR_StatusMessage::Priority

Public Attributes Documentation

variable session

ILinkSession * session = nullptr;

who did this message come from or is going to

variable version

uint64_t version = llarp::constants::proto_version;

variable pathid

PathID_t pathid;

Updated on 2026-01-10 at 22:49:45 +0000