FeatherMC/src/network/SocketAddress.cpp

26 lines
637 B
C++

#include "SocketAddress.h"
#include <event2/event.h>
namespace Feather::Network
{
SocketAddress::SocketAddress(sockaddr* addr)
{
if (addr->sa_family == AF_INET)
{
auto sin = reinterpret_cast<const sockaddr_in*>(addr);
evutil_inet_ntop(sin->sin_family, &sin->sin_addr,
ip, sizeof(ip));
port = sin->sin_port;
}
else
{
auto sin = reinterpret_cast<const sockaddr_in6*>(addr);
evutil_inet_ntop(sin->sin6_family, &sin->sin6_addr,
ip, sizeof(ip));
port = sin->sin6_port;
}
}
}