llarp::dtls::LinkLayer
Inherits from llarp::ILinkLayer
Public Functions
| Name | |
|---|---|
| LinkLayer(std::shared_ptr< KeyManager > keyManager, std::shared_ptr< EventLoop > ev, GetRCFunc getrc, LinkMessageHandler h, SignBufferFunc sign, BeforeConnectFunc_t before, SessionEstablishedHandler est, SessionRenegotiateHandler reneg, TimeoutHandler timeout, SessionClosedHandler closed, PumpDoneHandler pumpDone, WorkerFunc_t dowork, bool permitInbound) | |
| virtual std::shared_ptr< ILinkSession > | NewOutboundSession(const RouterContact & rc, const AddressInfo & ai) override |
| virtual std::string_view | Name() const override |
| virtual uint16_t | Rank() const override |
| virtual void | RecvFrom(const SockAddr & from, ILinkSession::Packet_t pkt) override |
Additional inherited members
Protected Types inherited from llarp::ILinkLayer
| Name | |
|---|---|
| using util::NullLock | Lock_t |
| using util::NullMutex | Mutex_t |
| using std::unordered_multimap< RouterID, std::shared_ptr< ILinkSession > > | AuthedLinks |
| using std::unordered_map< SockAddr, std::shared_ptr< ILinkSession > > | Pending |
Public Functions inherited from llarp::ILinkLayer
| Name | |
|---|---|
| ILinkLayer(std::shared_ptr< KeyManager > keyManager, EventLoop_ptr evloop, GetRCFunc getrc, LinkMessageHandler handler, SignBufferFunc signFunc, BeforeConnectFunc_t before, SessionEstablishedHandler sessionEstablish, SessionRenegotiateHandler renegotiate, TimeoutHandler timeout, SessionClosedHandler closed, PumpDoneHandler pumpDone, WorkerFunc_t doWork) | |
| virtual | ~ILinkLayer() =default |
| llarp_time_t | Now() const get current time via event loop |
| bool | HasSessionTo(const RouterID & pk) |
| void | ForEachSession(std::function< void(const ILinkSession *)> visit, bool randomize =false) const |
| void | ForEachSession(std::function< void(ILinkSession *)> visit) |
| void | UnmapAddr(const SockAddr & addr) |
| void | SendTo_LL(const SockAddr & to, const llarp_buffer_t & pkt) |
| void | Bind(AbstractRouter * router, SockAddr addr) |
| std::shared_ptr< ILinkSession > | FindSessionByPubkey(RouterID pk) fetch a session by the identity pubkey it claims |
| virtual void | Pump() |
| bool | PickAddress(const RouterContact & rc, AddressInfo & picked) const |
| bool | TryEstablishTo(RouterContact rc) |
| bool | Start() |
| virtual void | Stop() |
| void | CloseSessionTo(const RouterID & remote) |
| void | KeepAliveSessionTo(const RouterID & remote) |
| virtual bool | SendTo(const RouterID & remote, const llarp_buffer_t & buf, ILinkSession::CompletionHandler completed, uint16_t priority) |
| virtual bool | GetOurAddressInfo(AddressInfo & addr) const |
| bool | VisitSessionByPubkey(const RouterID & pk, std::function< bool(ILinkSession *)> visit) |
| const byte_t * | TransportPubKey() const |
| const SecretKey & | RouterEncryptionSecret() const |
| const SecretKey & | TransportSecretKey() const |
| bool | IsCompatable(const llarp::RouterContact & other) const |
| bool | MapAddr(const RouterID & pk, ILinkSession * s) |
| void | Tick(llarp_time_t now) |
| bool | operator<(const ILinkLayer & other) const |
| size_t | NumberOfPendingSessions() const called by link session to remove a pending session who is timed out |
| std::optional< int > | GetUDPFD() const |
| AbstractRouter * | Router() const |
| const SockAddr & | LocalSocketAddr() const Get the local sock addr we are bound on. |
| void | TriggerPump() |
Protected Functions inherited from llarp::ILinkLayer
| Name | |
|---|---|
| bool | PutSession(const std::shared_ptr< ILinkSession > & s) |
| DECLARE_LOCK(Mutex_t , m_AuthedLinksMutex , ACQUIRED_BEFORE(m_PendingMutex) ) | |
| AuthedLinks m_AuthedLinks | GUARDED_BY(m_AuthedLinksMutex ) |
| DECLARE_LOCK(Mutex_t , m_PendingMutex , ACQUIRED_AFTER(m_AuthedLinksMutex) ) | |
| Pending m_Pending | GUARDED_BY(m_PendingMutex ) |
Public Attributes inherited from llarp::ILinkLayer
Protected Attributes inherited from llarp::ILinkLayer
| Name | |
|---|---|
| AbstractRouter * | m_Router |
| SockAddr | m_ourAddr |
| std::shared_ptr< llarp::UDPHandle > | m_udp |
| SecretKey | m_SecretKey |
| std::unordered_map< SockAddr, RouterID > | m_AuthedAddrs |
| std::unordered_map< SockAddr, llarp_time_t > | m_RecentlyClosed |
Public Functions Documentation
function LinkLayer
LinkLayer(
std::shared_ptr< KeyManager > keyManager,
std::shared_ptr< EventLoop > ev,
GetRCFunc getrc,
LinkMessageHandler h,
SignBufferFunc sign,
BeforeConnectFunc_t before,
SessionEstablishedHandler est,
SessionRenegotiateHandler reneg,
TimeoutHandler timeout,
SessionClosedHandler closed,
PumpDoneHandler pumpDone,
WorkerFunc_t dowork,
bool permitInbound
)
function NewOutboundSession
virtual std::shared_ptr< ILinkSession > NewOutboundSession(
const RouterContact & rc,
const AddressInfo & ai
) override
Reimplements: llarp::ILinkLayer::NewOutboundSession
function Name
virtual std::string_view Name() const override
Reimplements: llarp::ILinkLayer::Name
function Rank
virtual uint16_t Rank() const override
Reimplements: llarp::ILinkLayer::Rank
function RecvFrom
virtual void RecvFrom(
const SockAddr & from,
ILinkSession::Packet_t pkt
) override
Reimplements: llarp::ILinkLayer::RecvFrom
Updated on 2026-01-10 at 22:49:45 +0000