#include "contacts.hpp" #include #include namespace llarp { Contacts::Contacts(Router& r) : _router{r}, _local_key{r.pubkey()} { timer_keepalive = std::make_shared(0); _introset_nodes = std::make_unique>(_local_key, llarp::randint); } std::optional Contacts::get_introset_by_location(const dht::Key_t& key) const { std::optional enc = std::nullopt; auto& introsets = _introset_nodes->nodes; if (auto itr = introsets.find(key); itr != introsets.end()) enc = itr->second.introset; return enc; } util::StatusObject Contacts::ExtractStatus() const { util::StatusObject obj{ {"services", _introset_nodes->ExtractStatus()}, {"local_key", _local_key.ToHex()}}; return obj; } void Contacts::put_intro(service::EncryptedIntroSet enc) { _introset_nodes->PutNode(std::move(enc)); } } // namespace llarp