#include <TCPSrvHostApp.h>
Public Member Functions | |
virtual void | init (TCPSrvHostApp *hostmodule, TCPSocket *socket) |
TCPServerThreadBase () | |
virtual | ~TCPServerThreadBase () |
virtual TCPSocket * | getSocket () |
virtual TCPSrvHostApp * | getHostModule () |
virtual void | scheduleAt (simtime_t t, cMessage *msg) |
virtual void | cancelEvent (cMessage *msg) |
Callback methods, called on different socket events. | |
virtual void | established ()=0 |
virtual void | dataArrived (cMessage *msg, bool urgent)=0 |
virtual void | timerExpired (cMessage *timer)=0 |
virtual void | peerClosed () |
virtual void | closed () |
virtual void | failure (int code) |
virtual void | statusArrived (TCPStatusInfo *status) |
Protected Member Functions | |
virtual void | socketDataArrived (int, void *, cPacket *msg, bool urgent) |
virtual void | socketEstablished (int, void *) |
virtual void | socketPeerClosed (int, void *) |
virtual void | socketClosed (int, void *) |
virtual void | socketFailure (int, void *, int code) |
virtual void | socketStatusArrived (int, void *, TCPStatusInfo *status) |
Protected Attributes | |
TCPSrvHostApp * | hostmod |
TCPSocket * | sock |
Abstract base class for server processes to be used with TCPSrvHostApp. Subclasses need to be registered using the Register_Class() macro.
Definition at line 53 of file TCPSrvHostApp.h.
TCPServerThreadBase::TCPServerThreadBase | ( | ) | [inline] |
Definition at line 72 of file TCPSrvHostApp.h.
{sock=NULL;}
virtual TCPServerThreadBase::~TCPServerThreadBase | ( | ) | [inline, virtual] |
Definition at line 73 of file TCPSrvHostApp.h.
{}
virtual void TCPServerThreadBase::cancelEvent | ( | cMessage * | msg | ) | [inline, virtual] |
virtual void TCPServerThreadBase::closed | ( | ) | [inline, virtual] |
Called when the connection closes (successful TCP teardown). By default it deletes this thread, but it can be redefined to do something different.
Definition at line 117 of file TCPSrvHostApp.h.
{hostmod->removeThread(this);}
virtual void TCPServerThreadBase::dataArrived | ( | cMessage * | msg, | |
bool | urgent | |||
) | [pure virtual] |
Called when a data packet arrives. To be redefined.
Implemented in TCPGenericSrvThread.
virtual void TCPServerThreadBase::established | ( | ) | [pure virtual] |
Called when connection is established. To be redefined.
Implemented in TCPGenericSrvThread.
virtual void TCPServerThreadBase::failure | ( | int | code | ) | [inline, virtual] |
Called when the connection breaks (TCP error). By default it deletes this thread, but it can be redefined to do something different.
Definition at line 123 of file TCPSrvHostApp.h.
{hostmod->removeThread(this);}
virtual TCPSrvHostApp* TCPServerThreadBase::getHostModule | ( | ) | [inline, virtual] |
virtual TCPSocket* TCPServerThreadBase::getSocket | ( | ) | [inline, virtual] |
Returns the socket object
Definition at line 76 of file TCPSrvHostApp.h.
Referenced by TCPGenericSrvThread::dataArrived(), and TCPSrvHostApp::removeThread().
{return sock;}
virtual void TCPServerThreadBase::init | ( | TCPSrvHostApp * | hostmodule, | |
TCPSocket * | socket | |||
) | [inline, virtual] |
Definition at line 69 of file TCPSrvHostApp.h.
Referenced by TCPSrvHostApp::handleMessage().
virtual void TCPServerThreadBase::peerClosed | ( | ) | [inline, virtual] |
Called when the client closes the connection. By default it closes our side too, but it can be redefined to do something different.
Definition at line 111 of file TCPSrvHostApp.h.
virtual void TCPServerThreadBase::scheduleAt | ( | simtime_t | t, | |
cMessage * | msg | |||
) | [inline, virtual] |
Schedule an event. Do not use getContextPointer() of cMessage, because TCPServerThreadBase uses it for its own purposes.
Definition at line 85 of file TCPSrvHostApp.h.
{msg->setContextPointer(this); hostmod->scheduleAt(t,msg);}
virtual void TCPServerThreadBase::socketClosed | ( | int | , | |
void * | ||||
) | [inline, protected, virtual] |
Reimplemented from TCPSocket::CallbackInterface.
Definition at line 64 of file TCPSrvHostApp.h.
{closed();}
virtual void TCPServerThreadBase::socketDataArrived | ( | int | , | |
void * | , | |||
cPacket * | msg, | |||
bool | urgent | |||
) | [inline, protected, virtual] |
Implements TCPSocket::CallbackInterface.
Definition at line 61 of file TCPSrvHostApp.h.
{dataArrived(msg,urgent);}
virtual void TCPServerThreadBase::socketEstablished | ( | int | , | |
void * | ||||
) | [inline, protected, virtual] |
Reimplemented from TCPSocket::CallbackInterface.
Definition at line 62 of file TCPSrvHostApp.h.
{established();}
virtual void TCPServerThreadBase::socketFailure | ( | int | , | |
void * | , | |||
int | code | |||
) | [inline, protected, virtual] |
Reimplemented from TCPSocket::CallbackInterface.
Definition at line 65 of file TCPSrvHostApp.h.
{failure(code);}
virtual void TCPServerThreadBase::socketPeerClosed | ( | int | , | |
void * | ||||
) | [inline, protected, virtual] |
Reimplemented from TCPSocket::CallbackInterface.
Definition at line 63 of file TCPSrvHostApp.h.
{peerClosed();}
virtual void TCPServerThreadBase::socketStatusArrived | ( | int | , | |
void * | , | |||
TCPStatusInfo * | status | |||
) | [inline, protected, virtual] |
Reimplemented from TCPSocket::CallbackInterface.
Definition at line 66 of file TCPSrvHostApp.h.
{statusArrived(status);}
virtual void TCPServerThreadBase::statusArrived | ( | TCPStatusInfo * | status | ) | [inline, virtual] |
Called when a status arrives in response to getSocket()->getStatus(). By default it deletes the status object, redefine it to add code to examine the status.
Definition at line 130 of file TCPSrvHostApp.h.
{delete status;}
virtual void TCPServerThreadBase::timerExpired | ( | cMessage * | timer | ) | [pure virtual] |
Called when a timer (scheduled via scheduleAt()) expires. To be redefined.
Implemented in TCPGenericSrvThread.
Referenced by TCPSrvHostApp::handleMessage().
TCPSrvHostApp* TCPServerThreadBase::hostmod [protected] |
Definition at line 56 of file TCPSrvHostApp.h.
TCPSocket* TCPServerThreadBase::sock [protected] |
Definition at line 57 of file TCPSrvHostApp.h.