@@ -23,19 +23,6 @@ using v8::Object;
2323using v8::Uint32;
2424using v8::Value;
2525
26- namespace {
27- template <typename T, typename F>
28- SocketAddress FromUVHandle (F fn, const T& handle) {
29- SocketAddress addr;
30- int len = sizeof (sockaddr_storage);
31- if (fn (&handle, addr.storage (), &len) == 0 )
32- CHECK_EQ (static_cast <size_t >(len), addr.length ());
33- else
34- addr.storage ()->sa_family = 0 ;
35- return addr;
36- }
37- } // namespace
38-
3926bool SocketAddress::ToSockAddr (
4027 int32_t family,
4128 const char * host,
@@ -96,19 +83,23 @@ size_t SocketAddress::Hash::operator()(const SocketAddress& addr) const {
9683 return hash;
9784}
9885
99- SocketAddress SocketAddress::FromSockName (const uv_tcp_t & handle) {
86+ std::shared_ptr<SocketAddress> SocketAddress::FromSockName (
87+ const uv_tcp_t & handle) {
10088 return FromUVHandle (uv_tcp_getsockname, handle);
10189}
10290
103- SocketAddress SocketAddress::FromSockName (const uv_udp_t & handle) {
91+ std::shared_ptr<SocketAddress> SocketAddress::FromSockName (
92+ const uv_udp_t & handle) {
10493 return FromUVHandle (uv_udp_getsockname, handle);
10594}
10695
107- SocketAddress SocketAddress::FromPeerName (const uv_tcp_t & handle) {
96+ std::shared_ptr<SocketAddress> SocketAddress::FromPeerName (
97+ const uv_tcp_t & handle) {
10898 return FromUVHandle (uv_tcp_getpeername, handle);
10999}
110100
111- SocketAddress SocketAddress::FromPeerName (const uv_udp_t & handle) {
101+ std::shared_ptr<SocketAddress> SocketAddress::FromPeerName (
102+ const uv_udp_t & handle) {
112103 return FromUVHandle (uv_udp_getpeername, handle);
113104}
114105
0 commit comments