mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-09 13:10:25 +00:00
43 lines
802 B
C++
43 lines
802 B
C++
#ifndef LLARP_SERVICE_ADDRESS_HPP
|
|
#define LLARP_SERVICE_ADDRESS_HPP
|
|
#include <llarp/aligned.hpp>
|
|
#include <llarp/dht/key.hpp>
|
|
#include <string>
|
|
|
|
namespace llarp
|
|
{
|
|
namespace service
|
|
{
|
|
struct Address : public llarp::AlignedBuffer< 32 >
|
|
{
|
|
std::string
|
|
ToString() const;
|
|
|
|
Address() : llarp::AlignedBuffer< 32 >()
|
|
{
|
|
}
|
|
|
|
Address(const byte_t* data) : llarp::AlignedBuffer< 32 >(data)
|
|
{
|
|
}
|
|
struct Hash
|
|
{
|
|
size_t
|
|
operator()(const Address& addr) const
|
|
{
|
|
size_t idx = 0;
|
|
memcpy(&idx, addr, sizeof(idx));
|
|
return idx;
|
|
}
|
|
};
|
|
|
|
operator const dht::Key_t() const
|
|
{
|
|
return dht::Key_t(data());
|
|
}
|
|
};
|
|
|
|
} // namespace service
|
|
} // namespace llarp
|
|
|
|
#endif |