|
139 |
m_txBuffer.erase (m_txBuffer.begin ()); |
139 |
m_txBuffer.erase (m_txBuffer.begin ()); |
140 |
|
140 |
|
141 |
// Sender timestamp |
141 |
// Sender timestamp |
142 |
RlcTag rlcTag (Simulator::Now ()); |
142 |
RlcTag rlcTag; |
143 |
packet->AddByteTag (rlcTag); |
143 |
packet->RemovePacketTag (rlcTag); |
|
|
144 |
rlcTag.SetSenderTimestamp (Simulator::Now ()); |
145 |
packet->AddPacketTag (rlcTag); |
144 |
m_txPdu (m_rnti, m_lcid, packet->GetSize ()); |
146 |
m_txPdu (m_rnti, m_lcid, packet->GetSize ()); |
145 |
|
147 |
|
146 |
// Send RLC PDU to MAC layer |
148 |
// Send RLC PDU to MAC layer |
|
174 |
// Receiver timestamp |
176 |
// Receiver timestamp |
175 |
RlcTag rlcTag; |
177 |
RlcTag rlcTag; |
176 |
Time delay; |
178 |
Time delay; |
177 |
if (p->FindFirstMatchingByteTag (rlcTag)) |
179 |
if (p->PeekPacketTag (rlcTag)) |
178 |
{ |
180 |
{ |
179 |
delay = Simulator::Now() - rlcTag.GetSenderTimestamp (); |
181 |
delay = Simulator::Now() - rlcTag.GetSenderTimestamp (); |
|
|
182 |
p->RemovePacketTag (rlcTag); |
180 |
} |
183 |
} |
181 |
m_rxPdu (m_rnti, m_lcid, p->GetSize (), delay.GetNanoSeconds ()); |
184 |
m_rxPdu (m_rnti, m_lcid, p->GetSize (), delay.GetNanoSeconds ()); |
182 |
|
185 |
|