llarp::service::ProtocolFrame

outer message

#include <protocol.hpp>

Inherits from llarp::routing::IMessage

Public Types

Name
using Encrypted< constants::service_proto_message_max_size > Encrypted_t

Public Functions

Name
virtual size_t overhead() const override
ProtocolFrame(const ProtocolFrame & other)
ProtocolFrame()
~ProtocolFrame() override
bool operator==(const ProtocolFrame & other) const
bool operator!=(const ProtocolFrame & other) const
ProtocolFrame & operator=(const ProtocolFrame & other)
bool EncryptAndSign(const ProtocolMessage & msg, const SharedSecret & sharedkey, const Identity & localIdent)
bool EncryptAndSign(std::deque< ProtocolMessage > & msgs, const SharedSecret & sharedkey, const Identity & localIdent)
bool Sign(const Identity & localIdent)
bool AsyncDecryptAndVerify(EventLoop_ptr loop, path::Path_ptr fromPath, const Identity & localIdent, Endpoint * handler, std::function< void(std::shared_ptr< ProtocolMessage >)> hook =nullptr) const
bool DecryptPayloadInto(const SharedSecret & sharedkey, std::vector< ProtocolMessage > & into) const
virtual bool DecodeKey(const llarp_buffer_t & key, llarp_buffer_t * val) override
virtual bool BEncode(llarp_buffer_t * buf) const override
bool BDecode(llarp_buffer_t * buf)
virtual void Clear() override
bool Verify(const ServiceInfo & from) const
virtual bool HandleMessage(routing::IMessageHandler * h, AbstractRouter * r) const override

Public Attributes

Name
PQCipherBlock C
Encrypted_t D
uint64_t R
KeyExchangeNonce N
Signature Z
PathID_t F
ConvoTag T

Additional inherited members

Public Functions inherited from llarp::routing::IMessage

Name
IMessage() =default
virtual ~IMessage() =default
bool operator<(const IMessage & other) const
size_t total_size() const

Public Attributes inherited from llarp::routing::IMessage

Name
PathID_t from
uint64_t S
uint64_t version

Public Types Documentation

using Encrypted_t

using llarp::service::ProtocolFrame::Encrypted_t =  Encrypted<constants::service_proto_message_max_size>;

Public Functions Documentation

function overhead

virtual size_t overhead() const override

Reimplements: llarp::routing::IMessage::overhead

function ProtocolFrame

inline ProtocolFrame(
    const ProtocolFrame & other
)

function ProtocolFrame

inline ProtocolFrame()

function ~ProtocolFrame

~ProtocolFrame() override

function operator==

bool operator==(
    const ProtocolFrame & other
) const

function operator!=

inline bool operator!=(
    const ProtocolFrame & other
) const

function operator=

ProtocolFrame & operator=(
    const ProtocolFrame & other
)

function EncryptAndSign

bool EncryptAndSign(
    const ProtocolMessage & msg,
    const SharedSecret & sharedkey,
    const Identity & localIdent
)

function EncryptAndSign

bool EncryptAndSign(
    std::deque< ProtocolMessage > & msgs,
    const SharedSecret & sharedkey,
    const Identity & localIdent
)

function Sign

bool Sign(
    const Identity & localIdent
)

function AsyncDecryptAndVerify

bool AsyncDecryptAndVerify(
    EventLoop_ptr loop,
    path::Path_ptr fromPath,
    const Identity & localIdent,
    Endpoint * handler,
    std::function< void(std::shared_ptr< ProtocolMessage >)> hook =nullptr
) const

function DecryptPayloadInto

bool DecryptPayloadInto(
    const SharedSecret & sharedkey,
    std::vector< ProtocolMessage > & into
) const

function DecodeKey

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

Reimplements: llarp::routing::IMessage::DecodeKey

function BEncode

virtual bool BEncode(
    llarp_buffer_t * buf
) const override

Reimplements: llarp::routing::IMessage::BEncode

function BDecode

inline bool BDecode(
    llarp_buffer_t * buf
)

function Clear

inline virtual void Clear() override

Reimplements: llarp::routing::IMessage::Clear

function Verify

bool Verify(
    const ServiceInfo & from
) const

function HandleMessage

virtual bool HandleMessage(
    routing::IMessageHandler * h,
    AbstractRouter * r
) const override

Reimplements: llarp::routing::IMessage::HandleMessage

Public Attributes Documentation

variable C

PQCipherBlock C {};

variable D

Encrypted_t D {};

variable R

uint64_t R;

variable N

KeyExchangeNonce N {};

variable Z

Signature Z {};

variable F

PathID_t F {};

variable T

ConvoTag T {};

Updated on 2026-04-01 at 23:35:40 +0000