llarp::path::IHopHandler
Inherited by llarp::path::Path, llarp::path::TransitHop
Public Types
| Name | |
|---|---|
| using std::pair< std::vector< byte_t >, TunnelNonce > | TrafficEvent_t |
| using std::list< TrafficEvent_t > | TrafficQueue_t |
Public Functions
| Name | |
|---|---|
| virtual | ~IHopHandler() =default |
| virtual PathID_t | RXID() const =0 |
| void | DecayFilters(llarp_time_t now) |
| 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 * ) |
| virtual bool | HandleDownstream(const llarp_buffer_t & X, const TunnelNonce & Y, AbstractRouter * ) |
| 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() |
| virtual void | FlushUpstream(AbstractRouter * r) =0 |
| virtual void | FlushDownstream(AbstractRouter * r) =0 |
Protected Functions
| Name | |
|---|---|
| virtual void | UpstreamWork(TrafficQueue_t queue, AbstractRouter * r) =0 |
| virtual void | DownstreamWork(TrafficQueue_t queue, AbstractRouter * r) =0 |
| 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 |
| TrafficQueue_t | m_UpstreamQueue |
| TrafficQueue_t | m_DownstreamQueue |
| util::DecayingHashSet< TunnelNonce > | m_UpstreamReplayFilter |
| util::DecayingHashSet< TunnelNonce > | m_DownstreamReplayFilter |
Public Types Documentation
using TrafficEvent_t
using llarp::path::IHopHandler::TrafficEvent_t = std::pair<std::vector<byte_t>, TunnelNonce>;
using TrafficQueue_t
using llarp::path::IHopHandler::TrafficQueue_t = std::list<TrafficEvent_t>;
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
void DecayFilters(
llarp_time_t now
)
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 *
)
Reimplemented by: llarp::path::Path::HandleUpstream
function HandleDownstream
virtual bool HandleDownstream(
const llarp_buffer_t & X,
const TunnelNonce & Y,
AbstractRouter *
)
Reimplemented by: llarp::path::Path::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()
function FlushUpstream
virtual void FlushUpstream(
AbstractRouter * r
) =0
Reimplemented by: llarp::path::Path::FlushUpstream, llarp::path::TransitHop::FlushUpstream
function FlushDownstream
virtual void FlushDownstream(
AbstractRouter * r
) =0
Reimplemented by: llarp::path::Path::FlushDownstream, llarp::path::TransitHop::FlushDownstream
Protected Functions Documentation
function UpstreamWork
virtual void UpstreamWork(
TrafficQueue_t queue,
AbstractRouter * r
) =0
Reimplemented by: llarp::path::Path::UpstreamWork, llarp::path::TransitHop::UpstreamWork
function DownstreamWork
virtual void DownstreamWork(
TrafficQueue_t queue,
AbstractRouter * r
) =0
Reimplemented by: llarp::path::Path::DownstreamWork, llarp::path::TransitHop::DownstreamWork
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;
variable m_UpstreamQueue
TrafficQueue_t m_UpstreamQueue;
variable m_DownstreamQueue
TrafficQueue_t m_DownstreamQueue;
variable m_UpstreamReplayFilter
util::DecayingHashSet< TunnelNonce > m_UpstreamReplayFilter;
variable m_DownstreamReplayFilter
util::DecayingHashSet< TunnelNonce > m_DownstreamReplayFilter;
Updated on 2026-01-10 at 22:49:45 +0000