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

📄 server.cc

📁 mmk排队论系统的omnet 源码
💻 CC
字号:
/* * Copyright (C) 2000, 2001  by Holger Karl * This file is for internal use only. * * Written by: Holger Karl <karl@ee.tu-berlin.de> * * Time-stamp: <01/05/21 14:33:08 karl> */#include "server.h"Define_Module (Server);voidServer::initialize(){  busy = 0;  speed = par ("speed");  // prepare the self-message:  taskIsDone = new cMessage;  taskIsDone->setKind (taskDone);}voidServer::finish(){  recordScalar ("utilization", AreaUnderUtilizationCurve / simTime());}voidServer::updateStatistics (int kind){  simtime_t timeSinceLastEvent = simTime() - timeOfLastEvent;  timeOfLastEvent = simTime();    switch (kind)    {      case taskArrives:	break;      case taskDone:	AreaUnderUtilizationCurve += timeSinceLastEvent;	break;      default:	ev << "No statistics implemented for this kind of event" << endl;	break;    }}voidServer::handleMessage (cMessage *msg){  double size;  int type = msg->kind();  cMessage *statusAnswer;    switch (type)    {      case taskArrives:	if (busy)	  {	    ev << "Server received a task when already busy - ignored!\n" ;	  }	else	  {	    busy = 1;	    size = msg->par ("size");	    scheduleAt (simTime() + size/speed, taskIsDone);	  }	delete msg;	updateStatistics (taskArrives);		break;      case taskDone:	if (!busy)	  {	    ev << "Server told itself a task is done when not busy - ignored!\n";	  }	else	  {	    cMessage *taskDoneToDispatcher = new cMessage ("Task done");	    taskDoneToDispatcher->setKind (taskDone);	    send (taskDoneToDispatcher, "toDispatcher");	    	    busy = 0;	  }	updateStatistics (taskDone);	break;      case checkStatus:	statusAnswer = new cMessage ("Status report");	statusAnswer->setKind (checkStatusResult);	statusAnswer->addPar("busy") = busy;	send (statusAnswer, "toDispatcher");	delete msg;	break;	      default:	ev << "Server received an unknown message - ignored!\n";	delete msg;	break;    }}

⌨️ 快捷键说明

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