X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsocket.h;h=db4206cb7546a5f84e7345035def471a3b09c0e5;hb=a4f75be32827b00d9de9d8a68855fec2f5157a10;hp=f275a7e2b35a0712fd97f78fe6774e226fdce8fe;hpb=f59eded7c3e162bbdfc6db424c9badc730017698;p=libs%2Fnet.git diff --git a/source/socket.h b/source/socket.h index f275a7e..db4206c 100644 --- a/source/socket.h +++ b/source/socket.h @@ -18,17 +18,6 @@ namespace Net { 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 @@ -40,8 +29,23 @@ protected: 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(); + void set_timeout(const Time::TimeDelta &); + 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 *); + 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); };