src/Network/Socket.cc
changeset 446 e411c0799fcc
parent 399 c7295b72731a
--- a/src/Network/Socket.cc	Sat Jan 31 15:21:57 2009 +0200
+++ b/src/Network/Socket.cc	Fri Sep 11 15:34:48 2009 +0300
@@ -19,15 +19,21 @@
 }
 
 NetworkSocket::NetworkSocket (int family, int socktype, int protocol, NetworkReactor *reactor) :
-    sock_type(family, socktype, protocol), fd(-1), type(family, socktype, protocol), registered(0), reactor(reactor ? reactor : NetworkReactor::current)
+    sock_type(family, socktype, protocol), fd(-1), type(family, socktype, protocol),
+    bound(false),
+    registered(false), reactor(reactor ? reactor : NetworkReactor::current),
+    want_read(false), want_write(false)
 {
-    reset();
+
 }
         
 NetworkSocket::NetworkSocket (int fd, socket_type type, NetworkReactor *reactor) :
-    sock_type(type), fd(fd), type(type), registered(0), reactor(reactor ? reactor : NetworkReactor::current)
+    sock_type(type), fd(fd), type(type), 
+    bound(false),
+    registered(false), reactor(reactor ? reactor : NetworkReactor::current),
+    want_read(false), want_write(false)
 {
-    reset();
+
 }
         
 NetworkSocket::~NetworkSocket (void) {
@@ -41,9 +47,8 @@
 }
         
 void NetworkSocket::reset (void) {
+    fd = -1;
     bound = false;
-    want_read = false;
-    want_write = false;
 }
 
 void NetworkSocket::lazy_socket (int family, int socktype, int protocol) {
@@ -75,8 +80,7 @@
     if (::closesocket(fd))
         Engine::log(WARN, "socket.force_close") << "error closing socket: " << dump_errno();
     
-    // reset state
-    fd = -1;
+    // forget fd
     reset();
 }
 
@@ -134,10 +138,9 @@
     if (::getsockname(fd, addr.get_sockaddr(), addr.get_socklen_ptr()))
         throw NetworkSocketErrno(*this, "getsockname");
 
-    // update
+    // updated sockaddr
     addr.update();
 
-    // return addr
     return addr;
 }
 
@@ -148,10 +151,9 @@
     if (::getpeername(fd, addr.get_sockaddr(), addr.get_socklen_ptr()))
         throw NetworkSocketErrno(*this, "getpeername");
 
-    // update
+    // updated sockaddr
     addr.update();
 
-    // return addr
     return addr;
 }
         
@@ -180,7 +182,6 @@
     if (src)
         src->update();
 
-    // done
     return socket;
 }
         
@@ -296,8 +297,7 @@
     if (::closesocket(fd))
         throw NetworkSocketErrno(*this, "close");
     
-    // reset
-    fd = -1;
+    // forget fd
     reset();
 }