llarp::TCPConnectionPool

Public Types

Name
using std::function< void(std::shared_ptr< TCPConnection >, std::error_code)> CompletionHandler
using std::function< void(std::shared_ptr< TCPConnection >, std::error_code)> AcceptHandler

Public Functions

Name
virtual ~TCPConnectionPool() =default
virtual void Connect(SockAddr remote_addr, CompletionHandler completion_hander, TCPConnection::RecvHandler recv_handler, std::optional< SockAddr > local_addr =std::nullopt) =0
virtual std::shared_ptr< TCPAcceptor > CreateAcceptor(AcceptHandler accept_handler) =0
virtual void CloseAll() =0

Protected Functions

Name
virtual std::shared_ptr< TCPConnection > MakeConnection(std::optional< SockAddr > local_addr, TCPConnection::RecvHandler recv_handler) =0
void RemoveConn(std::shared_ptr< TCPConnection > conn)
void RemoveConn(std::shared_ptr< TCPAcceptor > acceptor)

Protected Attributes

Name
std::unordered_map< SockAddr, std::shared_ptr< TCPConnection > > m_Connections

Friends

Name
class TCPConnection
class TCPAcceptor

Public Types Documentation

using CompletionHandler

using llarp::TCPConnectionPool::CompletionHandler =  std::function<void(std::shared_ptr<TCPConnection>, std::error_code)>;

using AcceptHandler

using llarp::TCPConnectionPool::AcceptHandler =  std::function<void(std::shared_ptr<TCPConnection>, std::error_code)>;

Public Functions Documentation

function ~TCPConnectionPool

virtual ~TCPConnectionPool() =default

function Connect

virtual void Connect(
    SockAddr remote_addr,
    CompletionHandler completion_hander,
    TCPConnection::RecvHandler recv_handler,
    std::optional< SockAddr > local_addr =std::nullopt
) =0

function CreateAcceptor

virtual std::shared_ptr< TCPAcceptor > CreateAcceptor(
    AcceptHandler accept_handler
) =0

function CloseAll

virtual void CloseAll() =0

Protected Functions Documentation

function MakeConnection

virtual std::shared_ptr< TCPConnection > MakeConnection(
    std::optional< SockAddr > local_addr,
    TCPConnection::RecvHandler recv_handler
) =0

function RemoveConn

void RemoveConn(
    std::shared_ptr< TCPConnection > conn
)

function RemoveConn

void RemoveConn(
    std::shared_ptr< TCPAcceptor > acceptor
)

Protected Attributes Documentation

variable m_Connections

std::unordered_map< SockAddr, std::shared_ptr< TCPConnection > > m_Connections;

Friends

friend TCPConnection

friend class TCPConnection(
    TCPConnection 
);

friend TCPAcceptor

friend class TCPAcceptor(
    TCPAcceptor 
);

Updated on 2026-04-01 at 23:35:39 +0000