X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsocket.h;h=f97588415b1e5df052b1138a1e706f596810fc0b;hb=21c596567e3b6fd794ed6af73d304ce2bc70e58f;hp=861012b8cc50c0bb2114440f0de2439fcacaa744;hpb=4b408e693bcb004ccaa6958610e946cfbeff9465;p=libs%2Fnet.git diff --git a/source/socket.h b/source/socket.h index 861012b..f975884 100644 --- a/source/socket.h +++ b/source/socket.h @@ -28,36 +28,26 @@ protected: struct Private; Private *priv; - bool connected; SockAddr *local_addr; - SockAddr *peer_addr; - Socket(const Private &, const SockAddr &); + Socket(const Private &); Socket(Family, int, int); public: ~Socket(); - void set_block(bool); - const IO::Handle &get_event_handle(); + virtual void set_block(bool); + virtual const 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 &); - /** Connects to a remote address. Exact semantics depend on the socket - type. */ - virtual int connect(const SockAddr &) = 0; + const SockAddr &get_local_address() const; void set_timeout(const Time::TimeDelta &); - const SockAddr &get_local_address() const; - const SockAddr &get_peer_address() const; protected: int set_option(int, int, const void *, socklen_t); int get_option(int, int, void *, socklen_t *) const; - unsigned do_write(const char *, unsigned); - unsigned do_read(char *, unsigned); }; } // namespace Net