首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >令牌桶的omnet模拟

令牌桶的omnet模拟
EN

Stack Overflow用户
提问于 2013-07-03 12:38:41
回答 1查看 631关注 0票数 0

我在omnet++..Basically上开发了一个仿真模型我的工作是开发一些与omnet++..Basically相关的东西,但首先我需要开发一个简单的模型,它从一个源中获取数据包,并将其存储在队列中一段时间,然后将其发送到接收器……

我已经开发了这个模型,它对我来说工作得很好。

现在我需要将令牌桶计量器放在队列和sink...to之间,处理突发,并将被拒绝的数据包从令牌计量器发送回queue..something,就像第二个附加的映像一样。我从OMNET的simuLTE包中获取了这个令牌桶计量器……

当我对此进行模拟时,它显示的错误如下

代码语言:javascript
复制
Quote: cannot cast (queueing::Job *)net.tokenBucketMeter.job-1 to type 'cPacket *' 

我不知道问题的确切位置,可能是正在使用的源正在创建作业,而令牌桶计量器只接受packets..If,那么我应该使用哪种类型的源??

你能澄清这一点吗?将会非常感激

EN

回答 1

Stack Overflow用户

发布于 2013-07-10 22:56:37

我目前也在一个项目中使用OMNeT++。学习使用以前只接触过一些C99的OMNeT++可能有点令人沮丧。

通过检查您用作项目基础的演示项目-看起来除了cObject之外,JobcPacket不共享任何有用的类型,所以我不会尝试这样转换。

看看/queueinglib项目handles Jobs中的PassiveQueue.cc -一切都作为cMessage传递,并使用内置的cast进行强制转换:

代码语言:javascript
复制
cMessage msg (comes in from method signature)

Job *job = check_and_cast<Job *>(msg);

在此链接所示的继承层次结构中,您要使用的cPackets是cMessage的子级:

http://www.omnetpp.org/doc/omnetpp/api/index.html

我自己并没有使用cPackets,但考虑到协议的工作原理,您似乎可以将消息转换为一个或多个数据包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17439770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档