-void Socket::close()
-{
- if(handle==MSP_NET_INVALID_SOCKET_HANDLE)
- return;
-
- set_events(IO::P_NONE);
-
- signal_flush_required.emit();
-#ifdef WIN32
- closesocket(handle);
- CloseHandle(event);
-#else
- ::close(handle);
-#endif
- handle = MSP_NET_INVALID_SOCKET_HANDLE;
- connected = false;
- signal_closed.emit();
-
- delete local_addr;
- local_addr = 0;
- delete peer_addr;
- peer_addr = 0;
-}
-