📄 sim.c
字号:
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 + -