llarp::path::PathContext
Public Classes
| Name | |
|---|---|
| struct | SyncOwnedPathsMap_t |
| struct | SyncTransitMap_t |
Public Types
| Name | |
|---|---|
| using std::set< Path_ptr, ComparePtr< Path_ptr > > | EndpointPathPtrSet |
| using std::unordered_multimap< PathID_t, TransitHop_ptr > | TransitHopsMap_t |
| using std::unordered_map< PathID_t, Path_ptr > | OwnedPathsMap_t |
Public Functions
| Name | |
|---|---|
| PathContext(AbstractRouter * router) | |
| void | ExpirePaths(llarp_time_t now) called from router tick function |
| void | PumpUpstream() |
| void | PumpDownstream() |
| void | AllowTransit() |
| void | RejectTransit() |
| bool | CheckPathLimitHitByAddr(const SockAddr & addr) |
| bool | AllowingTransit() const |
| bool | HasTransitHop(const TransitHopInfo & info) |
| bool | HandleRelayCommit(const LR_CommitMessage & msg) |
| void | PutTransitHop(std::shared_ptr< TransitHop > hop) |
| HopHandler_ptr | GetByUpstream(const RouterID & id, const PathID_t & path) |
| bool | TransitHopPreviousIsRouter(const PathID_t & path, const RouterID & r) |
| TransitHop_ptr | GetPathForTransfer(const PathID_t & topath) |
| HopHandler_ptr | GetByDownstream(const RouterID & id, const PathID_t & path) |
| std::optional< std::weak_ptr< TransitHop > > | TransitHopByInfo(const TransitHopInfo & ) |
| std::optional< std::weak_ptr< TransitHop > > | TransitHopByUpstream(const RouterID & , const PathID_t & ) |
| PathSet_ptr | GetLocalPathSet(const PathID_t & id) |
| routing::MessageHandler_ptr | GetHandler(const PathID_t & id) |
| EndpointPathPtrSet | FindOwnedPathsWithEndpoint(const RouterID & r) get a set of all paths that we own who's endpoint is r |
| bool | ForwardLRCM(const RouterID & nextHop, const std::array< EncryptedFrame, 8 > & frames, SendStatusHandler handler) |
| bool | HopIsUs(const RouterID & k) const |
| bool | HandleLRUM(const RelayUpstreamMessage & msg) |
| bool | HandleLRDM(const RelayDownstreamMessage & msg) |
| void | AddOwnPath(PathSet_ptr set, Path_ptr p) |
| void | RemovePathSet(PathSet_ptr set) |
| const EventLoop_ptr & | loop() |
| AbstractRouter * | Router() |
| const SecretKey & | EncryptionSecretKey() |
| const byte_t * | OurRouterID() const |
| uint64_t | CurrentTransitPaths() current number of transit paths we have |
| uint64_t | CurrentOwnedPaths(path::PathStatus status =path::PathStatus::ePathEstablished) current number of paths we created in status |
Public Types Documentation
using EndpointPathPtrSet
using llarp::path::PathContext::EndpointPathPtrSet = std::set<Path_ptr, ComparePtr<Path_ptr> >;
using TransitHopsMap_t
using llarp::path::PathContext::TransitHopsMap_t = std::unordered_multimap<PathID_t, TransitHop_ptr>;
using OwnedPathsMap_t
using llarp::path::PathContext::OwnedPathsMap_t = std::unordered_map<PathID_t, Path_ptr>;
Public Functions Documentation
function PathContext
explicit PathContext(
AbstractRouter * router
)
function ExpirePaths
void ExpirePaths(
llarp_time_t now
)
called from router tick function
function PumpUpstream
void PumpUpstream()
function PumpDownstream
void PumpDownstream()
function AllowTransit
void AllowTransit()
function RejectTransit
void RejectTransit()
function CheckPathLimitHitByAddr
bool CheckPathLimitHitByAddr(
const SockAddr & addr
)
function AllowingTransit
bool AllowingTransit() const
function HasTransitHop
bool HasTransitHop(
const TransitHopInfo & info
)
function HandleRelayCommit
bool HandleRelayCommit(
const LR_CommitMessage & msg
)
function PutTransitHop
void PutTransitHop(
std::shared_ptr< TransitHop > hop
)
function GetByUpstream
HopHandler_ptr GetByUpstream(
const RouterID & id,
const PathID_t & path
)
function TransitHopPreviousIsRouter
bool TransitHopPreviousIsRouter(
const PathID_t & path,
const RouterID & r
)
function GetPathForTransfer
TransitHop_ptr GetPathForTransfer(
const PathID_t & topath
)
function GetByDownstream
HopHandler_ptr GetByDownstream(
const RouterID & id,
const PathID_t & path
)
function TransitHopByInfo
std::optional< std::weak_ptr< TransitHop > > TransitHopByInfo(
const TransitHopInfo &
)
function TransitHopByUpstream
std::optional< std::weak_ptr< TransitHop > > TransitHopByUpstream(
const RouterID & ,
const PathID_t &
)
function GetLocalPathSet
PathSet_ptr GetLocalPathSet(
const PathID_t & id
)
function GetHandler
routing::MessageHandler_ptr GetHandler(
const PathID_t & id
)
function FindOwnedPathsWithEndpoint
EndpointPathPtrSet FindOwnedPathsWithEndpoint(
const RouterID & r
)
get a set of all paths that we own who's endpoint is r
function ForwardLRCM
bool ForwardLRCM(
const RouterID & nextHop,
const std::array< EncryptedFrame, 8 > & frames,
SendStatusHandler handler
)
function HopIsUs
bool HopIsUs(
const RouterID & k
) const
function HandleLRUM
bool HandleLRUM(
const RelayUpstreamMessage & msg
)
function HandleLRDM
bool HandleLRDM(
const RelayDownstreamMessage & msg
)
function AddOwnPath
void AddOwnPath(
PathSet_ptr set,
Path_ptr p
)
function RemovePathSet
void RemovePathSet(
PathSet_ptr set
)
function loop
const EventLoop_ptr & loop()
function Router
AbstractRouter * Router()
function EncryptionSecretKey
const SecretKey & EncryptionSecretKey()
function OurRouterID
const byte_t * OurRouterID() const
function CurrentTransitPaths
uint64_t CurrentTransitPaths()
current number of transit paths we have
function CurrentOwnedPaths
uint64_t CurrentOwnedPaths(
path::PathStatus status =path::PathStatus::ePathEstablished
)
current number of paths we created in status
Updated on 2026-01-10 at 22:49:45 +0000