class Socket: public IO::Base
{
-public:
- void set_block(bool);
- IO::Handle get_event_handle();
-
- bool get_connected() const { return connected; }
- void bind(const SockAddr &);
- virtual int connect(const SockAddr &) =0;
- void close();
- const SockAddr &get_local_address() const;
- const SockAddr &get_peer_address() const;
- ~Socket();
protected:
SocketHandle handle;
#ifdef WIN32
Socket(SocketHandle, const SockAddr &);
Socket(Family, int, int);
+public:
+ ~Socket();
+
+ void set_block(bool);
+ IO::Handle get_event_handle();
+
+ bool is_connected() const { return connected; }
+ void bind(const SockAddr &);
+ virtual int connect(const SockAddr &) =0;
+ void close();
+ const SockAddr &get_local_address() const;
+ const SockAddr &get_peer_address() const;
+protected:
void check_state(bool) const;
int get_option(int, int, void *, socklen_t *);
unsigned do_write(const char *, unsigned);