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

📄 sim.c

📁 一个linux下的各种组播路由算法编程
💻 C
📖 第 1 页 / 共 3 页
字号:
               manager.refresh(painter);
            };
            flag = NOTHING;
            break;
       case SIMULATION:
            manager.refresh(painter);
            manager.simulation(batchSize, minNumBatches, maxNumBatches, s);
            flag = NOTHING;
            break;
       case ADMIT:
            if ((tmpd > 0) && (tmpd <= 1)) manager.ADMITRATIO = tmpd;
            flag = NOTHING;
            break;
       case DBOUND:
            if (tmpd > 0) manager.DELAYBOUND = tmpd;
            flag = NOTHING;
            break;
       case DSTEP:
            if ((tmpd > 0) && (tmpd < manager.DELAYBOUND)) 
              manager.DELAYSTEP = tmpd;
            flag = NOTHING;
            break;
       case EDITLINKCAP3:
            if (tmpd > 0) tmpAdj->linkCapacity(tmpd*1e6);
            manager.refresh(painter);
            flag = NOTHING;
            break;
  };
};

void addSourceVoiceCB() {

   flag = ADDSOURCE;
   msgb.message("Click on the source node");
   cmdb.message("", False);
   model = VOICE;
};

void addSourceVideoCB() {

   flag = ADDSOURCE;
   msgb.message("Click on the source node");
   cmdb.message("", False);
   model = VIDEO;
};

