From 0e38acdaff7ef753f1d4e140eec9dbaec6f7a047 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 25 Jun 2008 23:31:48 +0200 Subject: Nicht-blockierende E/A benutzen --- src/Net/ServerConnection.h | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'src/Net/ServerConnection.h') diff --git a/src/Net/ServerConnection.h b/src/Net/ServerConnection.h index cd983e0..0fd5f0b 100644 --- a/src/Net/ServerConnection.h +++ b/src/Net/ServerConnection.h @@ -29,27 +29,22 @@ namespace Net { class ServerConnection : public Connection { private: - bool connected; IPAddress *peer; - bool connecting; - bool daemon; - int sock; - gnutls_session_t session; gnutls_anon_server_credentials_t anoncred; gnutls_dh_params_t dh_params; void connectionHeaderReceiveHandler(const void *data, unsigned long length); protected: - virtual gnutls_session_t& getSession() { - return session; + virtual void connectionHeader() { + rawReceive(sizeof(ConnectionHeader), sigc::mem_fun(this, &ServerConnection::connectionHeaderReceiveHandler)); } public: - ServerConnection() : connected(false), connecting(false), daemon(false) { + ServerConnection() : daemon(false) { gnutls_anon_allocate_server_credentials(&anoncred); gnutls_dh_params_init(&dh_params); @@ -58,22 +53,11 @@ class ServerConnection : public Connection { } virtual ~ServerConnection() { - if(connected) - disconnect(); - gnutls_dh_params_deinit(dh_params); gnutls_anon_free_server_credentials(anoncred); } void listen(const IPAddress &address) throw(ConnectionException); - void disconnect(); - - virtual bool dataPending() const; - - virtual bool isConnected() const {return connected;} - virtual const IPAddress* getPeer() const {return peer;} - - virtual bool isConnecting() const {return connecting;} bool isDaemonConnection() const {return daemon;} }; -- cgit v1.2.3