Files
scandocs/uni/masterarbeit/source/moversight/app/TestApplication.h
2014-06-30 13:58:10 +02:00

116 lines
3.5 KiB
C++
Executable File

/*
* File: TestApplication.h
* Author: jgaebler
*
* Created on April 20, 2011, 11:33 AM
*/
#ifndef TESTAPPLICATION_H
#define TESTAPPLICATION_H
#include "Application.h"
#include "simutils/statistics/DurationStatisticRecorder.h"
#include "simutils/statistics/VectorStatisticRecorder.h"
namespace ubeeme {
namespace moversight {
class Dispatcher;
class Moversight;
class Invitation;
/**
* @class TestApplication
* @brief Defines a small test application to test the moversight protocol.
*
* @ingroup Moversight
* @author Jan Gäbler
*/
class TestApplication : public Application {
public:
TestApplication(Moversight & m);
virtual ~TestApplication();
virtual void initialise();
virtual void finalise();
void startTestCase(unsigned int i);
void receiveGroupData(const GroupData & data, const PeerID sender);
// Event handling
virtual void handleEvent(const JoinRequestEvent & e);
virtual void handleEvent(const JoinConfirmEvent & e);
virtual void handleEvent(const JoinRejectedEvent & e);
virtual void handleEvent(const JoinAbortedEvent & e);
virtual void handleEvent(const GroupCreatedEvent & e);
virtual void handleEvent(const GroupClosedEvent & e);
virtual void handleEvent(const PeerJoinedEvent & e);
virtual void handleEvent(const PendingPeersEvent & e);
virtual void handleEvent(const PeerReconnectedEvent & e);
virtual void handleEvent(const PeerLeftEvent & e);
virtual void handleEvent(const StartMeasuringEvent & e);
virtual void handleEvent(const StopMeasuringEvent & e);
private:
void testCase00();
void testCase01();
void testCase02();
void testCase03();
void testCase04();
void testCase05();
void testCase06();
void testCase07();
void testCase08();
void testCase09();
void testCase10();
void testCase11();
void testCase12();
void testCase13();
void testCase14();
void testCase15();
void testCase16();
void testCase17();
void testCase18();
void testCase19();
void testCase20();
void testCase21();
void testCase22();
/* void testCase23();
void testCase24();
void testCase25();
void testCase26();
void testCase27();
void testCase28();
*/
void invitePeer(TransportAddress & ta);
void leaveGroup();
void sendData();
void createRoster();
TransportAddress getNewTransportAddress(int i);
DurationStatisticRecorder joinDelayStat;
DurationStatisticRecorder dtDelayStat;
DurationStatisticRecorder leaveDelayStat;
DurationStatisticRecorder rejoinSuccessDuration;
VectorStatisticRecorder groupSizeStat;
size_t waitCounter;
size_t groupSize;
size_t lastGroupSize;
bool hasLeft;
int numberOfPeers;
int clusterSize;
int numberOfMobilePeers;
};
}
}
#endif /* TESTAPPLICATION_H */