【问题标题】:How can I get a specific info from a chunk in INET?如何从 INET 中的块中获取特定信息?
【发布时间】:2021-05-20 14:25:06
【问题描述】:

我必须计算我的应用程序中的延迟,所以我需要在数据包中插入一个块的数据包的生成时间。但是,当我收到数据包时,我不知道如何从块中选择生成时间。

这是块。

class AppPacket extends FieldChunk {
simtime_t appGenPacket;
int seqNo;
}

这是传输函数。

auto data = makeShared<ByteCountChunk>(B(payload));
Packet *pkt=new Packet("DataPacket", data);
auto pktData = makeShared<AppPacket>();
pktData->setAppGenPacket(simtime());
pkt->insertAtBack(pktData);
send(pkt, "lowerLayerOut");

现在当我收到数据包时,我必须让 appGenPacket 来计算延迟,但我不知道这样做很热。请帮帮我!

【问题讨论】:

    标签: omnet++ chunks inet


    【解决方案1】:

    在接收端,您只需查看/弹出(例如pop&lt;AppPacket&gt;())具有适当类型的块。

    但这并不是为数据包流生成统计信息的方式。这种方法要求您修改应用程序级别的数据包并添加一个仅由统计模块使用的字段(在现实世界中不存在)。您可以将 packet tags 和 packet region tags 添加到一个数据包(或数据包的一部分),它是沿着数据包传播的元数据信息或数据包中的各个位.在接收端,您可以查询附加的标签并将其用于您的统计信息。 (请参阅最新 INET 版本中的TimeTag)

    更好的是,INET 已经拥有测量数据包流延迟的工具(称为FlowMeasurement btw。)以及timing example。

    【讨论】:

      猜你喜欢
      • 2014-12-16
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      相关资源
      最近更新 更多