for (uint16_t i=0; i<ueDevsContainer.GetN(); i++){
Ptr<LteUeNetDevice> ueNetDevice = ueDevsContainer.Get(i)->GetObject<LteUeNetDevice>();if (ueNetDevice->GetImsi() == imsi){Ptr<LteUeRrc> ueRrc = ueNetDevice->GetRrc();ueRrc->DisconnectPreviousTraces(cellId);}
}
m_disconect(m_imsi, cellId, m_rnti); // m_disconnect is a tracesource connected to RadioBearerStatsConnector::DisconnectPreviousTracesUE
NS_LOG_FUNCTION (this << imsi << cellId << rnti);std::string ueRrcPath = context.substr (0, context.rfind ("/"));
std::ostringstream sourceCellPath;hipercellPath << "/NodeList/0/DeviceList/0/LteEnbRrc/UeMap/" << (uint32_t) rnti; // I ADDED THIS INFORMATION BECAUSE IT COMES FROM THE ORIGIN CELL TO WHICH THE UEs WHERE ATTACHEDstd::string ueManagerPath = hipercellPath.str ();if (m_rlcStats){
Ptr<BoundCallbackArgument> arg = Create<BoundCallbackArgument> ();arg->imsi = imsi;arg->cellId = cellId;arg->stats = m_rlcStats;
// diconnect eventually previously connected SRB0 both at UE and eNB
// At UEConfig::Disconnect (ueRrcPath + "/Srb0/LteRlc/TxPDU",MakeBoundCallback (&UlTxPduCallback, arg));Config::Disconnect (ueRrcPath + "/Srb0/LteRlc/RxPDU",MakeBoundCallback (&DlRxPduCallback, arg));Config::Disconnect (ueRrcPath + "/Srb1/LteRlc/TxPDU",MakeBoundCallback (&UlTxPduCallback, arg));Config::Disconnect (ueRrcPath + "/Srb1/LteRlc/RxPDU",MakeBoundCallback (&DlRxPduCallback, arg));Config::Disconnect (ueRrcPath + "/DataRadioBearerMap/*/LteRlc/TxPDU",MakeBoundCallback (&UlTxPduCallback, arg));Config::Disconnect (ueRrcPath + "/DataRadioBearerMap/*/LteRlc/RxPDU",MakeBoundCallback (&DlRxPduCallback, arg));
// At eNBConfig::Disconnect (ueManagerPath + "/Srb0/LteRlc/TxPDU",MakeBoundCallback (&DlTxPduCallback, arg));Config::Disconnect (ueManagerPath + "/Srb0/LteRlc/RxPDU",MakeBoundCallback (&UlRxPduCallback, arg));Config::Disconnect (ueManagerPath + "/Srb1/LteRlc/TxPDU",MakeBoundCallback (&DlTxPduCallback, arg));Config::Disconnect (ueManagerPath + "/Srb1/LteRlc/RxPDU",MakeBoundCallback (&UlRxPduCallback, arg));Config::Disconnect (ueManagerPath + "/DataRadioBearerMap/*/LteRlc/TxPDU",MakeBoundCallback (&UlTxPduCallback, arg));Config::Disconnect (ueManagerPath + "/DataRadioBearerMap/*/LteRlc/RxPDU",MakeBoundCallback (&DlRxPduCallback, arg));}