26 lines
637 B
C++
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;
|
|
}
|
|
}
|
|
} |