2018-12-12 02:52:51 +00:00
|
|
|
#include <router_id.hpp>
|
2018-12-10 17:22:59 +00:00
|
|
|
|
|
|
|
namespace llarp
|
|
|
|
{
|
|
|
|
std::string
|
|
|
|
RouterID::ToString() const
|
|
|
|
{
|
|
|
|
char stack[64] = {0};
|
|
|
|
return std::string(llarp::Base32Encode(*this, stack)) + ".snode";
|
|
|
|
}
|
|
|
|
|
2020-03-01 00:26:23 +00:00
|
|
|
std::string
|
|
|
|
RouterID::ShortString() const
|
|
|
|
{
|
|
|
|
return ToString().substr(0, 8);
|
|
|
|
}
|
|
|
|
|
2019-02-11 17:14:43 +00:00
|
|
|
util::StatusObject
|
|
|
|
RouterID::ExtractStatus() const
|
|
|
|
{
|
|
|
|
util::StatusObject obj{{"snode", ToString()}, {"hex", ToHex()}};
|
|
|
|
return obj;
|
|
|
|
}
|
|
|
|
|
2018-12-10 17:22:59 +00:00
|
|
|
bool
|
|
|
|
RouterID::FromString(const std::string& str)
|
|
|
|
{
|
|
|
|
auto pos = str.find(".snode");
|
2020-04-07 18:38:56 +00:00
|
|
|
if (pos == std::string::npos || pos == 0)
|
2019-08-26 23:29:17 +00:00
|
|
|
{
|
2018-12-10 17:22:59 +00:00
|
|
|
return false;
|
2019-08-26 23:29:17 +00:00
|
|
|
}
|
2018-12-10 17:22:59 +00:00
|
|
|
return Base32Decode(str.substr(0, pos), *this);
|
|
|
|
}
|
|
|
|
} // namespace llarp
|