From 7e87778a02f3d37865c10051a3f14038bbbcbaef Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 13 Sep 2008 03:59:58 +0200 Subject: Benutze weniger Inline-Funktionen --- src/Net/Connection.h | 58 ++++++---------------------------------------------- 1 file changed, 6 insertions(+), 52 deletions(-) (limited to 'src/Net/Connection.h') diff --git a/src/Net/Connection.h b/src/Net/Connection.h index 0f012f1..58e7291 100644 --- a/src/Net/Connection.h +++ b/src/Net/Connection.h @@ -72,14 +72,7 @@ class Connection { return (transR.length == transR.transmitted); } - void bye() { - if(state != DISCONNECT) - return; - - state = BYE; - - doBye(); - } + void bye(); // Prevent shallow copy Connection(const Connection &o); @@ -104,28 +97,14 @@ class Connection { IPAddress *peer; - void handshake() { - if(isConnected()) - return; - - state = HANDSHAKE; - - doHandshake(); - } + void handshake(); virtual void connectionHeader() = 0; bool rawReceive(unsigned long length, const sigc::slot ¬ify); bool rawSend(const uint8_t *data, unsigned long length); - bool enterReceiveLoop() { - if(!isConnected() || isDisconnecting()) - return false; - - state = PACKET_HEADER; - - return rawReceive(sizeof(Packet::Data), sigc::mem_fun(this, &Connection::packetHeaderReceiveHandler)); - } + bool enterReceiveLoop(); public: Connection() : state(DISCONNECTED), authenticated(false), peer(0) { @@ -135,20 +114,7 @@ class Connection { gnutls_certificate_allocate_credentials(&x509_cred); } - virtual ~Connection() { - if(isConnected()) - doDisconnect(); - - if(transR.data) - delete [] transR.data; - - while(!sendQueueEmpty()) { - delete [] transS.front().data; - transS.pop(); - } - - gnutls_certificate_free_credentials(x509_cred); - } + virtual ~Connection(); bool isConnected() const {return (state != DISCONNECTED);} bool isConnecting() const { @@ -174,23 +140,11 @@ class Connection { const IPAddress* getPeer() {return peer;} int getSocket() const {return sock;} - void disconnect() { - if(isConnected() && !isDisconnecting()) { - state = DISCONNECT; - - if(sendQueueEmpty()) - bye(); - } - } + void disconnect(); struct pollfd getPollfd() const; - bool send(const Packet &packet) { - if(!isConnected() || isConnecting() || isDisconnecting()) - return false; - - return rawSend((const uint8_t*)packet.getRawData(), packet.getRawDataLength()); - } + bool send(const Packet &packet); void sendReceive(short events = POLLIN|POLLOUT); -- cgit v1.2.3