lokinet/llarp/router_id.cpp

36 lines
681 B
C++
Raw Normal View History

#include <router_id.hpp>
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;
}
bool
RouterID::FromString(const std::string& str)
{
auto pos = str.find(".snode");
if (pos == std::string::npos || pos == 0)
2019-08-26 23:29:17 +00:00
{
return false;
2019-08-26 23:29:17 +00:00
}
return Base32Decode(str.substr(0, pos), *this);
}
} // namespace llarp