diff --git a/CHANGES.html b/CHANGES.html
index 7eb92a9cc..096ec9490 100644
--- a/CHANGES.html
+++ b/CHANGES.html
@@ -76,6 +76,7 @@ transmitted.
Changes to existing API:
- The internal TCP API for TcpCongestionOps has been extended to support the CongControl method to allow for delivery rate estimation feedback to the congestion control mechanism.
+- Functions LteEnbPhy::ReceiveUlHarqFeedback and LteUePhy::ReceiveLteDlHarqFeedback are renamed to LteEnbPhy::ReportUlHarqFeedback and LteUePhy::EnqueueDlHarqFeedback, respectively to avoid confusion about their functionality. LteHelper is updated accordingly.
Changes to build system:
diff --git a/src/lte/bindings/modulegen__gcc_ILP32.py b/src/lte/bindings/modulegen__gcc_ILP32.py
index e0d1da8e5..0ea057409 100644
--- a/src/lte/bindings/modulegen__gcc_ILP32.py
+++ b/src/lte/bindings/modulegen__gcc_ILP32.py
@@ -10719,6 +10719,11 @@ def register_Ns3Vector2D_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_numeric_operator('-', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right'))
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('<=')
## vector.h (module 'core'): ns3::Vector2D::Vector2D(ns3::Vector2D const & arg0) [constructor]
cls.add_constructor([param('ns3::Vector2D const &', 'arg0')])
## vector.h (module 'core'): ns3::Vector2D::Vector2D(double _x, double _y) [constructor]
@@ -10741,6 +10746,11 @@ def register_Ns3Vector3D_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_numeric_operator('-', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right'))
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('<=')
## vector.h (module 'core'): ns3::Vector3D::Vector3D(ns3::Vector3D const & arg0) [constructor]
cls.add_constructor([param('ns3::Vector3D const &', 'arg0')])
## vector.h (module 'core'): ns3::Vector3D::Vector3D(double _x, double _y, double _z) [constructor]
@@ -20853,6 +20863,11 @@ def register_Ns3LteUePhy_methods(root_module, cls):
'void',
[],
is_virtual=True)
+ ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::EnqueueDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function]
+ cls.add_method('EnqueueDlHarqFeedback',
+ 'void',
+ [param('ns3::DlInfoListElement_s', 'mes')],
+ is_virtual=True)
## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::GenerateCtrlCqiReport(ns3::SpectrumValue const & sinr) [member function]
cls.add_method('GenerateCtrlCqiReport',
'void',
@@ -20933,11 +20948,6 @@ def register_Ns3LteUePhy_methods(root_module, cls):
'void',
[param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'msgList')],
is_virtual=True)
- ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceiveLteDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function]
- cls.add_method('ReceiveLteDlHarqFeedback',
- 'void',
- [param('ns3::DlInfoListElement_s', 'mes')],
- is_virtual=True)
## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceivePss(uint16_t cellId, ns3::Ptr p) [member function]
cls.add_method('ReceivePss',
'void',
@@ -26259,11 +26269,6 @@ def register_Ns3LteEnbPhy_methods(root_module, cls):
'void',
[param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'arg0')],
is_virtual=True)
- ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReceiveLteUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function]
- cls.add_method('ReceiveLteUlHarqFeedback',
- 'void',
- [param('ns3::UlInfoListElement_s', 'mes')],
- is_virtual=True)
## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportInterference(ns3::SpectrumValue const & interf) [member function]
cls.add_method('ReportInterference',
'void',
@@ -26274,6 +26279,11 @@ def register_Ns3LteEnbPhy_methods(root_module, cls):
'void',
[param('ns3::SpectrumValue const &', 'power')],
is_virtual=True)
+ ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function]
+ cls.add_method('ReportUlHarqFeedback',
+ 'void',
+ [param('ns3::UlInfoListElement_s', 'mes')],
+ is_virtual=True)
## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::SendControlChannels(std::list, std::allocator > > ctrlMsgList) [member function]
cls.add_method('SendControlChannels',
'void',
diff --git a/src/lte/bindings/modulegen__gcc_LP64.py b/src/lte/bindings/modulegen__gcc_LP64.py
index 2a5d90181..fd05e7d69 100644
--- a/src/lte/bindings/modulegen__gcc_LP64.py
+++ b/src/lte/bindings/modulegen__gcc_LP64.py
@@ -10719,6 +10719,11 @@ def register_Ns3Vector2D_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_numeric_operator('-', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::Vector2D'], root_module['ns3::Vector2D'], param('ns3::Vector2D const &', 'right'))
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('<=')
## vector.h (module 'core'): ns3::Vector2D::Vector2D(ns3::Vector2D const & arg0) [constructor]
cls.add_constructor([param('ns3::Vector2D const &', 'arg0')])
## vector.h (module 'core'): ns3::Vector2D::Vector2D(double _x, double _y) [constructor]
@@ -10741,6 +10746,11 @@ def register_Ns3Vector3D_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_numeric_operator('-', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::Vector3D'], root_module['ns3::Vector3D'], param('ns3::Vector3D const &', 'right'))
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('<=')
## vector.h (module 'core'): ns3::Vector3D::Vector3D(ns3::Vector3D const & arg0) [constructor]
cls.add_constructor([param('ns3::Vector3D const &', 'arg0')])
## vector.h (module 'core'): ns3::Vector3D::Vector3D(double _x, double _y, double _z) [constructor]
@@ -20853,6 +20863,11 @@ def register_Ns3LteUePhy_methods(root_module, cls):
'void',
[],
is_virtual=True)
+ ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::EnqueueDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function]
+ cls.add_method('EnqueueDlHarqFeedback',
+ 'void',
+ [param('ns3::DlInfoListElement_s', 'mes')],
+ is_virtual=True)
## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::GenerateCtrlCqiReport(ns3::SpectrumValue const & sinr) [member function]
cls.add_method('GenerateCtrlCqiReport',
'void',
@@ -20933,11 +20948,6 @@ def register_Ns3LteUePhy_methods(root_module, cls):
'void',
[param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'msgList')],
is_virtual=True)
- ## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceiveLteDlHarqFeedback(ns3::DlInfoListElement_s mes) [member function]
- cls.add_method('ReceiveLteDlHarqFeedback',
- 'void',
- [param('ns3::DlInfoListElement_s', 'mes')],
- is_virtual=True)
## lte-ue-phy.h (module 'lte'): void ns3::LteUePhy::ReceivePss(uint16_t cellId, ns3::Ptr p) [member function]
cls.add_method('ReceivePss',
'void',
@@ -26259,11 +26269,6 @@ def register_Ns3LteEnbPhy_methods(root_module, cls):
'void',
[param('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'arg0')],
is_virtual=True)
- ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReceiveLteUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function]
- cls.add_method('ReceiveLteUlHarqFeedback',
- 'void',
- [param('ns3::UlInfoListElement_s', 'mes')],
- is_virtual=True)
## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportInterference(ns3::SpectrumValue const & interf) [member function]
cls.add_method('ReportInterference',
'void',
@@ -26274,6 +26279,11 @@ def register_Ns3LteEnbPhy_methods(root_module, cls):
'void',
[param('ns3::SpectrumValue const &', 'power')],
is_virtual=True)
+ ## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::ReportUlHarqFeedback(ns3::UlInfoListElement_s mes) [member function]
+ cls.add_method('ReportUlHarqFeedback',
+ 'void',
+ [param('ns3::UlInfoListElement_s', 'mes')],
+ is_virtual=True)
## lte-enb-phy.h (module 'lte'): void ns3::LteEnbPhy::SendControlChannels(std::list, std::allocator > > ctrlMsgList) [member function]
cls.add_method('SendControlChannels',
'void',
diff --git a/src/lte/helper/lte-helper.cc b/src/lte/helper/lte-helper.cc
index 52f55b6aa..ddecd85ff 100644
--- a/src/lte/helper/lte-helper.cc
+++ b/src/lte/helper/lte-helper.cc
@@ -709,7 +709,7 @@ LteHelper::InstallSingleEnbDevice (Ptr n)
ccPhy->GetDlSpectrumPhy ()->SetDevice (dev);
ccPhy->GetUlSpectrumPhy ()->SetLtePhyRxDataEndOkCallback (MakeCallback (&LteEnbPhy::PhyPduReceived, ccPhy));
ccPhy->GetUlSpectrumPhy ()->SetLtePhyRxCtrlEndOkCallback (MakeCallback (&LteEnbPhy::ReceiveLteControlMessageList, ccPhy));
- ccPhy->GetUlSpectrumPhy ()->SetLtePhyUlHarqFeedbackCallback (MakeCallback (&LteEnbPhy::ReceiveLteUlHarqFeedback, ccPhy));
+ ccPhy->GetUlSpectrumPhy ()->SetLtePhyUlHarqFeedbackCallback (MakeCallback (&LteEnbPhy::ReportUlHarqFeedback, ccPhy));
NS_LOG_LOGIC ("set the propagation model frequencies");
double dlFreq = LteSpectrumValueHelper::GetCarrierFrequency (it->second->m_dlEarfcn);
NS_LOG_LOGIC ("DL freq: " << dlFreq);
@@ -937,7 +937,7 @@ LteHelper::InstallSingleUeDevice (Ptr n)
ccPhy->GetDlSpectrumPhy ()->SetLtePhyRxDataEndOkCallback (MakeCallback (&LteUePhy::PhyPduReceived, ccPhy));
ccPhy->GetDlSpectrumPhy ()->SetLtePhyRxCtrlEndOkCallback (MakeCallback (&LteUePhy::ReceiveLteControlMessageList, ccPhy));
ccPhy->GetDlSpectrumPhy ()->SetLtePhyRxPssCallback (MakeCallback (&LteUePhy::ReceivePss, ccPhy));
- ccPhy->GetDlSpectrumPhy ()->SetLtePhyDlHarqFeedbackCallback (MakeCallback (&LteUePhy::ReceiveLteDlHarqFeedback, ccPhy));
+ ccPhy->GetDlSpectrumPhy ()->SetLtePhyDlHarqFeedbackCallback (MakeCallback (&LteUePhy::EnqueueDlHarqFeedback, ccPhy));
}
nas->SetDevice (dev);
diff --git a/src/lte/model/lte-enb-phy.cc b/src/lte/model/lte-enb-phy.cc
index 6fc7cb833..780108d3c 100644
--- a/src/lte/model/lte-enb-phy.cc
+++ b/src/lte/model/lte-enb-phy.cc
@@ -1171,7 +1171,7 @@ LteEnbPhy::SetHarqPhyModule (Ptr harq)
void
-LteEnbPhy::ReceiveLteUlHarqFeedback (UlInfoListElement_s mes)
+LteEnbPhy::ReportUlHarqFeedback (UlInfoListElement_s mes)
{
NS_LOG_FUNCTION (this);
// forward to scheduler
diff --git a/src/lte/model/lte-enb-phy.h b/src/lte/model/lte-enb-phy.h
index 96809b715..9bfebb5f8 100644
--- a/src/lte/model/lte-enb-phy.h
+++ b/src/lte/model/lte-enb-phy.h
@@ -286,13 +286,14 @@ public:
/**
- * \brief PhySpectrum generated a new UL HARQ feedback
+ * \brief Report the uplink HARQ feedback generated by LteSpectrumPhy to MAC
+ *
* \param mes UlInfoListElement_s
*/
- virtual void ReceiveLteUlHarqFeedback (UlInfoListElement_s mes);
+ virtual void ReportUlHarqFeedback (UlInfoListElement_s mes);
/**
- * \brief PhySpectrum generated a new UL HARQ feedback
+ * \brief Set the HARQ Phy module
*
* \param harq the HARQ Phy
*/
diff --git a/src/lte/model/lte-ue-phy.cc b/src/lte/model/lte-ue-phy.cc
index ffb0f8dff..8a864e85c 100644
--- a/src/lte/model/lte-ue-phy.cc
+++ b/src/lte/model/lte-ue-phy.cc
@@ -1732,10 +1732,10 @@ LteUePhy::SetTxModeGain (uint8_t txMode, double gain)
void
-LteUePhy::ReceiveLteDlHarqFeedback (DlInfoListElement_s m)
+LteUePhy::EnqueueDlHarqFeedback (DlInfoListElement_s m)
{
NS_LOG_FUNCTION (this);
- // generate feedback to eNB and send it through ideal PUCCH
+ // get the feedback from LteSpectrumPhy and send it through ideal PUCCH to eNB
Ptr msg = Create ();
msg->SetDlHarqFeedback (m);
SetControlMessages (msg);
diff --git a/src/lte/model/lte-ue-phy.h b/src/lte/model/lte-ue-phy.h
index 8ca888c88..66573677c 100644
--- a/src/lte/model/lte-ue-phy.h
+++ b/src/lte/model/lte-ue-phy.h
@@ -279,11 +279,11 @@ public:
void SendSrs ();
/**
- * \brief PhySpectrum generated a new DL HARQ feedback
+ * \brief Enqueue the downlink HARQ feedback generated by LteSpectrumPhy
*
* \param mes the DlInfoListElement_s
*/
- virtual void ReceiveLteDlHarqFeedback (DlInfoListElement_s mes);
+ virtual void EnqueueDlHarqFeedback (DlInfoListElement_s mes);
/**
* \brief Set the HARQ PHY module