INET Framework for OMNeT++/OMNEST
|
Generates ping requests and calculates the packet loss and round trip parameters of the replies. More...
#include <PingApp.h>
Public Member Functions | |
PingApp () | |
virtual | ~PingApp () |
Public Member Functions inherited from inet::ILifecycle | |
virtual | ~ILifecycle () |
Protected Member Functions | |
virtual void | initialize (int stage) override |
virtual int | numInitStages () const override |
virtual void | handleMessage (cMessage *msg) override |
virtual void | finish () override |
virtual void | refreshDisplay () const override |
virtual void | parseDestAddressesPar () |
virtual void | startSendingPingRequests () |
virtual void | stopSendingPingRequests () |
virtual void | scheduleNextPingRequest (simtime_t previous, bool withSleep) |
virtual void | cancelNextPingRequest () |
virtual bool | isNodeUp () |
virtual bool | isEnabled () |
virtual std::vector< L3Address > | getAllAddresses () |
virtual void | sendPing () |
virtual void | processPingResponse (PingPayload *msg) |
virtual void | countPingResponse (int bytes, long seqNo, simtime_t rtt) |
virtual bool | handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override |
Perform one stage of a lifecycle operation. More... | |
Protected Attributes | |
L3Address | destAddr |
L3Address | srcAddr |
std::vector< L3Address > | destAddresses |
int | packetSize = 0 |
cPar * | sendIntervalPar = nullptr |
cPar * | sleepDurationPar = nullptr |
int | hopLimit = 0 |
int | count = 0 |
int | destAddrIdx = -1 |
simtime_t | startTime |
simtime_t | stopTime |
bool | printPing = false |
bool | continuous = false |
int | pid = 0 |
cMessage * | timer = nullptr |
NodeStatus * | nodeStatus = nullptr |
simtime_t | lastStart |
long | sendSeqNo = 0 |
long | expectedReplySeqNo = 0 |
simtime_t | sendTimeHistory [PING_HISTORY_SIZE] |
cStdDev | rttStat |
long | sentCount = 0 |
long | lossCount = 0 |
long | outOfOrderArrivalCount = 0 |
long | numPongs = 0 |
Static Protected Attributes | |
static simsignal_t | rttSignal = registerSignal("rtt") |
static simsignal_t | numLostSignal = registerSignal("numLost") |
static simsignal_t | numOutOfOrderArrivalsSignal = registerSignal("numOutOfOrderArrivals") |
static simsignal_t | pingTxSeqSignal = registerSignal("pingTxSeq") |
static simsignal_t | pingRxSeqSignal = registerSignal("pingRxSeq") |
Generates ping requests and calculates the packet loss and round trip parameters of the replies.
See NED file for detailed description of operation.
|
virtual |
|
protectedvirtual |
Referenced by stopSendingPingRequests().
|
protectedvirtual |
Referenced by processPingResponse().
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by parseDestAddressesPar().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Perform one stage of a lifecycle operation.
Processing may be done entirely within this method, or may be a longer process that involves nonzero simulation time or several events, and is triggered by this method call.
Return value: true = "done"; false = "not yet done, will invoke doneCallback when done"
Implements inet::ILifecycle.
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleOperationStage(), and initialize().
|
protectedvirtual |
Referenced by handleMessage(), and initialize().
|
inlineoverrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by handleMessage().
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleMessage(), and startSendingPingRequests().
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by handleOperationStage(), and initialize().
|
protectedvirtual |
Referenced by handleOperationStage().
|
protected |
Referenced by handleMessage(), and initialize().
|
protected |
Referenced by handleMessage(), initialize(), and isEnabled().
|
protected |
Referenced by handleMessage(), sendPing(), and stopSendingPingRequests().
|
protected |
Referenced by handleMessage(), parseDestAddressesPar(), and stopSendingPingRequests().
|
protected |
Referenced by handleMessage(), and stopSendingPingRequests().
|
protected |
Referenced by countPingResponse(), finish(), initialize(), and stopSendingPingRequests().
|
protected |
Referenced by initialize(), and sendPing().
|
protected |
Referenced by initialize(), startSendingPingRequests(), and stopSendingPingRequests().
|
protected |
Referenced by countPingResponse(), finish(), and initialize().
|
protected |
Referenced by initialize(), and isNodeUp().
|
staticprotected |
Referenced by countPingResponse().
|
staticprotected |
Referenced by countPingResponse().
|
protected |
Referenced by countPingResponse(), finish(), initialize(), and refreshDisplay().
|
protected |
Referenced by countPingResponse(), finish(), and initialize().
|
protected |
Referenced by initialize(), and sendPing().
|
protected |
Referenced by initialize(), processPingResponse(), sendPing(), startSendingPingRequests(), and stopSendingPingRequests().
|
staticprotected |
Referenced by countPingResponse().
|
staticprotected |
Referenced by sendPing().
|
protected |
Referenced by finish(), initialize(), and processPingResponse().
|
staticprotected |
Referenced by countPingResponse().
|
protected |
Referenced by countPingResponse(), finish(), and initialize().
|
protected |
Referenced by initialize(), and scheduleNextPingRequest().
|
protected |
Referenced by finish(), handleMessage(), initialize(), processPingResponse(), sendPing(), startSendingPingRequests(), and stopSendingPingRequests().
|
protected |
Referenced by processPingResponse(), and sendPing().
|
protected |
Referenced by initialize(), isEnabled(), refreshDisplay(), sendPing(), and startSendingPingRequests().
|
protected |
Referenced by initialize(), and scheduleNextPingRequest().
|
protected |
Referenced by handleMessage(), parseDestAddressesPar(), sendPing(), and stopSendingPingRequests().
|
protected |
Referenced by initialize(), and scheduleNextPingRequest().
|
protected |
Referenced by initialize(), and scheduleNextPingRequest().
|
protected |
Referenced by cancelNextPingRequest(), initialize(), scheduleNextPingRequest(), startSendingPingRequests(), and ~PingApp().