llarp::service::ProtocolFrame

outer message

#include <protocol.hpp>

Inherits from llarp::routing::IMessage

Public Types

Name
using Encrypted< 2048 > Encrypted_t

Public Functions

Name
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 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, 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
service::ConvoTag T

Additional inherited members

Public Functions inherited from llarp::routing::IMessage

Name
IMessage() =default
virtual ~IMessage() =default
bool operator<(const IMessage & other) 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<2048>;

Public Functions Documentation

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 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,
    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

service::ConvoTag T;

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