]> git.tdb.fi Git - libs/net.git/blobdiff - source/socket.cpp
Add an overload for resolve that takes host and service separately
[libs/net.git] / source / socket.cpp
index b5a6ec856ed615b9e3a8db920b4950f1a657917b..5af2b4f507e34de1a3527e1c9b99b5693441eae7 100644 (file)
@@ -49,7 +49,7 @@ Socket::Socket(const Private &p):
 
        SockAddr::SysAddr sa;
        getsockname(priv->handle, reinterpret_cast<sockaddr *>(&sa.addr), &sa.size);
-       local_addr = SockAddr::from_sys(sa);
+       local_addr = SockAddr::new_from_sys(sa);
 
 #ifdef WIN32
        *priv->event = CreateEvent(0, false, false, 0);
@@ -117,6 +117,13 @@ void Socket::bind(const SockAddr &addr)
        local_addr = addr.copy();
 }
 
+const SockAddr &Socket::get_local_address() const
+{
+       if(local_addr==0)
+               throw bad_socket_state("not bound");
+       return *local_addr;
+}
+
 void Socket::set_timeout(const Time::TimeDelta &timeout)
 {
 #ifndef WIN32
@@ -130,13 +137,6 @@ void Socket::set_timeout(const Time::TimeDelta &timeout)
 #endif
 }
 
-const SockAddr &Socket::get_local_address() const
-{
-       if(local_addr==0)
-               throw bad_socket_state("not bound");
-       return *local_addr;
-}
-
 int Socket::set_option(int level, int optname, const void *optval, socklen_t optlen)
 {
 #ifdef WIN32