#include <msp/io/handle.h>
#include "constants.h"
#include "sockaddr.h"
-#include "types.h"
namespace Msp {
namespace Net {
+#ifdef WIN32
+typedef int socklen_t;
+#endif
+
+
class bad_socket_state: public std::logic_error
{
public:
class Socket: public IO::EventObject
{
protected:
- SocketHandle handle;
- IO::Handle event;
+ struct Private;
+
+ Private *priv;
bool connected;
SockAddr *local_addr;
SockAddr *peer_addr;
- Socket(SocketHandle, const SockAddr &);
+ Socket(const Private &, const SockAddr &);
Socket(Family, int, int);
public:
~Socket();