This commit is contained in:
Tommaso Pecorella
2020-02-11 11:43:11 +01:00
8 changed files with 52 additions and 30 deletions

View File

@@ -76,6 +76,7 @@ transmitted.</li>
<h2>Changes to existing API:</h2>
<ul>
<li>The internal TCP API for <b>TcpCongestionOps</b> has been extended to support the <b>CongControl</b> method to allow for delivery rate estimation feedback to the congestion control mechanism.</li>
<li>Functions <b>LteEnbPhy::ReceiveUlHarqFeedback</b> and <b>LteUePhy::ReceiveLteDlHarqFeedback</b> are renamed to <b>LteEnbPhy::ReportUlHarqFeedback</b> and <b>LteUePhy::EnqueueDlHarqFeedback</b>, respectively to avoid confusion about their functionality. <b>LteHelper</b> is updated accordingly.</li>
</ul>
<h2>Changes to build system:</h2>
<ul>

View File

@@ -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<ns3::SpectrumValue> 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<ns3::Ptr<ns3::LteControlMessage>, std::allocator<ns3::Ptr<ns3::LteControlMessage> > > ctrlMsgList) [member function]
cls.add_method('SendControlChannels',
'void',

View File

@@ -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<ns3::SpectrumValue> 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<ns3::Ptr<ns3::LteControlMessage>, std::allocator<ns3::Ptr<ns3::LteControlMessage> > > ctrlMsgList) [member function]
cls.add_method('SendControlChannels',
'void',

View File

@@ -709,7 +709,7 @@ LteHelper::InstallSingleEnbDevice (Ptr<Node> 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<Node> 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);

View File

@@ -1171,7 +1171,7 @@ LteEnbPhy::SetHarqPhyModule (Ptr<LteHarqPhy> harq)
void
LteEnbPhy::ReceiveLteUlHarqFeedback (UlInfoListElement_s mes)
LteEnbPhy::ReportUlHarqFeedback (UlInfoListElement_s mes)
{
NS_LOG_FUNCTION (this);
// forward to scheduler

View File

@@ -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
*/

View File

@@ -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<DlHarqFeedbackLteControlMessage> msg = Create<DlHarqFeedbackLteControlMessage> ();
msg->SetDlHarqFeedback (m);
SetControlMessages (msg);

View File

@@ -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