llarp::dht::AbstractContext
Public Types
| Name | |
|---|---|
| using TXHolder< TXOwner, service::EncryptedIntroSet > | PendingIntrosetLookups |
| using TXHolder< RouterID, RouterContact > | PendingRouterLookups |
| using TXHolder< RouterID, RouterID > | PendingExploreLookups |
Public Functions
| Name | |
|---|---|
| virtual | ~AbstractContext() =0 |
| virtual bool | LookupRouter(const RouterID & target, RouterLookupHandler result) =0 |
| virtual void | LookupRouterRecursive(const RouterID & target, const Key_t & whoasked, uint64_t whoaskedTX, const Key_t & askpeer, RouterLookupHandler result =nullptr) =0 |
| virtual void | LookupIntroSetRelayed(const Key_t & target, const Key_t & whoasked, uint64_t whoaskedTX, const Key_t & askpeer, uint64_t relayOrder, service::EncryptedIntroSetLookupHandler result =service::EncryptedIntroSetLookupHandler()) =0 Ask a Service Node to perform an Introset lookup for us. |
| virtual void | LookupIntroSetDirect(const Key_t & target, const Key_t & whoasked, uint64_t whoaskedTX, const Key_t & askpeer, service::EncryptedIntroSetLookupHandler result =service::EncryptedIntroSetLookupHandler()) =0 Directly as a Service Node for an Introset. |
| virtual bool | HasRouterLookup(const RouterID & target) const =0 |
| virtual void | LookupRouterForPath(const RouterID & target, uint64_t txid, const PathID_t & path, const Key_t & askpeer) =0 issue dht lookup for router via askpeer and send reply to local path |
| virtual void | LookupIntroSetForPath(const Key_t & addr, uint64_t txid, const PathID_t & path, const Key_t & askpeer, uint64_t relayOrder) =0 |
| virtual void | DHTSendTo(const RouterID & peer, IMessage * msg, bool keepalive =true) =0 |
| virtual bool | HandleExploritoryRouterLookup(const Key_t & requester, uint64_t txid, const RouterID & target, std::vector< std::unique_ptr< IMessage > > & reply) =0 get routers closest to target excluding requester |
| virtual void | LookupRouterRelayed(const Key_t & requester, uint64_t txid, const Key_t & target, bool recursive, std::vector< std::unique_ptr< IMessage > > & replies) =0 handle rc lookup from requester for target |
| virtual bool | RelayRequestForPath(const PathID_t & localPath, const IMessage & msg) =0 |
| virtual void | PropagateLocalIntroSet(const PathID_t & path, uint64_t sourceTX, const service::EncryptedIntroSet & introset, const Key_t & peer, uint64_t relayOrder) =0 send introset to peer from source with S counter and excluding peers |
| virtual void | PropagateIntroSetTo(const Key_t & source, uint64_t sourceTX, const service::EncryptedIntroSet & introset, const Key_t & peer, uint64_t relayOrder) =0 send introset to peer from source with S counter and excluding peers |
| virtual void | Init(const Key_t & us, AbstractRouter * router) =0 |
| virtual std::optional< llarp::service::EncryptedIntroSet > | GetIntroSetByLocation(const Key_t & location) const =0 |
| virtual llarp_time_t | Now() const =0 |
| virtual void | ExploreNetworkVia(const Key_t & peer) =0 |
| virtual llarp::AbstractRouter * | GetRouter() const =0 |
| virtual bool | GetRCFromNodeDB(const Key_t & k, llarp::RouterContact & rc) const =0 |
| virtual const Key_t & | OurKey() const =0 |
| virtual PendingIntrosetLookups & | pendingIntrosetLookups() =0 |
| virtual const PendingIntrosetLookups & | pendingIntrosetLookups() const =0 |
| virtual PendingRouterLookups & | pendingRouterLookups() =0 |
| virtual const PendingRouterLookups & | pendingRouterLookups() const =0 |
| virtual PendingExploreLookups & | pendingExploreLookups() =0 |
| virtual const PendingExploreLookups & | pendingExploreLookups() const =0 |
| virtual Bucket< ISNode > * | services() =0 |
| virtual bool & | AllowTransit() =0 |
| virtual const bool & | AllowTransit() const =0 |
| virtual Bucket< RCNode > * | Nodes() const =0 |
| virtual void | PutRCNodeAsync(const RCNode & val) =0 |
| virtual void | DelRCNodeAsync(const Key_t & val) =0 |
| virtual void | StoreRC(const RouterContact rc) const =0 |
Public Types Documentation
using PendingIntrosetLookups
using llarp::dht::AbstractContext::PendingIntrosetLookups = TXHolder<TXOwner, service::EncryptedIntroSet>;
using PendingRouterLookups
using llarp::dht::AbstractContext::PendingRouterLookups = TXHolder<RouterID, RouterContact>;
using PendingExploreLookups
using llarp::dht::AbstractContext::PendingExploreLookups = TXHolder<RouterID, RouterID>;
Public Functions Documentation
function ~AbstractContext
virtual ~AbstractContext() =0
function LookupRouter
virtual bool LookupRouter(
const RouterID & target,
RouterLookupHandler result
) =0
function LookupRouterRecursive
virtual void LookupRouterRecursive(
const RouterID & target,
const Key_t & whoasked,
uint64_t whoaskedTX,
const Key_t & askpeer,
RouterLookupHandler result =nullptr
) =0
function LookupIntroSetRelayed
virtual void LookupIntroSetRelayed(
const Key_t & target,
const Key_t & whoasked,
uint64_t whoaskedTX,
const Key_t & askpeer,
uint64_t relayOrder,
service::EncryptedIntroSetLookupHandler result =service::EncryptedIntroSetLookupHandler()
) =0
Ask a Service Node to perform an Introset lookup for us.
function LookupIntroSetDirect
virtual void LookupIntroSetDirect(
const Key_t & target,
const Key_t & whoasked,
uint64_t whoaskedTX,
const Key_t & askpeer,
service::EncryptedIntroSetLookupHandler result =service::EncryptedIntroSetLookupHandler()
) =0
Directly as a Service Node for an Introset.
function HasRouterLookup
virtual bool HasRouterLookup(
const RouterID & target
) const =0
function LookupRouterForPath
virtual void LookupRouterForPath(
const RouterID & target,
uint64_t txid,
const PathID_t & path,
const Key_t & askpeer
) =0
issue dht lookup for router via askpeer and send reply to local path
function LookupIntroSetForPath
virtual void LookupIntroSetForPath(
const Key_t & addr,
uint64_t txid,
const PathID_t & path,
const Key_t & askpeer,
uint64_t relayOrder
) =0
function DHTSendTo
virtual void DHTSendTo(
const RouterID & peer,
IMessage * msg,
bool keepalive =true
) =0
function HandleExploritoryRouterLookup
virtual bool HandleExploritoryRouterLookup(
const Key_t & requester,
uint64_t txid,
const RouterID & target,
std::vector< std::unique_ptr< IMessage > > & reply
) =0
get routers closest to target excluding requester
function LookupRouterRelayed
virtual void LookupRouterRelayed(
const Key_t & requester,
uint64_t txid,
const Key_t & target,
bool recursive,
std::vector< std::unique_ptr< IMessage > > & replies
) =0
handle rc lookup from requester for target
function RelayRequestForPath
virtual bool RelayRequestForPath(
const PathID_t & localPath,
const IMessage & msg
) =0
function PropagateLocalIntroSet
virtual void PropagateLocalIntroSet(
const PathID_t & path,
uint64_t sourceTX,
const service::EncryptedIntroSet & introset,
const Key_t & peer,
uint64_t relayOrder
) =0
send introset to peer from source with S counter and excluding peers
function PropagateIntroSetTo
virtual void PropagateIntroSetTo(
const Key_t & source,
uint64_t sourceTX,
const service::EncryptedIntroSet & introset,
const Key_t & peer,
uint64_t relayOrder
) =0
send introset to peer from source with S counter and excluding peers
function Init
virtual void Init(
const Key_t & us,
AbstractRouter * router
) =0
function GetIntroSetByLocation
virtual std::optional< llarp::service::EncryptedIntroSet > GetIntroSetByLocation(
const Key_t & location
) const =0
function Now
virtual llarp_time_t Now() const =0
function ExploreNetworkVia
virtual void ExploreNetworkVia(
const Key_t & peer
) =0
function GetRouter
virtual llarp::AbstractRouter * GetRouter() const =0
function GetRCFromNodeDB
virtual bool GetRCFromNodeDB(
const Key_t & k,
llarp::RouterContact & rc
) const =0
function OurKey
virtual const Key_t & OurKey() const =0
function pendingIntrosetLookups
virtual PendingIntrosetLookups & pendingIntrosetLookups() =0
function pendingIntrosetLookups
virtual const PendingIntrosetLookups & pendingIntrosetLookups() const =0
function pendingRouterLookups
virtual PendingRouterLookups & pendingRouterLookups() =0
function pendingRouterLookups
virtual const PendingRouterLookups & pendingRouterLookups() const =0
function pendingExploreLookups
virtual PendingExploreLookups & pendingExploreLookups() =0
function pendingExploreLookups
virtual const PendingExploreLookups & pendingExploreLookups() const =0
function services
virtual Bucket< ISNode > * services() =0
function AllowTransit
virtual bool & AllowTransit() =0
function AllowTransit
virtual const bool & AllowTransit() const =0
function Nodes
virtual Bucket< RCNode > * Nodes() const =0
function PutRCNodeAsync
virtual void PutRCNodeAsync(
const RCNode & val
) =0
function DelRCNodeAsync
virtual void DelRCNodeAsync(
const Key_t & val
) =0
function StoreRC
virtual void StoreRC(
const RouterContact rc
) const =0
Updated on 2026-01-10 at 22:49:45 +0000