From ef2a1a7260c49c05a7069119eaed85055ed7487f Mon Sep 17 00:00:00 2001 From: Nicola Baldo Date: Mon, 3 Dec 2012 17:46:35 +0100 Subject: [PATCH] cancel pending events upon RLC disposal --- src/lte/model/lte-rlc-am.cc | 9 +++++++++ src/lte/model/lte-rlc-am.h | 1 + src/lte/model/lte-rlc-tm.cc | 7 +++++++ src/lte/model/lte-rlc-tm.h | 1 + src/lte/model/lte-rlc-um.cc | 7 +++++++ src/lte/model/lte-rlc-um.h | 1 + src/lte/model/lte-rlc.cc | 6 ++++++ src/lte/model/lte-rlc.h | 1 + 8 files changed, 33 insertions(+) diff --git a/src/lte/model/lte-rlc-am.cc b/src/lte/model/lte-rlc-am.cc index 389d1f4b9..ba8ac160f 100644 --- a/src/lte/model/lte-rlc-am.cc +++ b/src/lte/model/lte-rlc-am.cc @@ -90,6 +90,15 @@ LteRlcAm::GetTypeId (void) return tid; } +void +LteRlcAm::DoDispose () +{ + NS_LOG_FUNCTION (this); + m_pollRetransmitTimer.Cancel (); + m_reorderingTimer.Cancel (); + m_statusProhibitTimer.Cancel (); +} + /** * RLC SAP diff --git a/src/lte/model/lte-rlc-am.h b/src/lte/model/lte-rlc-am.h index 41c78b834..b32abcc89 100644 --- a/src/lte/model/lte-rlc-am.h +++ b/src/lte/model/lte-rlc-am.h @@ -39,6 +39,7 @@ public: LteRlcAm (); virtual ~LteRlcAm (); static TypeId GetTypeId (void); + virtual void DoDispose (); /** * RLC SAP diff --git a/src/lte/model/lte-rlc-tm.cc b/src/lte/model/lte-rlc-tm.cc index b6059730d..8f66e8904 100644 --- a/src/lte/model/lte-rlc-tm.cc +++ b/src/lte/model/lte-rlc-tm.cc @@ -59,6 +59,13 @@ LteRlcTm::GetTypeId (void) return tid; } +void +LteRlcTm::DoDispose () +{ + NS_LOG_FUNCTION (this); + m_rbsTimer.Cancel (); +} + /** * RLC SAP diff --git a/src/lte/model/lte-rlc-tm.h b/src/lte/model/lte-rlc-tm.h index fa16c60bd..88e8f2529 100644 --- a/src/lte/model/lte-rlc-tm.h +++ b/src/lte/model/lte-rlc-tm.h @@ -38,6 +38,7 @@ public: LteRlcTm (); virtual ~LteRlcTm (); static TypeId GetTypeId (void); + virtual void DoDispose (); /** * RLC SAP diff --git a/src/lte/model/lte-rlc-um.cc b/src/lte/model/lte-rlc-um.cc index 879cec23a..c8affe8a7 100644 --- a/src/lte/model/lte-rlc-um.cc +++ b/src/lte/model/lte-rlc-um.cc @@ -67,6 +67,13 @@ LteRlcUm::GetTypeId (void) return tid; } +void +LteRlcUm::DoDispose () +{ + NS_LOG_FUNCTION (this); + m_reorderingTimer.Cancel (); + m_rbsTimer.Cancel (); +} /** * RLC SAP diff --git a/src/lte/model/lte-rlc-um.h b/src/lte/model/lte-rlc-um.h index d5165a20e..f345b50f3 100644 --- a/src/lte/model/lte-rlc-um.h +++ b/src/lte/model/lte-rlc-um.h @@ -38,6 +38,7 @@ public: LteRlcUm (); virtual ~LteRlcUm (); static TypeId GetTypeId (void); + virtual void DoDispose (); /** * RLC SAP diff --git a/src/lte/model/lte-rlc.cc b/src/lte/model/lte-rlc.cc index 1d14cb480..89e47ea10 100644 --- a/src/lte/model/lte-rlc.cc +++ b/src/lte/model/lte-rlc.cc @@ -108,6 +108,12 @@ TypeId LteRlc::GetTypeId (void) return tid; } +void +LteRlcSm::DoDispose () +{ + NS_LOG_FUNCTION (this); +} + void LteRlc::SetRnti (uint16_t rnti) { diff --git a/src/lte/model/lte-rlc.h b/src/lte/model/lte-rlc.h index 77993256c..35b617cde 100644 --- a/src/lte/model/lte-rlc.h +++ b/src/lte/model/lte-rlc.h @@ -148,6 +148,7 @@ public: LteRlcSm (); virtual ~LteRlcSm (); static TypeId GetTypeId (void); + virtual void DoDispose (); virtual void DoTransmitPdcpPdu (Ptr p); virtual void DoNotifyTxOpportunity (uint32_t bytes, uint8_t layer, uint8_t harqId);