llarp::service::HiddenServiceAddressLookup

Inherits from llarp::service::IServiceLookup

Public Types

Name
using std::function< bool(const Address &, std::optional< IntroSet >, const RouterID &, llarp_time_t, uint64_t)> HandlerFunc

Public Functions

Name
HiddenServiceAddressLookup(Endpoint * p, HandlerFunc h, const dht::Key_t & location, const PubKey & rootkey, const RouterID & routerAsked, uint64_t relayOrder, uint64_t tx, llarp_time_t timeout)
~HiddenServiceAddressLookup() override =default
virtual bool IsFor(EndpointBase::AddressVariant_t ) const override
return true if this lookup is for a remote address
virtual bool HandleIntrosetResponse(const std::set< EncryptedIntroSet > & ) override
handle lookup result for introsets
virtual std::shared_ptr< routing::IMessage > BuildRequestMessage() override
build request message for service lookup

Public Attributes

Name
const PubKey rootkey
uint64_t relayOrder
const dht::Key_t location
HandlerFunc handle

Additional inherited members

Public Functions inherited from llarp::service::IServiceLookup

Name
IServiceLookup() =delete
virtual ~IServiceLookup() =default
virtual bool HandleNameResponse(std::optional< Address > )
handle lookup result for introsets
virtual void HandleTimeout()
bool IsTimedOut(llarp_time_t now) const
determine if this request has timed out
llarp_time_t TimeLeft(llarp_time_t now) const
return how long this request has left to be fufilled
virtual bool SendRequestViaPath(path::Path_ptr p, AbstractRouter * r)
build a new request message and send it via a path

Protected Functions inherited from llarp::service::IServiceLookup

Name
IServiceLookup(ILookupHolder * parent, uint64_t tx, std::string name, llarp_time_t timeout =10s)

Public Attributes inherited from llarp::service::IServiceLookup

Name
ILookupHolder * m_parent
uint64_t txid
const std::string name
RouterID endpoint

Protected Attributes inherited from llarp::service::IServiceLookup

Name
const llarp_time_t m_created
const llarp_time_t m_timeout

Public Types Documentation

using HandlerFunc

using llarp::service::HiddenServiceAddressLookup::HandlerFunc =  std::function<bool( const Address&, std::optional<IntroSet>, const RouterID&, llarp_time_t, uint64_t)>;

Public Functions Documentation

function HiddenServiceAddressLookup

HiddenServiceAddressLookup(
    Endpoint * p,
    HandlerFunc h,
    const dht::Key_t & location,
    const PubKey & rootkey,
    const RouterID & routerAsked,
    uint64_t relayOrder,
    uint64_t tx,
    llarp_time_t timeout
)

function ~HiddenServiceAddressLookup

~HiddenServiceAddressLookup() override =default

function IsFor

inline virtual bool IsFor(
    EndpointBase::AddressVariant_t 
) const override

return true if this lookup is for a remote address

Reimplements: llarp::service::IServiceLookup::IsFor

function HandleIntrosetResponse

virtual bool HandleIntrosetResponse(
    const std::set< EncryptedIntroSet > & 
) override

handle lookup result for introsets

Reimplements: llarp::service::IServiceLookup::HandleIntrosetResponse

function BuildRequestMessage

virtual std::shared_ptr< routing::IMessage > BuildRequestMessage() override

build request message for service lookup

Reimplements: llarp::service::IServiceLookup::BuildRequestMessage

Public Attributes Documentation

variable rootkey

const PubKey rootkey;

variable relayOrder

uint64_t relayOrder;

variable location

const dht::Key_t location;

variable handle

HandlerFunc handle;

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