lte: eNB PHY to remove Tbs, SRS and Dl/UL DCIs upon UE removal

This commit is contained in:
Vignesh Babu
2019-04-12 14:22:48 +02:00
committed by ZorazeAli
parent b1ebdc7d81
commit 4d8af3d714

View File

@@ -952,6 +952,58 @@ LteEnbPhy::DoRemoveUe (uint16_t rnti)
m_paMap.erase (it);
}
//additional data to be removed
m_uplinkSpectrumPhy->RemoveExpectedTb (rnti);
//remove srs info to avoid trace errors
std::map<uint16_t, uint16_t>::iterator sit = m_srsSampleCounterMap.find (rnti);
if (sit != m_srsSampleCounterMap.end ())
{
m_srsSampleCounterMap.erase (rnti);
}
//remove DL_DCI message otherwise errors occur for m_dlPhyTransmission trace
//remove also any UL_DCI message for the UE to be removed
for (auto & ctrlMessageList : m_controlMessagesQueue)
{
std::list<Ptr<LteControlMessage> >::iterator ctrlMsgListIt = ctrlMessageList.begin ();
while (ctrlMsgListIt != ctrlMessageList.end ())
{
Ptr<LteControlMessage> msg = (*ctrlMsgListIt);
if (msg->GetMessageType () == LteControlMessage::DL_DCI)
{
auto dci = DynamicCast<DlDciLteControlMessage> (msg);
if (dci->GetDci ().m_rnti == rnti)
{
NS_LOG_INFO ("DL_DCI to be sent from cell id : "
<< m_cellId << " to RNTI : " << rnti << " is deleted");
ctrlMsgListIt = ctrlMessageList.erase (ctrlMsgListIt);
}
else
{
++ctrlMsgListIt;
}
}
else if (msg->GetMessageType () == LteControlMessage::UL_DCI)
{
auto dci = DynamicCast<UlDciLteControlMessage> (msg);
if (dci->GetDci ().m_rnti == rnti)
{
NS_LOG_INFO ("UL_DCI to be sent from cell id : "
<< m_cellId << " to RNTI : " << rnti << " is deleted");
ctrlMsgListIt = ctrlMessageList.erase (ctrlMsgListIt);
}
else
{
++ctrlMsgListIt;
}
}
else
{
++ctrlMsgListIt;
}
}
}
}
void