llarp::service::IntroSet

Public Functions

Name
bool OtherIsNewer(const IntroSet & other) const
std::string ToString() const
llarp_time_t GetNewestIntroExpiration() const
bool GetNewestIntro(Introduction & intro) const
bool HasExpiredIntros(llarp_time_t now) const
bool HasStaleIntros(llarp_time_t now, llarp_time_t delta) const
return true if any of our intros expires soon given a delta
bool IsExpired(llarp_time_t now) const
std::vector< llarp::dns::SRVData > GetMatchingSRVRecords(std::string_view service_proto) const
bool BEncode(llarp_buffer_t * buf) const
bool BDecode(llarp_buffer_t * buf)
bool DecodeKey(const llarp_buffer_t & key, llarp_buffer_t * buf)
bool Verify(llarp_time_t now) const

Public Attributes

Name
ServiceInfo addressKeys
std::vector< Introduction > intros
PQPubKey sntrupKey
Tag topic
std::vector< llarp::dns::SRVTuple > SRVs
llarp_time_t timestampSignedAt
std::vector< ProtocolType > supportedProtocols
ethertypes we advertise that we speak
std::set< IPRange > ownedRanges
aonnuce that these ranges are reachable via our endpoint only set when we support exit traffic ethertype is supported
std::optional< net::TrafficPolicy > exitTrafficPolicy
policies about traffic that we are willing to carry a protocol/range whitelist or blacklist only set when we support exit traffic ethertype
Signature signature
uint64_t version

Public Functions Documentation

function OtherIsNewer

inline bool OtherIsNewer(
    const IntroSet & other
) const

function ToString

std::string ToString() const

function GetNewestIntroExpiration

llarp_time_t GetNewestIntroExpiration() const

function GetNewestIntro

bool GetNewestIntro(
    Introduction & intro
) const

function HasExpiredIntros

bool HasExpiredIntros(
    llarp_time_t now
) const

function HasStaleIntros

bool HasStaleIntros(
    llarp_time_t now,
    llarp_time_t delta
) const

return true if any of our intros expires soon given a delta

function IsExpired

bool IsExpired(
    llarp_time_t now
) const

function GetMatchingSRVRecords

std::vector< llarp::dns::SRVData > GetMatchingSRVRecords(
    std::string_view service_proto
) const

function BEncode

bool BEncode(
    llarp_buffer_t * buf
) const

function BDecode

inline bool BDecode(
    llarp_buffer_t * buf
)

function DecodeKey

bool DecodeKey(
    const llarp_buffer_t & key,
    llarp_buffer_t * buf
)

function Verify

bool Verify(
    llarp_time_t now
) const

Public Attributes Documentation

variable addressKeys

ServiceInfo addressKeys;

variable intros

std::vector< Introduction > intros;

variable sntrupKey

PQPubKey sntrupKey;

variable topic

Tag topic;

variable SRVs

std::vector< llarp::dns::SRVTuple > SRVs;

variable timestampSignedAt

llarp_time_t timestampSignedAt = 0s;

variable supportedProtocols

std::vector< ProtocolType > supportedProtocols;

ethertypes we advertise that we speak

variable ownedRanges

std::set< IPRange > ownedRanges;

aonnuce that these ranges are reachable via our endpoint only set when we support exit traffic ethertype is supported

variable exitTrafficPolicy

std::optional< net::TrafficPolicy > exitTrafficPolicy;

policies about traffic that we are willing to carry a protocol/range whitelist or blacklist only set when we support exit traffic ethertype

variable signature

Signature signature;

variable version

uint64_t version = llarp::constants::proto_version;

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