llarp::path::TransitHop
Inherits from llarp::path::IHopHandler, llarp::routing::IMessageHandler, std::enable_shared_from_this< TransitHop >
Public Functions
Protected Functions
| Name | |
|---|---|
| virtual void | UpstreamWork(TrafficQueue_t queue, AbstractRouter * r) override |
| virtual void | DownstreamWork(TrafficQueue_t queue, AbstractRouter * r) override |
| virtual void | HandleAllUpstream(std::vector< RelayUpstreamMessage > msgs, AbstractRouter * r) override |
| virtual void | HandleAllDownstream(std::vector< RelayDownstreamMessage > msgs, AbstractRouter * r) override |
Public Attributes
| Name | |
|---|---|
| TransitHopInfo | info |
| SharedSecret | pathKey |
| ShortHash | nonceXOR |
| llarp_time_t | started |
| llarp_time_t | lifetime |
| llarp_proto_version_t | version |
| llarp_time_t | m_LastActivity |
| bool | destroy |
Additional inherited members
Public Types inherited from llarp::path::IHopHandler
| Name | |
|---|---|
| using std::pair< std::vector< byte_t >, TunnelNonce > | TrafficEvent_t |
| using std::list< TrafficEvent_t > | TrafficQueue_t |
Public Functions inherited from llarp::path::IHopHandler
| Name | |
|---|---|
| virtual | ~IHopHandler() =default |
| void | DecayFilters(llarp_time_t now) |
| virtual bool | HandleUpstream(const llarp_buffer_t & X, const TunnelNonce & Y, AbstractRouter * ) |
| virtual bool | HandleDownstream(const llarp_buffer_t & X, const TunnelNonce & Y, AbstractRouter * ) |
| uint64_t | NextSeqNo() |
Protected Attributes inherited from llarp::path::IHopHandler
| Name | |
|---|---|
| uint64_t | m_SequenceNum |
| TrafficQueue_t | m_UpstreamQueue |
| TrafficQueue_t | m_DownstreamQueue |
| util::DecayingHashSet< TunnelNonce > | m_UpstreamReplayFilter |
| util::DecayingHashSet< TunnelNonce > | m_DownstreamReplayFilter |
Public Functions Documentation
function TransitHop
TransitHop()
function RXID
inline virtual PathID_t RXID() const override
Reimplements: llarp::path::IHopHandler::RXID
function Stop
void Stop()
function operator<
inline bool operator<(
const TransitHop & other
) const
function IsEndpoint
inline bool IsEndpoint(
const RouterID & us
) const
function ExpireTime
llarp_time_t ExpireTime() const
function LastRemoteActivityAt
inline virtual llarp_time_t LastRemoteActivityAt() const override
return timestamp last remote activity happened at
Reimplements: llarp::path::IHopHandler::LastRemoteActivityAt
function HandleLRSM
virtual bool HandleLRSM(
uint64_t status,
std::array< EncryptedFrame, 8 > & frames,
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::HandleLRSM
function ToString
std::string ToString() const
function Expired
virtual bool Expired(
llarp_time_t now
) const override
Reimplements: llarp::path::IHopHandler::Expired
function ExpiresSoon
inline virtual bool ExpiresSoon(
llarp_time_t now,
llarp_time_t dlt
) const override
Reimplements: llarp::path::IHopHandler::ExpiresSoon
function SendRoutingMessage
virtual bool SendRoutingMessage(
const routing::IMessage & msg,
AbstractRouter * r
) override
send routing message and increment sequence number
Reimplements: llarp::path::IHopHandler::SendRoutingMessage
function HandleRoutingMessage
bool HandleRoutingMessage(
const routing::IMessage & msg,
AbstractRouter * r
)
function HandleDataDiscardMessage
virtual bool HandleDataDiscardMessage(
const routing::DataDiscardMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleDataDiscardMessage
function HandlePathConfirmMessage
bool HandlePathConfirmMessage(
AbstractRouter * r
)
function HandlePathConfirmMessage
virtual bool HandlePathConfirmMessage(
const routing::PathConfirmMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandlePathConfirmMessage
function HandlePathTransferMessage
virtual bool HandlePathTransferMessage(
const routing::PathTransferMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandlePathTransferMessage
function HandlePathLatencyMessage
virtual bool HandlePathLatencyMessage(
const routing::PathLatencyMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandlePathLatencyMessage
function HandleObtainExitMessage
virtual bool HandleObtainExitMessage(
const routing::ObtainExitMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleObtainExitMessage
function HandleUpdateExitVerifyMessage
virtual bool HandleUpdateExitVerifyMessage(
const routing::UpdateExitVerifyMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleUpdateExitVerifyMessage
function HandleTransferTrafficMessage
virtual bool HandleTransferTrafficMessage(
const routing::TransferTrafficMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleTransferTrafficMessage
function HandleUpdateExitMessage
virtual bool HandleUpdateExitMessage(
const routing::UpdateExitMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleUpdateExitMessage
function HandleGrantExitMessage
virtual bool HandleGrantExitMessage(
const routing::GrantExitMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleGrantExitMessage
function HandleRejectExitMessage
virtual bool HandleRejectExitMessage(
const routing::RejectExitMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleRejectExitMessage
function HandleCloseExitMessage
virtual bool HandleCloseExitMessage(
const routing::CloseExitMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleCloseExitMessage
function HandleHiddenServiceFrame
inline virtual bool HandleHiddenServiceFrame(
const service::ProtocolFrame &
) override
Reimplements: llarp::routing::IMessageHandler::HandleHiddenServiceFrame
TODO: implement me
function HandleGotIntroMessage
bool HandleGotIntroMessage(
const dht::GotIntroMessage & msg
)
function HandleDHTMessage
virtual bool HandleDHTMessage(
const dht::IMessage & msg,
AbstractRouter * r
) override
Reimplements: llarp::routing::IMessageHandler::HandleDHTMessage
function FlushUpstream
virtual void FlushUpstream(
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::FlushUpstream
function FlushDownstream
virtual void FlushDownstream(
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::FlushDownstream
function QueueDestroySelf
void QueueDestroySelf(
AbstractRouter * r
)
Protected Functions Documentation
function UpstreamWork
virtual void UpstreamWork(
TrafficQueue_t queue,
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::UpstreamWork
function DownstreamWork
virtual void DownstreamWork(
TrafficQueue_t queue,
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::DownstreamWork
function HandleAllUpstream
virtual void HandleAllUpstream(
std::vector< RelayUpstreamMessage > msgs,
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::HandleAllUpstream
function HandleAllDownstream
virtual void HandleAllDownstream(
std::vector< RelayDownstreamMessage > msgs,
AbstractRouter * r
) override
Reimplements: llarp::path::IHopHandler::HandleAllDownstream
Public Attributes Documentation
variable info
TransitHopInfo info;
variable pathKey
SharedSecret pathKey;
variable nonceXOR
ShortHash nonceXOR;
variable started
llarp_time_t started = 0s;
variable lifetime
llarp_time_t lifetime = default_lifetime;
variable version
llarp_proto_version_t version;
variable m_LastActivity
llarp_time_t m_LastActivity = 0s;
variable destroy
bool destroy = false;
Updated on 2026-01-10 at 22:49:45 +0000