void removeSourceCB() {

   flag = REMOVESOURCE;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void randomGroupCB() {

   flag = RANDOMGROUP;
   msgb.message("Enter group address:");
   cmdb.message("", True);
};

void removeGroupCB() {

   flag = REMOVEGROUP;
   msgb.message("Enter address of group");
   cmdb.message("", True);
};
   
void addDestinationCB() {

   flag = ADDDESTINATION;
   msgb.message("Click on the destination node");
   cmdb.message("", False);
};

void removeDestinationCB() {

   flag = REMOVEDESTINATION;
   msgb.message("Click on the destination node");
   cmdb.message("", False);
};

void muxedBackgroundTrafficCB() {

   flag = BACKGROUND1;
   symmetry = False;
   batch = False;
   msgb.message("Enter min. bg. peak rate in Mbps:");
   cmdb.message("", True);
};

void muxedSymmetricBackgroundTrafficCB() {

   flag = BACKGROUND1;
   symmetry = True;
   batch = False;
   msgb.message("Enter min. bg. peak rate in Mbps:");
   cmdb.message("", True);
}; 

void batchBackgroundTrafficCB() {

   flag = BACKGROUND1;
   symmetry = False;
   batch = True;
   msgb.message("Enter min. bg. peak rate in Mbps:");
   cmdb.message("", True);
};

void batchSymmetricBackgroundTrafficCB() {

   flag = BACKGROUND1;
   symmetry = True;
   batch = True;
   msgb.message("Enter min. bg. peak rate in Mbps:");
   cmdb.message("", True);
}; 

void removeBackgroundTrafficCB() {

   manager.removeBackgroundTrafficSources();
   manager.refresh(painter);

};

void WatersCB() {

   flag = ROUTER;
   alg = atm;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void ModWatersCB() {

   flag = ROUTER;
   alg = atm2;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void PIMCB() {

   flag = ROUTER;
   alg = pim;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void DKSCB() {

   flag = ROUTER;
   alg = dks;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void BFCB() {

   flag = ROUTER;
   alg = bf;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void MSTCB() {

   flag = ROUTER;
   alg = mst;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void OPTCB() {

   flag = ROUTER;
   alg = opt;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void CSTCCB() {

   flag = ROUTER;
   alg = cstc;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void CSTCDCB() {

   flag = ROUTER;
   alg = cstcd;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void DKSLDCB() {

   flag = ROUTER;
   alg = dksld;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void KMBCB() {

   flag = ROUTER;
   alg = kmb;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void CAOCB() {

   flag = ROUTER;
   alg = cao;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void BSMACB() {

   flag = ROUTER;
   alg = bsma;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void COPTCB() {

   flag = ROUTER;
   alg = copt;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void DIMSTCB() {

   flag = ROUTER;
   alg = dimst;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void DCDIMSTCB() {

   flag = ROUTER;
   alg = dcdimst;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void DVMRPCB() {

   flag = ROUTER;
   alg = dvmrp;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void BFNOADMCB() {

   flag = ROUTER;
   alg = bfnoadm;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void CDKSCB() {

   flag = ROUTER;
   alg = cdks;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void batchSizeCB() {
   msgb.message("Batch size in msec = ");
   char *s = new char[10];
   sprintf(s, "%lf", (batchSize * 1000));
   cmdb.message(s, True);
   flag = BATCHSIZE;
};

void maxNumBatchesCB() {
   msgb.message("Enter max. # of batches = ");
   char *s = new char[10];
   sprintf(s, "%d", maxNumBatches);
   cmdb.message(s, True);
   flag = MAXNUMBATCHES;
};
   
void minNumBatchesCB() {
   msgb.message("Enter min. # of batches = ");
   char *s = new char[10];
   sprintf(s, "%d", minNumBatches);
   cmdb.message(s, True);
   flag = MINNUMBATCHES;
};

void runCB() {

   msgb.message("Enter output file name: ");
   cmdb.message(".out", True);
   flag = SIMULATION;
};

void removeTreeCB() {

   flag = REMOVETREE;
   msgb.message("Click on the source node");
   cmdb.message("", False);
};

void DLCYesCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayLinkCap(False);
   manager.displayLinkCost(True);
   manager.refresh(painter);
};

void DLCNoCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayLinkCost(False);
   manager.refresh(painter);
};

void DLCapYesCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayLinkCost(False);
   manager.displayLinkCap(True);
   manager.refresh(painter);
};

void DLCapNoCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayLinkCap(False);
   manager.refresh(painter);
};

void DNNYesCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayNodeName(True);
   manager.refresh(painter);
};

void DNNNoCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayNodeName(False);
   manager.refresh(painter);
};

void DGNoCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayGroup(0); //group address 0 is reserved
   manager.refresh(painter);
};

void DGYesCB() {
   msgb.message("Enter address of group to be displayed:");
   cmdb.message("", True);
   flag = DISPLAYGROUP;   
};

void graphDegreeCB() {
   msgb.message("Average node degree =  ");
   char *s = new char[10];
   sprintf(s, "%.3lf", manager.graphDegree());
   cmdb.message(s, False);
};

void DTNoCB() {
   msgb.message("");
   cmdb.message("", False);
   flag = NOTHING;
   manager.displayTree(-1);
   manager.refresh(painter);
};

void DTYesCB() {
   msgb.message("Click on the source node");
   cmdb.message("", False);
   flag = DISPLAYTREE;   
};

void PeakCB() {
  manager.function(PEAK);
  flag = NOTHING;
};

void AverageCB() {
  manager.function(AVERAGE);
  flag = NOTHING;
}; 

void ADMITCB() {
  flag = ADMIT;
  msgb.message("Admission Capacity / Link Capacity: ");
  char *s = new char[10];
  sprintf(s, "%.3lf", manager.ADMITRATIO);
  cmdb.message(s, True);
};

void DBOUNDCB() {
  flag = DBOUND;
  msgb.message("Delay Bound (in msec): ");
  char *s = new char[10];
  sprintf(s, "%.3lf", manager.DELAYBOUND);
  cmdb.message(s, True);
};

void DSTEPCB() {
  flag = DSTEP;
  msgb.message("Delay Step for KPP Heuristics (in msec): ");
  char *s = new char[10];
  sprintf(s, "%.3lf", manager.DELAYSTEP);
  cmdb.message(s, True);
};

void DBVYESCB() {
  manager.DBV = False;
  flag = NOTHING;
};

void DBVNOCB() {
  manager.DBV = True;
  flag = NOTHING;
};


⌨️ 快捷键说明

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