Commit e593da15 authored by aligungr's avatar aligungr

Performance improvements

parent f229c810
...@@ -119,4 +119,14 @@ void NasLayer::handleRadioLinkFailure() ...@@ -119,4 +119,14 @@ void NasLayer::handleRadioLinkFailure()
m_mm->handleRadioLinkFailure(); m_mm->handleRadioLinkFailure();
} }
void NasLayer::handleRrcEstablishmentFailure()
{
m_mm->handleRrcEstablishmentFailure();
}
void NasLayer::handleActiveCellChange(const Tai &prevTai)
{
m_mm->handleActiveCellChange(prevTai);
}
} // namespace nr::ue } // namespace nr::ue
\ No newline at end of file
...@@ -40,6 +40,8 @@ class NasLayer ...@@ -40,6 +40,8 @@ class NasLayer
void handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds); void handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds);
void handleRrcFallbackIndication(); void handleRrcFallbackIndication();
void handleRadioLinkFailure(); void handleRadioLinkFailure();
void handleRrcEstablishmentFailure();
void handleActiveCellChange(const Tai &prevTai);
}; };
} // namespace nr::ue } // namespace nr::ue
\ No newline at end of file
...@@ -27,14 +27,6 @@ void NasMm::handleRrcEvent(const NmUeRrcToNas &msg) ...@@ -27,14 +27,6 @@ void NasMm::handleRrcEvent(const NmUeRrcToNas &msg)
receiveNasMessage(*nasMessage); receiveNasMessage(*nasMessage);
break; break;
} }
case NmUeRrcToNas::ACTIVE_CELL_CHANGED: {
handleActiveCellChange(msg.previousTai);
break;
}
case NmUeRrcToNas::RRC_ESTABLISHMENT_FAILURE: {
handleRrcEstablishmentFailure();
break;
}
} }
} }
......
...@@ -61,16 +61,11 @@ struct NmUeRrcToNas : NtsMessage ...@@ -61,16 +61,11 @@ struct NmUeRrcToNas : NtsMessage
enum PR enum PR
{ {
NAS_DELIVERY, NAS_DELIVERY,
RRC_ESTABLISHMENT_FAILURE,
ACTIVE_CELL_CHANGED,
} present; } present;
// NAS_DELIVERY // NAS_DELIVERY
OctetString nasPdu; OctetString nasPdu;
// ACTIVE_CELL_CHANGED
Tai previousTai;
explicit NmUeRrcToNas(PR present) : NtsMessage(NtsMessageType::UE_RRC_TO_NAS), present(present) explicit NmUeRrcToNas(PR present) : NtsMessage(NtsMessageType::UE_RRC_TO_NAS), present(present)
{ {
} }
......
...@@ -70,9 +70,7 @@ void UeRrcLayer::notifyCellLost(int cellId) ...@@ -70,9 +70,7 @@ void UeRrcLayer::notifyCellLost(int cellId)
declareRadioLinkFailure(rls::ERlfCause::SIGNAL_LOST_TO_CONNECTED_CELL); declareRadioLinkFailure(rls::ERlfCause::SIGNAL_LOST_TO_CONNECTED_CELL);
else else
{ {
auto w = std::make_unique<NmUeRrcToNas>(NmUeRrcToNas::ACTIVE_CELL_CHANGED); m_base->l3Task->nas().handleActiveCellChange(Tai{lastActiveCell.plmn, lastActiveCell.tac});
w->previousTai = Tai{lastActiveCell.plmn, lastActiveCell.tac};
m_base->l3Task->push(std::move(w));
} }
} }
......
...@@ -154,7 +154,7 @@ void UeRrcLayer::receiveRrcRelease(const ASN_RRC_RRCRelease &msg) ...@@ -154,7 +154,7 @@ void UeRrcLayer::receiveRrcRelease(const ASN_RRC_RRCRelease &msg)
void UeRrcLayer::handleEstablishmentFailure() void UeRrcLayer::handleEstablishmentFailure()
{ {
m_base->l3Task->push(std::make_unique<NmUeRrcToNas>(NmUeRrcToNas::RRC_ESTABLISHMENT_FAILURE)); m_base->l3Task->nas().handleRrcEstablishmentFailure();
} }
void UeRrcLayer::performLocalRelease(bool treatBarred) void UeRrcLayer::performLocalRelease(bool treatBarred)
......
...@@ -104,9 +104,7 @@ void UeRrcLayer::performCellSelection() ...@@ -104,9 +104,7 @@ void UeRrcLayer::performCellSelection()
w1->cellId = selectedCell; w1->cellId = selectedCell;
m_base->rlsTask->push(std::move(w1)); m_base->rlsTask->push(std::move(w1));
auto w2 = std::make_unique<NmUeRrcToNas>(NmUeRrcToNas::ACTIVE_CELL_CHANGED); m_base->l3Task->nas().handleActiveCellChange(Tai{lastCell.plmn, lastCell.tac});
w2->previousTai = Tai{lastCell.plmn, lastCell.tac};
m_base->l3Task->push(std::move(w2));
} }
} }
......
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