Commit 7fde546e authored by aligungr's avatar aligungr

Performance improvements

parent 601f8158
......@@ -155,55 +155,6 @@ struct NmUeRlsToNas : NtsMessage
}
};
struct NmUeRlsToRls : NtsMessage
{
enum PR
{
RADIO_LINK_FAILURE,
TRANSMISSION_FAILURE,
} present;
// RECEIVE_RLS_MESSAGE
// UPLINK_RRC
// DOWNLINK_RRC
// SIGNAL_CHANGED
// ASSIGN_CURRENT_CELL
int cellId{};
// RECEIVE_RLS_MESSAGE
std::unique_ptr<rls::RlsMessage> msg{};
// SIGNAL_CHANGED
int dbm{};
// UPLINK_DATA
// DOWNLINK_DATA
int psi{};
// UPLINK_DATA
// DOWNLINK_DATA
// UPLINK_RRC
// DOWNLINK_RRC
OctetString data;
// UPLINK_RRC
// DOWNLINK_RRC
rrc::RrcChannel rrcChannel{};
// UPLINK_RRC
uint32_t pduId{};
// RADIO_LINK_FAILURE
rls::ERlfCause rlfCause{};
// TRANSMISSION_FAILURE
std::vector<rls::PduInfo> pduList;
explicit NmUeRlsToRls(PR present) : NtsMessage(NtsMessageType::UE_RLS_TO_RLS), present(present)
{
}
};
struct NmUeStatusUpdate : NtsMessage
{
static constexpr const int SESSION_ESTABLISHMENT = 1;
......
......@@ -137,11 +137,7 @@ void RlsCtlLayer::onAckControlTimerExpired()
m_pduMap.erase(id);
if (!transmissionFailures.empty())
{
auto w = std::make_unique<NmUeRlsToRls>(NmUeRlsToRls::TRANSMISSION_FAILURE);
w->pduList = std::move(transmissionFailures);
m_base->rlsTask->push(std::move(w));
}
m_logger->err("transmission failure [%d]", transmissionFailures.size());
}
void RlsCtlLayer::onAckSendTimerExpired()
......@@ -168,9 +164,9 @@ void RlsCtlLayer::assignCurrentCell(int cellId)
void RlsCtlLayer::declareRadioLinkFailure(rls::ERlfCause cause)
{
auto w = std::make_unique<NmUeRlsToRls>(NmUeRlsToRls::RADIO_LINK_FAILURE);
w->rlfCause = cause;
m_base->rlsTask->push(std::move(w));
auto m = std::make_unique<NmUeRlsToRrc>(NmUeRlsToRrc::RADIO_LINK_FAILURE);
m->rlfCause = cause;
m_base->l3Task->push(std::move(m));
}
} // namespace nr::ue
\ No newline at end of file
......@@ -65,27 +65,6 @@ void UeRlsTask::onLoop()
switch (msg->msgType)
{
case NtsMessageType::UE_RLS_TO_RLS: {
auto &w = dynamic_cast<NmUeRlsToRls &>(*msg);
switch (w.present)
{
case NmUeRlsToRls::RADIO_LINK_FAILURE: {
auto m = std::make_unique<NmUeRlsToRrc>(NmUeRlsToRrc::RADIO_LINK_FAILURE);
m->rlfCause = w.rlfCause;
m_base->l3Task->push(std::move(m));
break;
}
case NmUeRlsToRls::TRANSMISSION_FAILURE: {
m_logger->debug("transmission failure [%d]", w.pduList.size());
break;
}
default: {
m_logger->unhandledNts(*msg);
break;
}
}
break;
}
case NtsMessageType::UE_RRC_TO_RLS: {
auto &w = dynamic_cast<NmUeRrcToRls &>(*msg);
switch (w.present)
......
......@@ -51,7 +51,6 @@ enum class NtsMessageType
UE_RRC_TO_RLS,
UE_RLS_TO_RRC,
UE_RLS_TO_NAS,
UE_RLS_TO_RLS,
UE_NAS_TO_APP,
UE_NAS_TO_RLS,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment