llarp::OutboundSessionMaker

Inherits from llarp::IOutboundSessionMaker

Public Types

Name
using std::function< void(void)> Work_t
using std::function< void(Work_t)> WorkerFunc_t
using std::list< RouterCallback > CallbacksQueue

Public Functions

Name
~OutboundSessionMaker() override =default
virtual bool OnSessionEstablished(ILinkSession * session) override
virtual void OnConnectTimeout(ILinkSession * session) override
virtual void CreateSessionTo(const RouterID & router, RouterCallback on_result) override
virtual void CreateSessionTo(const RouterContact & rc, RouterCallback on_result) override
virtual bool HavePendingSessionTo(const RouterID & router) const override
virtual void ConnectToRandomRouters(int numDesired) override
virtual bool ShouldConnectTo(const RouterID & router) const override
void Init(AbstractRouter * router, ILinkManager * linkManager, I_RCLookupHandler * rcLookup, Profiling * profiler, EventLoop_ptr loop, WorkerFunc_t work)
void SetOurRouter(RouterID r)

Public Attributes

Name
size_t minConnectedRouters
always maintain this many connections to other routers
size_t maxConnectedRouters
hard upperbound limit on the number of router to router connections

Additional inherited members

Public Functions inherited from llarp::IOutboundSessionMaker

Name
virtual ~IOutboundSessionMaker() =default

Public Types Documentation

using Work_t

using llarp::OutboundSessionMaker::Work_t =  std::function<void(void)>;

using WorkerFunc_t

using llarp::OutboundSessionMaker::WorkerFunc_t =  std::function<void(Work_t)>;

using CallbacksQueue

using llarp::OutboundSessionMaker::CallbacksQueue =  std::list<RouterCallback>;

Public Functions Documentation

function ~OutboundSessionMaker

~OutboundSessionMaker() override =default

function OnSessionEstablished

virtual bool OnSessionEstablished(
    ILinkSession * session
) override

Reimplements: llarp::IOutboundSessionMaker::OnSessionEstablished

function OnConnectTimeout

virtual void OnConnectTimeout(
    ILinkSession * session
) override

Reimplements: llarp::IOutboundSessionMaker::OnConnectTimeout

function CreateSessionTo

virtual void CreateSessionTo(
    const RouterID & router,
    RouterCallback on_result
) override

Reimplements: llarp::IOutboundSessionMaker::CreateSessionTo

function CreateSessionTo

virtual void CreateSessionTo(
    const RouterContact & rc,
    RouterCallback on_result
) override

Reimplements: llarp::IOutboundSessionMaker::CreateSessionTo

function HavePendingSessionTo

virtual bool HavePendingSessionTo(
    const RouterID & router
) const override

Reimplements: llarp::IOutboundSessionMaker::HavePendingSessionTo

function ConnectToRandomRouters

virtual void ConnectToRandomRouters(
    int numDesired
) override

Reimplements: llarp::IOutboundSessionMaker::ConnectToRandomRouters

function ShouldConnectTo

virtual bool ShouldConnectTo(
    const RouterID & router
) const override

Reimplements: llarp::IOutboundSessionMaker::ShouldConnectTo

function Init

void Init(
    AbstractRouter * router,
    ILinkManager * linkManager,
    I_RCLookupHandler * rcLookup,
    Profiling * profiler,
    EventLoop_ptr loop,
    WorkerFunc_t work
)

function SetOurRouter

inline void SetOurRouter(
    RouterID r
)

Public Attributes Documentation

variable minConnectedRouters

size_t minConnectedRouters = 4;

always maintain this many connections to other routers

variable maxConnectedRouters

size_t maxConnectedRouters = 6;

hard upperbound limit on the number of router to router connections


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