在omnet++中,我使用以下命令创建了一个数据包,我需要查看数据包的持续时间(以秒为单位和以位为单位(。
void XMac::sendPreamble(MacAddress preamble_address)
{
//~ diff with XMAC, @ in preamble!
auto preamble = makeShared<XMacControlFrame>();
preamble->setSrcAddr(interfaceEntry->getMacAddress());
preamble->setDestAddr(preamble_address);
preamble->setChunkLength(ctrlFrameLength);
preamble->setType(XMAC_PREAMBLE);
auto packet = new Packet("Preamble", preamble);
packet->addTag<PacketProtocolTag>()->setProtocol(&Protocol::xmac);
attachSignal(packet, simTime());
sendDown(packet);
nbTxPreambles++;
}
任何人都可以建议我如何查看packet
持续时间的语法吗?
谢谢
每个数据包都有一个长度(以位或字节为单位(。持续时间(即通过通道发送数据包的时间(至少取决于两个因素:
- 数据包的长度
- 频道的比特率
例如,可以这样读取数据包的长度:
auto len = packet->getTotalLength();
int lenBits = b(len).get(); // in bits
接收到数据包后,可以使用以下命令获得传输持续时间:
simtime_t duration = packet->getDuration()