From 3b2ac47f2de85e9d7c4e3f891e83a185b8f813fa Mon Sep 17 00:00:00 2001 From: ZorazeAli Date: Fri, 29 Nov 2019 13:06:46 +0100 Subject: [PATCH] lte: Add attribute to configure the reordering timer of RLC UM --- src/lte/model/lte-rlc-um.cc | 9 +++++++-- src/lte/model/lte-rlc-um.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lte/model/lte-rlc-um.cc b/src/lte/model/lte-rlc-um.cc index 19a276f0e..489c459be 100644 --- a/src/lte/model/lte-rlc-um.cc +++ b/src/lte/model/lte-rlc-um.cc @@ -63,6 +63,11 @@ LteRlcUm::GetTypeId (void) UintegerValue (10 * 1024), MakeUintegerAccessor (&LteRlcUm::m_maxTxBufferSize), MakeUintegerChecker ()) + .AddAttribute ("ReorderingTimer", + "Value of the t-Reordering timer (See section 7.3 of 3GPP TS 36.322)", + TimeValue (MilliSeconds (100)), + MakeTimeAccessor (&LteRlcUm::m_reorderingTimerValue), + MakeTimeChecker ()) ; return tid; } @@ -558,7 +563,7 @@ LteRlcUm::DoReceivePdu (LteMacSapUser::ReceivePduParameters rxPduParams) { NS_LOG_LOGIC ("VR(UH) > VR(UR)"); NS_LOG_LOGIC ("Start reordering timer"); - m_reorderingTimer = Simulator::Schedule (Time ("0.1s"), + m_reorderingTimer = Simulator::Schedule (m_reorderingTimerValue, &LteRlcUm::ExpireReorderingTimer ,this); m_vrUx = m_vrUh; NS_LOG_LOGIC ("New VR(UX) = " << m_vrUx); @@ -1173,7 +1178,7 @@ LteRlcUm::ExpireReorderingTimer (void) if ( m_vrUh > m_vrUr) { NS_LOG_LOGIC ("Start reordering timer"); - m_reorderingTimer = Simulator::Schedule (Time ("0.1s"), + m_reorderingTimer = Simulator::Schedule (m_reorderingTimerValue, &LteRlcUm::ExpireReorderingTimer, this); m_vrUx = m_vrUh; NS_LOG_LOGIC ("New VR(UX) = " << m_vrUx); diff --git a/src/lte/model/lte-rlc-um.h b/src/lte/model/lte-rlc-um.h index 97ac7136d..d3853949c 100644 --- a/src/lte/model/lte-rlc-um.h +++ b/src/lte/model/lte-rlc-um.h @@ -141,6 +141,7 @@ private: /** * Timers. See section 7.3 in TS 36.322 */ + Time m_reorderingTimerValue; ///< reordering timer value EventId m_reorderingTimer; ///< reordering timer EventId m_rbsTimer; ///< RBS timer