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

📄 statistics.h

📁 用OMNET++仿真蚁群的源码,是无线传感器网络仿真的一个重要工具
💻 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 70

typedef pair<double,int> throughputTimePair;

class statistics
{
	public:
		static statistics* Instance(const char* fName);
		void setFileName(const char* fName);
		void registerModule(cModule *mPtr);
		void deregisterModule(cModule *mPtr);

		void incrTotalBitsGenerated();
		void incrTotalBitsDelivered();
		void incrTotalBitsLost();

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

		void incrPacketInQueue(double lPacket);

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

		void showStatistics();

	protected:
		statistics();
		~statistics();

	private:
		static statistics* _instance;
		char sFileName[FILENAME];
		vector<cModule*> lModules;
		vector<throughputTimePair*> tPutVector;


		double totalBitsGenerated;
		double totalBitsDelivered;
		double totalBitsLost;


		double totalAntsGenerated;
		double totalAntsDelivered;
		double totalAntsDeleted;

		double queueDelay;
		double qEntries;

		double packetDelay;
		double pEntries;

		double packetsInQueue;
		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 + -