首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用隐式块序列化以防止不可预测的性能下降。

禁用隐式块序列化以防止不可预测的性能下降。
EN

Stack Overflow用户
提问于 2021-07-02 07:43:14
回答 1查看 311关注 0票数 0

当我编写gptp的实现时,当我发送消息时,我发现当我从IPv4 []向IPv4发送消息时,IPv4的IP中会出现以下错误:

隐式块序列化被禁用,以防止不可预测的性能下降(您可以考虑更改块::enableImpl时春kSerialization标志或将PF_ ALLOW_序列化标志传递给peek) --在模块(inet::Ipv4 4)中测试.gPtpslave0.ipv4.ip (id=103),at t=0.00001157s,事件#14

这是我的omnetpp.ini::

代码语言:javascript
复制
[General]
simtime-resolution = fs

network = Test

**.configurator.assignDisjunctSubnetAddresses = false
**.configurator.addStaticRoutes = false
**.configurator.addSubnetRoutes = true
**.configurator.addDefaultRoutes = true
**.configurator.optimizeRoutes = false
**.configurator.dumpAddresses = true
**.configurator.dumpRoutes = true


#**.gPtpMaster.gptp.typename = "gPtp"
#**.gptp.typename = "gPtp"

**.eth[*].mac.promiscuous = true

**.ethernet.typename = "EthernetLayer"
**.standardHost*.encap.typename = ""
*.gPtpMaster.gptp.typename = "gPtp"
*.gPtpBridge0.gptp.typename = "gPtp"
*.gPtpSlave0.gptp.typename = "gPtp"


**.gPtpMaster.hasTcp = false
**.gPtpSlave0.hasTcp = false


*.gPtpMaster.gptp.masterPorts = "eth0"
*.gPtpBridge0.gptp.slavePort = "eth0"
*.gPtpSlave0.gptp.slavePort = "eth0"

*.gPtpBridge0.gptp.masterPorts = "eth1"


*.gPtpMaster.clock.clockDrift = 0
*.gPtpBridge0.clock.clockDrift = 30
*.gPtpSlave0.clock.clockDrift = -50

有人知道如何克服这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-07-06 07:29:20

造成此错误的常见原因是您向数据包中添加了某种块,然后将该块弹出或查看为完全不同类型的块。这两种类型是不相关的,因此无法在两者之间进行转换。唯一的方法是序列化块,然后在另一端反序列化(当然,这不会给您带来任何有意义的结果)。你在这里提供的信息不足以给你答案。您应该调试代码。尝试到错误发生的地方(事件#14),查看数据包内容(在Qtenv中,您可以在属性视图中剖析数据包,并查看数据包中的内容)。然后检查您的代码,看看它是否与数据包内容兼容。

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

https://stackoverflow.com/questions/68221386

复制
相关文章

相似问题

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