Back to Site
Loading...
Searching...
No Matches
librats::DhtDiscovery Class Referencefinal

#include <dht_discovery.h>

Inheritance diagram for librats::DhtDiscovery:
[legend]
Collaboration diagram for librats::DhtDiscovery:
[legend]

Classes

struct  Config
 

Public Member Functions

 DhtDiscovery (Config config)
 
 ~DhtDiscovery () override
 
void attach (NodeContext &ctx) override
 
void start () override
 
void stop () override
 
bool is_running () const
 
DhtClient * dht_client () override
 DhtService: hand out the live Kademlia node so siblings (e.g.
 
uint16_t dht_port () const
 IPv4 DHT UDP port (0 if not running)
 
uint16_t dht_port_v6 () const
 IPv6 DHT UDP port (0 if not running)
 
InfoHash discovery_hash () const
 
std::string external_address () const
 Our external (public) IP currently used to derive the DHT node id, learned via STUN at startup or in-DHT "ip" voting.
 
- Public Member Functions inherited from librats::Subsystem
virtual ~Subsystem ()=default
 

Static Public Member Functions

static InfoHash hash_for_key (const std::string &key)
 Map an application key to a stable 20-byte discovery hash (SHA-1).
 

Detailed Description

Definition at line 40 of file dht_discovery.h.

Constructor & Destructor Documentation

◆ DhtDiscovery()

librats::DhtDiscovery::DhtDiscovery ( Config  config)
explicit

◆ ~DhtDiscovery()

librats::DhtDiscovery::~DhtDiscovery ( )
override

Member Function Documentation

◆ attach()

void librats::DhtDiscovery::attach ( NodeContext ctx)
overridevirtual

Implements librats::Subsystem.

◆ dht_client()

DhtClient * librats::DhtDiscovery::dht_client ( )
inlineoverride

DhtService: hand out the live Kademlia node so siblings (e.g.

Bittorrent) can share this swarm. IPv4 preferred, IPv6 fallback; nullptr before start() / after stop(). Borrow it during start() and drop it in stop() (see DhtService).

Definition at line 73 of file dht_discovery.h.

◆ dht_port()

uint16_t librats::DhtDiscovery::dht_port ( ) const

IPv4 DHT UDP port (0 if not running)

◆ dht_port_v6()

uint16_t librats::DhtDiscovery::dht_port_v6 ( ) const

IPv6 DHT UDP port (0 if not running)

◆ discovery_hash()

InfoHash librats::DhtDiscovery::discovery_hash ( ) const
inline

Definition at line 77 of file dht_discovery.h.

◆ external_address()

std::string librats::DhtDiscovery::external_address ( ) const

Our external (public) IP currently used to derive the DHT node id, learned via STUN at startup or in-DHT "ip" voting.

"" if not yet known / random.

◆ hash_for_key()

static InfoHash librats::DhtDiscovery::hash_for_key ( const std::string &  key)
static

Map an application key to a stable 20-byte discovery hash (SHA-1).

◆ is_running()

bool librats::DhtDiscovery::is_running ( ) const

◆ start()

void librats::DhtDiscovery::start ( )
overridevirtual

Implements librats::Subsystem.

◆ stop()

void librats::DhtDiscovery::stop ( )
overridevirtual

Implements librats::Subsystem.


The documentation for this class was generated from the following file: