1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
lokinet/llarp/service/convotag.hpp
2021-04-19 06:58:36 -04:00

37 lines
690 B
C++

#pragma once
#include <llarp/util/aligned.hpp>
#include <llarp/net/net_int.hpp>
#include <llarp/net/net.hpp>
namespace llarp::service
{
struct ConvoTag final : AlignedBuffer<16>
{
using AlignedBuffer<16>::AlignedBuffer;
void
Randomize() override;
sockaddr_in6
ToV6() const;
void
FromV6(sockaddr_in6 saddr);
};
} // namespace llarp::service
namespace std
{
template <>
struct hash<llarp::service::ConvoTag>
{
size_t
operator()(const llarp::service::ConvoTag& tag) const
{
std::hash<std::string_view> h{};
return h(std::string_view{reinterpret_cast<const char*>(tag.data()), tag.size()});
}
};
} // namespace std