llarp::path::IHopHandler

Inherited by llarp::path::Path, llarp::path::TransitHop

Public Types

Name
using std::pair< std::vector< byte_t >, TunnelNonce > TrafficEvent_t

Public Functions

Name
virtual ~IHopHandler() =default
virtual PathID_t RXID() const =0
virtual void DecayFilters(llarp_time_t )
virtual bool Expired(llarp_time_t now) const =0
virtual bool ExpiresSoon(llarp_time_t now, llarp_time_t dlt) const =0
virtual bool SendRoutingMessage(const routing::IMessage & msg, AbstractRouter * r) =0
send routing message and increment sequence number
virtual bool HandleUpstream(const llarp_buffer_t & X, const TunnelNonce & Y, AbstractRouter * r) =0
virtual bool HandleDownstream(const llarp_buffer_t & X, const TunnelNonce & Y, AbstractRouter * r) =0
virtual llarp_time_t LastRemoteActivityAt() const =0
return timestamp last remote activity happened at
virtual bool HandleLRSM(uint64_t status, std::array< EncryptedFrame, 8 > & frames, AbstractRouter * r) =0
uint64_t NextSeqNo()

Protected Functions

Name
virtual void HandleAllUpstream(std::vector< RelayUpstreamMessage > msgs, AbstractRouter * r) =0
virtual void HandleAllDownstream(std::vector< RelayDownstreamMessage > msgs, AbstractRouter * r) =0

Protected Attributes

Name
uint64_t m_SequenceNum

Public Types Documentation

using TrafficEvent_t

using llarp::path::IHopHandler::TrafficEvent_t =  std::pair<std::vector<byte_t>, TunnelNonce>;

Public Functions Documentation

function ~IHopHandler

virtual ~IHopHandler() =default

function RXID

virtual PathID_t RXID() const =0

Reimplemented by: llarp::path::Path::RXID, llarp::path::TransitHop::RXID

function DecayFilters

inline virtual void DecayFilters(
    llarp_time_t 
)

Reimplemented by: llarp::path::Path::DecayFilters

function Expired

virtual bool Expired(
    llarp_time_t now
) const =0

Reimplemented by: llarp::path::Path::Expired, llarp::path::TransitHop::Expired

function ExpiresSoon

virtual bool ExpiresSoon(
    llarp_time_t now,
    llarp_time_t dlt
) const =0

Reimplemented by: llarp::path::TransitHop::ExpiresSoon, llarp::path::Path::ExpiresSoon

function SendRoutingMessage

virtual bool SendRoutingMessage(
    const routing::IMessage & msg,
    AbstractRouter * r
) =0

send routing message and increment sequence number

Reimplemented by: llarp::path::Path::SendRoutingMessage, llarp::path::TransitHop::SendRoutingMessage

function HandleUpstream

virtual bool HandleUpstream(
    const llarp_buffer_t & X,
    const TunnelNonce & Y,
    AbstractRouter * r
) =0

Reimplemented by: llarp::path::Path::HandleUpstream, llarp::path::TransitHop::HandleUpstream

function HandleDownstream

virtual bool HandleDownstream(
    const llarp_buffer_t & X,
    const TunnelNonce & Y,
    AbstractRouter * r
) =0

Reimplemented by: llarp::path::Path::HandleDownstream, llarp::path::TransitHop::HandleDownstream

function LastRemoteActivityAt

virtual llarp_time_t LastRemoteActivityAt() const =0

return timestamp last remote activity happened at

Reimplemented by: llarp::path::Path::LastRemoteActivityAt, llarp::path::TransitHop::LastRemoteActivityAt

function HandleLRSM

virtual bool HandleLRSM(
    uint64_t status,
    std::array< EncryptedFrame, 8 > & frames,
    AbstractRouter * r
) =0

Reimplemented by: llarp::path::Path::HandleLRSM, llarp::path::TransitHop::HandleLRSM

function NextSeqNo

inline uint64_t NextSeqNo()

Protected Functions Documentation

function HandleAllUpstream

virtual void HandleAllUpstream(
    std::vector< RelayUpstreamMessage > msgs,
    AbstractRouter * r
) =0

Reimplemented by: llarp::path::Path::HandleAllUpstream, llarp::path::TransitHop::HandleAllUpstream

function HandleAllDownstream

virtual void HandleAllDownstream(
    std::vector< RelayDownstreamMessage > msgs,
    AbstractRouter * r
) =0

Reimplemented by: llarp::path::Path::HandleAllDownstream, llarp::path::TransitHop::HandleAllDownstream

Protected Attributes Documentation

variable m_SequenceNum

uint64_t m_SequenceNum = 0;

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