gpt4 book ai didi

dynamic - 如何在 OMNet++ 中将动态模块连接到静态模块

转载 作者:行者123 更新时间:2023-12-01 06:34:05 30 4
gpt4 key购买 nike

我有一个关于计算云的项目,我正在使用 Omnet++。我试图创建随机数量的动态模块来表示虚拟机。我现在能够做到这一点,但我无法将新的动态模块连接到代表虚拟机核心的静态模块。 OMNet++ 的用户手册解释了如何将动态模块连接到另一个动态模块,而不是动态连接到静态模块。

有人可以帮忙吗?

最佳答案

我创建了一个动态模块并使用以下代码将其连接到静态模块:

void Txc::initialize()
{
if(strcmp( getName(), "txc" ) ==0){
index =0;
cModuleType *moduleType = cModuleType::get("createmoduledynamically.Txc");
cModule *module = moduleType->create("node", getParentModule(), 10 , index);//createScheduleInit()

module->setGateSize("in", 2);
module->setGateSize("out", 2);

gate("out",0)->connectTo(module->gate("in",0));
module->gate("out",0)->connectTo(gate("in",0));

cMessage *msg = new cMessage("Data");
send(msg,"out", 0);
}
}

void Txc::handleMessage(cMessage *msg)
{
cModule *mod = getParentModule()->getSubmodule("txc");
Txc * txcMod = check_and_cast<Txc *>(mod);
txcMod->index++;
if(txcMod->index<10){
cModuleType *moduleType = cModuleType::get("createmoduledynamically.Txc");
cModule *module = moduleType->create("node", getParentModule(), 10 , txcMod->index);//createScheduleInit()

module->setGateSize("in", 2);
module->setGateSize("out", 2);

gate("out",1)->connectTo(module->gate("in",0));
module->gate("out",0)->connectTo(gate("in",1));

module->callInitialize();

send(msg, "out", 1);
}
}

在静态网络文件中只创建一个模块:

子模块:
交易量:交易量;

希望这会很有用。

关于dynamic - 如何在 OMNet++ 中将动态模块连接到静态模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16729861/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com