#include <cerrno>
#include <msp/core/refptr.h>
#include <msp/core/systemerror.h>
+#include <msp/io/handle_private.h>
#include <msp/strings/format.h>
+#include "socket_private.h"
#include "streamlistensocket.h"
#include "streamsocket.h"
{
bind(addr);
- int err = ::listen(handle, backlog);
+ int err = ::listen(priv->handle, backlog);
if(err==-1)
throw system_error("listen");
#ifdef WIN32
- WSAEventSelect(handle, event, FD_ACCEPT);
+ WSAEventSelect(priv->handle, *priv->event, FD_ACCEPT);
#endif
set_events(IO::P_INPUT);
sockaddr_storage sa;
socklen_t size = sizeof(sockaddr_storage);
- SocketHandle new_h = ::accept(handle, reinterpret_cast<sockaddr *>(&sa), &size);
+ Private new_p;
+ new_p.handle = ::accept(priv->handle, reinterpret_cast<sockaddr *>(&sa), &size);
RefPtr<SockAddr> paddr = SockAddr::create(sa);
- return new StreamSocket(new_h, *paddr);
+ return new StreamSocket(new_p, *paddr);
}
} // namespace Net