⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 statistics.h

📁 In this implementation of AntNet-3.0 one could get the behavior of both algorithms through a simple
💻 H
字号:
// -*- C++ -*-
// Copyright (C) 2003 Leherstuh f黵 Betrieb System/ Verteilte System, 
// Universitaet Dortmund 
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

// Author: Muddassar Farooq
// Informatik III, Universitaet Dortmund
// Germany

//-------------------------------------------------------------
// file: statisitics.h -- A Singleton Class for Global Statisitics
//        (part of AntNet Routing Simulation)
//-------------------------------------------------------------


#ifndef __STATISTICS_H
#define __STATISTICS_H

#include <vector>

#include <omnetpp.h>
#include <string.h>

using namespace std;

#define FILENAME 300

typedef struct
{
	double tPut;
	double pDelay;
	int i;
} throughputTimePair;

class statistics: public cSimpleModule
{
	public:
		void setFileName(const char* fName);

		void incrTotalBitsGenerated();
		void incrTotalBitsDelivered();
		void incrTotalBitsLost();
		void incrBitsGenerated(double bits);
		void incrBitsDelivered(double bits);
		void incrTotalBitsUndeliverable();

		void incrTotalAntsGenerated();
		void incrTotalAntsReceived();
		void incrTotalAntsDeleted();

		void incrPacketInQueue(double lPacket);

		void insertQueueDelay(double qDelay);
		void insertPacketDelay(double pDelay);
		void insertThroughPutPacketDelay(double tPut, double tDelay,int time);
		void calculateThroughPutPacketDelay(int time);
		void incrNumHops(int nHops);
		void incrAntHops(int aHops);
		void insertAntLife(double lValue);
		double ninteythPercentile(cStdDev tVal);

		void showStatistics();

		statistics(const char *name, cModule *parentmodule,	unsigned stacksize = 0);
		virtual ~statistics();

		virtual void initialize();
		virtual void finish();


	private:
		char sFileName[FILENAME];
		vector<throughputTimePair*> tPutVector;
		double *tEntry;
		double *pEntry;

		
		
		double totalBitsGenerated;
		double totalBitsDelivered;
		double totalBitsLost;
		double totalBitsUnDelivered;
		double bitsGenerated;
		double bitsDelivered;
		

		double totalAntsGenerated;
		double totalAntsDelivered;
		double totalAntsDeleted;

		double queueDelay;
		double qEntries;

		double packetDelay;
		double pEntries;

		double packetsInQueue;

		int numStations;
		int hops;
		int antHops;
		int aEntries;
		int hEntries;
		int simTime;
		int i;
		FILE *sFile;
		cStdDev pDelay;
		cStdDev antLife;

};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -