lte pdcp: Do not use a PacketTag to store the arrival time

This commit is contained in:
Natale Patriciello
2019-02-27 10:33:56 +01:00
parent f2d3ffed57
commit 4394583f3a

View File

@@ -178,6 +178,9 @@ LtePdcp::DoTransmitPdcpSdu (Ptr<Packet> p)
{
NS_LOG_FUNCTION (this << m_rnti << (uint32_t) m_lcid << p->GetSize ());
// Sender timestamp
PdcpTag pdcpTag (Simulator::Now ());
LtePdcpHeader pdcpHeader;
pdcpHeader.SetSequenceNumber (m_txSequenceNumber);
@@ -191,10 +194,8 @@ LtePdcp::DoTransmitPdcpSdu (Ptr<Packet> p)
NS_LOG_LOGIC ("PDCP header: " << pdcpHeader);
p->AddHeader (pdcpHeader);
p->AddByteTag (pdcpTag, 1, pdcpHeader.GetSerializedSize ());
// Sender timestamp
PdcpTag pdcpTag (Simulator::Now ());
p->AddPacketTag (pdcpTag);
m_txPdu (m_rnti, m_lcid, p->GetSize ());
LteRlcSapProvider::TransmitPdcpPduParameters params;
@@ -213,8 +214,7 @@ LtePdcp::DoReceivePdu (Ptr<Packet> p)
// Receiver timestamp
PdcpTag pdcpTag;
Time delay;
NS_ASSERT_MSG (p->PeekPacketTag (pdcpTag), "PdcpTag is missing");
p->RemovePacketTag (pdcpTag);
p->FindFirstMatchingByteTag (pdcpTag);
delay = Simulator::Now() - pdcpTag.GetSenderTimestamp ();
m_rxPdu(m_rnti, m_lcid, p->GetSize (), delay.GetNanoSeconds ());