IO::Handle get_event_handle();
bool is_connected() const { return connected; }
+
+ /** Associates the socket with a local address. There must be no existing
+ users of the address. */
void bind(const SockAddr &);
- virtual int connect(const SockAddr &) =0;
+
+ /** Connects to a remote address. Exact semantics depend on the socket
+ type. */
+ virtual int connect(const SockAddr &) = 0;
+
+ /// Closes the socket. Most operations will throw an exception after this.
void close();
+
void set_timeout(const Time::TimeDelta &);
const SockAddr &get_local_address() const;
const SockAddr &get_peer_address() const;