summaryrefslogtreecommitdiffstats
path: root/src/Net/ServerConnection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Net/ServerConnection.h')
-rw-r--r--src/Net/ServerConnection.h22
1 files changed, 3 insertions, 19 deletions
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;}
};