Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <omnetpp.h>
00020 #include "IPvXAddress.h"
00021
00022 class PingPayload;
00023
00024
00031 class INET_API PingApp : public cSimpleModule
00032 {
00033 protected:
00034 virtual void initialize();
00035 virtual void handleMessage(cMessage *msg);
00036 virtual void finish();
00037
00038 protected:
00039 virtual void sendPing();
00040 virtual void scheduleNextPing(cMessage *timer);
00041 virtual void sendToICMP(cMessage *payload, const IPvXAddress& destAddr, const IPvXAddress& srcAddr, int hopLimit);
00042 virtual void processPingResponse(PingPayload *msg);
00043 virtual void countPingResponse(int bytes, long seqNo, simtime_t rtt);
00044
00045 protected:
00046
00047 IPvXAddress destAddr;
00048 IPvXAddress srcAddr;
00049 int packetSize;
00050 cPar *intervalp;
00051 int hopLimit;
00052 int count;
00053 simtime_t startTime;
00054 simtime_t stopTime;
00055 bool printPing;
00056
00057
00058 long sendSeqNo;
00059 long expectedReplySeqNo;
00060
00061
00062 cStdDev delayStat;
00063 cOutVector delayVector;
00064 cOutVector dropVector;
00065 long dropCount;
00066 long outOfOrderArrivalCount;
00067 };
00068
00069