INET Framework for OMNeT++/OMNEST
inet::TcpSinkAppThread Class Reference

#include <TcpSinkApp.h>

Inheritance diagram for inet::TcpSinkAppThread:
inet::TcpServerThreadBase inet::TcpSocket::ICallback

Protected Member Functions

virtual void initialize (int stage) override
 
virtual int numInitStages () const override
 
virtual void refreshDisplay () const override
 
virtual void established () override
 Called when connection is established. More...
 
virtual void dataArrived (Packet *msg, bool urgent) override
 
virtual void timerExpired (cMessage *timer) override
 
virtual void init (TcpServerHostApp *hostmodule, TcpSocket *socket) override
 
- Protected Member Functions inherited from inet::TcpServerThreadBase
virtual void socketDataArrived (TcpSocket *socket, Packet *msg, bool urgent) override
 Notifies about data arrival, packet ownership is transferred to the callee. More...
 
virtual void socketAvailable (TcpSocket *socket, TcpAvailableInfo *availableInfo) override
 
virtual void socketEstablished (TcpSocket *socket) override
 
virtual void socketPeerClosed (TcpSocket *socket) override
 
virtual void socketClosed (TcpSocket *socket) override
 
virtual void socketFailure (TcpSocket *socket, int code) override
 
virtual void socketStatusArrived (TcpSocket *socket, TcpStatusInfo *status) override
 
virtual void socketDeleted (TcpSocket *socket) override
 

Protected Attributes

long bytesRcvd
 
TcpSinkAppsinkAppModule = nullptr
 
- Protected Attributes inherited from inet::TcpServerThreadBase
TcpServerHostApphostmod
 
TcpSocketsock
 

Additional Inherited Members

- Public Member Functions inherited from inet::TcpServerThreadBase
 TcpServerThreadBase ()
 
virtual ~TcpServerThreadBase ()
 
virtual TcpSocketgetSocket ()
 
virtual TcpServerHostAppgetHostModule ()
 
virtual void peerClosed ()
 
virtual void failure (int code)
 
virtual void statusArrived (TcpStatusInfo *status)
 
- Public Member Functions inherited from inet::TcpSocket::ICallback
virtual ~ICallback ()
 

Member Function Documentation

◆ dataArrived()

void inet::TcpSinkAppThread::dataArrived ( Packet msg,
bool  urgent 
)
overrideprotectedvirtual

Implements inet::TcpServerThreadBase.

72 {
73  long packetLength = pk->getByteLength();
74  bytesRcvd += packetLength;
75  sinkAppModule->bytesRcvd += packetLength;
76 
77  emit(packetReceivedSignal, pk);
78  delete pk;
79 }

◆ established()

void inet::TcpSinkAppThread::established ( )
overrideprotectedvirtual

Called when connection is established.

Implements inet::TcpServerThreadBase.

67 {
68  bytesRcvd = 0;
69 }

◆ init()

virtual void inet::TcpSinkAppThread::init ( TcpServerHostApp hostmodule,
TcpSocket socket 
)
inlineoverrideprotectedvirtual

Reimplemented from inet::TcpServerThreadBase.

66 { TcpServerThreadBase::init(hostmodule, socket); sinkAppModule = check_and_cast<TcpSinkApp *>(hostmod); }

◆ initialize()

void inet::TcpSinkAppThread::initialize ( int  stage)
overrideprotectedvirtual
57 {
58  TcpServerThreadBase::initialize(stage);
59 
60  if (stage == INITSTAGE_LOCAL) {
61  bytesRcvd = 0;
62  WATCH(bytesRcvd);
63  }
64 }

◆ numInitStages()

virtual int inet::TcpSinkAppThread::numInitStages ( ) const
inlineoverrideprotectedvirtual
47 { return NUM_INIT_STAGES; }

◆ refreshDisplay()

void inet::TcpSinkAppThread::refreshDisplay ( ) const
overrideprotectedvirtual

Reimplemented from inet::TcpServerThreadBase.

82 {
83  std::ostringstream os;
84  os << (sock ? TcpSocket::stateName(sock->getState()) : "NULL_SOCKET") << "\nrcvd: " << bytesRcvd << " bytes";
85  getDisplayString().setTagArg("t", 0, os.str().c_str());
86 }

◆ timerExpired()

virtual void inet::TcpSinkAppThread::timerExpired ( cMessage *  timer)
inlineoverrideprotectedvirtual

Implements inet::TcpServerThreadBase.

64 { throw cRuntimeError("Model error: unknown timer message arrived"); }

Member Data Documentation

◆ bytesRcvd

long inet::TcpSinkAppThread::bytesRcvd
protected

◆ sinkAppModule

TcpSinkApp* inet::TcpSinkAppThread::sinkAppModule = nullptr
protected

Referenced by dataArrived().


The documentation for this class was generated from the following files:
inet::TcpServerThreadBase::sock
TcpSocket * sock
Definition: TcpServerHostApp.h:70
inet::TcpSocket::stateName
static const char * stateName(TcpSocket::State state)
Returns name of socket state code returned by getState().
Definition: TcpSocket.cc:372
inet::TcpServerThreadBase::init
virtual void init(TcpServerHostApp *hostmodule, TcpSocket *socket)
Definition: TcpServerHostApp.h:90
inet::TcpSinkApp::bytesRcvd
long bytesRcvd
Definition: TcpSinkApp.h:25
inet::TcpSinkAppThread::sinkAppModule
TcpSinkApp * sinkAppModule
Definition: TcpSinkApp.h:44
inet::TcpSocket::getState
TcpSocket::State getState() const
Returns the socket state, one of NOT_BOUND, CLOSED, LISTENING, CONNECTING, CONNECTED,...
Definition: TcpSocket.h:218
inet::packetReceivedSignal
simsignal_t packetReceivedSignal
Definition: Simsignals.cc:97
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
NUM_INIT_STAGES
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
inet::TcpSinkAppThread::bytesRcvd
long bytesRcvd
Definition: TcpSinkApp.h:43
inet::TcpServerThreadBase::hostmod
TcpServerHostApp * hostmod
Definition: TcpServerHostApp.h:69