#include <cUDPSocketRTScheduler.h>
Public Member Functions | |
cUDPSocketRTScheduler () | |
virtual | ~cUDPSocketRTScheduler () |
virtual void | startRun () |
virtual void | endRun () |
virtual void | executionResumed () |
virtual void | setInterfaceModule (cModule *module, cMessage *notificationMsg, char *recvBuffer, int recvBufferSize, int *numBytesPtr) |
virtual cMessage * | getNextEvent () |
int | sendMessage (const char *msg, const size_t numBytes, const sockaddr *nodeAddr, const socklen_t addrSize) |
Protected Member Functions | |
virtual void | setupListener () |
virtual bool | receiveWithTimeout (long usec) |
virtual int | receiveUntil (const timeval &targetTime) |
Protected Attributes | |
int | port |
cModule * | module |
cMessage * | notificationMsg |
char * | recvBuffer |
int | recvBufferSize |
int * | numBytesPtr |
timeval | baseTime |
SOCKET | listenerSocket |
SOCKET | connSocket |
Definition at line 20 of file cUDPSocketRTScheduler.h.
cUDPSocketRTScheduler::cUDPSocketRTScheduler | ( | ) |
cUDPSocketRTScheduler::~cUDPSocketRTScheduler | ( | ) | [virtual] |
void cUDPSocketRTScheduler::endRun | ( | ) | [virtual] |
Called at the end of a simulation run
Called at the end of a simulation run.
Definition at line 58 of file cUDPSocketRTScheduler.cc.
void cUDPSocketRTScheduler::executionResumed | ( | ) | [virtual] |
Recalculates "base time" from current wall clock time
Called every time the user hits the Run button in Tkenv. Use this callback to pin current simulation time to current wall clock time.
Definition at line 99 of file cUDPSocketRTScheduler.cc.
cMessage * cUDPSocketRTScheduler::getNextEvent | ( | ) | [virtual] |
Scheduler function -- it comes from cScheduler interface
The scheduler function -- it should return the next event to be processed. Normally (with sequential execution) it just returns msgQueue.peekFirst(). With parallel and/or real-time simulation, it is also the scheduler's task to synchronize with real time and/or with other partitions.
Definition at line 210 of file cUDPSocketRTScheduler.cc.
int cUDPSocketRTScheduler::receiveUntil | ( | const timeval & | targetTime | ) | [protected, virtual] |
Definition at line 180 of file cUDPSocketRTScheduler.cc.
bool cUDPSocketRTScheduler::receiveWithTimeout | ( | long | usec | ) | [protected, virtual] |
Listen for incoming network traffic until timeout exceeds
Definition at line 125 of file cUDPSocketRTScheduler.cc.
int cUDPSocketRTScheduler::sendMessage | ( | const char * | msg, | |
const size_t | numBytes, | |||
const sockaddr * | nodeAddr, | |||
const socklen_t | addrSize | |||
) |
Send to message to node
void cUDPSocketRTScheduler::setInterfaceModule | ( | cModule * | module, | |
cMessage * | notificationMsg, | |||
char * | recvBuffer, | |||
int | recvBufferSize, | |||
int * | numBytesPtr | |||
) | [virtual] |
To be called from the module which wishes to receive data from the socket. The method must be called from the module's initialize() function
Definition at line 106 of file cUDPSocketRTScheduler.cc.
void cUDPSocketRTScheduler::setupListener | ( | ) | [protected, virtual] |
Setup listening socket for receiving node traffic
Definition at line 66 of file cUDPSocketRTScheduler.cc.
void cUDPSocketRTScheduler::startRun | ( | ) | [virtual] |
Called at the beginning of a simulation run
Called at the beginning of a simulation run.
Definition at line 37 of file cUDPSocketRTScheduler.cc.
timeval cUDPSocketRTScheduler::baseTime [protected] |
Definition at line 32 of file cUDPSocketRTScheduler.h.
SOCKET cUDPSocketRTScheduler::connSocket [protected] |
Definition at line 34 of file cUDPSocketRTScheduler.h.
SOCKET cUDPSocketRTScheduler::listenerSocket [protected] |
Definition at line 33 of file cUDPSocketRTScheduler.h.
cModule* cUDPSocketRTScheduler::module [protected] |
Definition at line 25 of file cUDPSocketRTScheduler.h.
cMessage* cUDPSocketRTScheduler::notificationMsg [protected] |
Definition at line 26 of file cUDPSocketRTScheduler.h.
int* cUDPSocketRTScheduler::numBytesPtr [protected] |
Definition at line 29 of file cUDPSocketRTScheduler.h.
int cUDPSocketRTScheduler::port [protected] |
Definition at line 24 of file cUDPSocketRTScheduler.h.
char* cUDPSocketRTScheduler::recvBuffer [protected] |
Definition at line 27 of file cUDPSocketRTScheduler.h.
int cUDPSocketRTScheduler::recvBufferSize [protected] |
Definition at line 28 of file cUDPSocketRTScheduler.h.