llarp::LinkManager

Inherits from llarp::ILinkManager

Public Functions

Name
~LinkManager() override =default
virtual LinkLayer_ptr GetCompatibleLink(const RouterContact & rc) const override
virtual IOutboundSessionMaker * GetSessionMaker() const override
virtual bool SendTo(const RouterID & remote, const llarp_buffer_t & buf, ILinkSession::CompletionHandler completed, uint16_t priority) override
virtual bool HasSessionTo(const RouterID & remote) const override
virtual bool HasOutboundSessionTo(const RouterID & remote) const override
virtual std::optional< bool > SessionIsClient(RouterID remote) const override
return true if the session with this pubkey is a client return false if the session with this pubkey is a router return std::nullopt we have no session with this pubkey
virtual void DeregisterPeer(RouterID remote) override
close all connections to this peer remove all link layer commits
virtual void PumpLinks() override
virtual void AddLink(LinkLayer_ptr link, bool inbound =false) override
virtual bool StartLinks() override
virtual void Stop() override
virtual void PersistSessionUntil(const RouterID & remote, llarp_time_t until) override
virtual void ForEachPeer(std::function< void(const ILinkSession *, bool)> visit, bool randomize =false) const override
virtual void ForEachPeer(std::function< void(ILinkSession *)> visit) override
virtual void ForEachInboundLink(std::function< void(LinkLayer_ptr)> visit) const override
virtual void ForEachOutboundLink(std::function< void(LinkLayer_ptr)> visit) const override
virtual size_t NumberOfConnectedRouters() const override
virtual size_t NumberOfConnectedClients() const override
virtual size_t NumberOfPendingConnections() const override
virtual bool GetRandomConnectedRouter(RouterContact & router) const override
virtual void CheckPersistingSessions(llarp_time_t now) override
void Init(IOutboundSessionMaker * sessionMaker)

Additional inherited members

Public Functions inherited from llarp::ILinkManager

Name
virtual ~ILinkManager() =default

Public Functions Documentation

function ~LinkManager

~LinkManager() override =default
virtual LinkLayer_ptr GetCompatibleLink(
    const RouterContact & rc
) const override

Reimplements: llarp::ILinkManager::GetCompatibleLink

function GetSessionMaker

virtual IOutboundSessionMaker * GetSessionMaker() const override

Reimplements: llarp::ILinkManager::GetSessionMaker

function SendTo

virtual bool SendTo(
    const RouterID & remote,
    const llarp_buffer_t & buf,
    ILinkSession::CompletionHandler completed,
    uint16_t priority
) override

Reimplements: llarp::ILinkManager::SendTo

function HasSessionTo

virtual bool HasSessionTo(
    const RouterID & remote
) const override

Reimplements: llarp::ILinkManager::HasSessionTo

function HasOutboundSessionTo

virtual bool HasOutboundSessionTo(
    const RouterID & remote
) const override

Reimplements: llarp::ILinkManager::HasOutboundSessionTo

function SessionIsClient

virtual std::optional< bool > SessionIsClient(
    RouterID remote
) const override

return true if the session with this pubkey is a client return false if the session with this pubkey is a router return std::nullopt we have no session with this pubkey

Reimplements: llarp::ILinkManager::SessionIsClient

function DeregisterPeer

virtual void DeregisterPeer(
    RouterID remote
) override

close all connections to this peer remove all link layer commits

Reimplements: llarp::ILinkManager::DeregisterPeer

virtual void PumpLinks() override

Reimplements: llarp::ILinkManager::PumpLinks

virtual void AddLink(
    LinkLayer_ptr link,
    bool inbound =false
) override

Reimplements: llarp::ILinkManager::AddLink

virtual bool StartLinks() override

Reimplements: llarp::ILinkManager::StartLinks

function Stop

virtual void Stop() override

Reimplements: llarp::ILinkManager::Stop

function PersistSessionUntil

virtual void PersistSessionUntil(
    const RouterID & remote,
    llarp_time_t until
) override

Reimplements: llarp::ILinkManager::PersistSessionUntil

function ForEachPeer

virtual void ForEachPeer(
    std::function< void(const ILinkSession *, bool)> visit,
    bool randomize =false
) const override

Reimplements: llarp::ILinkManager::ForEachPeer

function ForEachPeer

virtual void ForEachPeer(
    std::function< void(ILinkSession *)> visit
) override

Reimplements: llarp::ILinkManager::ForEachPeer

virtual void ForEachInboundLink(
    std::function< void(LinkLayer_ptr)> visit
) const override

Reimplements: llarp::ILinkManager::ForEachInboundLink

virtual void ForEachOutboundLink(
    std::function< void(LinkLayer_ptr)> visit
) const override

Reimplements: llarp::ILinkManager::ForEachOutboundLink

function NumberOfConnectedRouters

virtual size_t NumberOfConnectedRouters() const override

Reimplements: llarp::ILinkManager::NumberOfConnectedRouters

function NumberOfConnectedClients

virtual size_t NumberOfConnectedClients() const override

Reimplements: llarp::ILinkManager::NumberOfConnectedClients

function NumberOfPendingConnections

virtual size_t NumberOfPendingConnections() const override

Reimplements: llarp::ILinkManager::NumberOfPendingConnections

function GetRandomConnectedRouter

virtual bool GetRandomConnectedRouter(
    RouterContact & router
) const override

Reimplements: llarp::ILinkManager::GetRandomConnectedRouter

function CheckPersistingSessions

virtual void CheckPersistingSessions(
    llarp_time_t now
) override

Reimplements: llarp::ILinkManager::CheckPersistingSessions

function Init

void Init(
    IOutboundSessionMaker * sessionMaker
)

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