![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
The abstract base class of a handover algorithm that operates using the Handover Management SAP interface. More...
#include "nr-handover-algorithm.h"
Public Member Functions | |
virtual NrHandoverManagementSapProvider * | GetNrHandoverManagementSapProvider ()=0 |
Export the "provider" part of the Handover Management SAP interface. | |
virtual void | SetNrHandoverManagementSapUser (NrHandoverManagementSapUser *s)=0 |
Set the "user" part of the Handover Management SAP interface that this handover algorithm instance will interact with. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions | |
void | DoDispose () override |
virtual void | DoReportUeMeas (uint16_t rnti, NrRrcSap::MeasResults measResults)=0 |
Implementation of NrHandoverManagementSapProvider::ReportUeMeas. | |
The abstract base class of a handover algorithm that operates using the Handover Management SAP interface.
Handover algorithm receives measurement reports from an eNodeB RRC instance and tells the eNodeB RRC instance when to do a handover.
This class is an abstract class intended to be inherited by subclasses that implement its virtual methods. By inheriting from this abstract class, the subclasses gain the benefits of being compatible with the NrGnbNetDevice class, being accessible using namespace-based access through ns-3 Config subsystem, and being installed and configured by NrHelper class (see NrHelper::SetHandoverAlgorithmType and NrHelper::SetHandoverAlgorithmAttribute methods).
The communication with the eNodeB RRC instance is done through the Handover Management SAP interface. The handover algorithm instance corresponds to the "provider" part of this interface, while the eNodeB RRC instance takes the role of the "user" part. The following code skeleton establishes the connection between both instances:
Ptr<NrGnbRrc> u = ...; Ptr<NrHandoverAlgorithm> p = ...; u->SetNrHandoverManagementSapProvider (p->GetNrHandoverManagementSapProvider ()); p->SetNrHandoverManagementSapUser (u->GetNrHandoverManagementSapUser ());
However, user rarely needs to use the above code, since it has already been taken care by NrHelper::InstallGnbDevice.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 56 bytes (on a 64-bit architecture).
Definition at line 51 of file nr-handover-algorithm.h.
ns3::NrHandoverAlgorithm::NrHandoverAlgorithm | ( | ) |
Definition at line 18 of file nr-handover-algorithm.cc.
|
override |
Definition at line 22 of file nr-handover-algorithm.cc.
|
overrideprotected |
Definition at line 34 of file nr-handover-algorithm.cc.
|
protectedpure virtual |
Implementation of NrHandoverManagementSapProvider::ReportUeMeas.
rnti | Radio Network Temporary Identity, an integer identifying the UE where the report originates from |
measResults | a single report of one measurement identity |
Implemented in ns3::NrA2A4RsrqHandoverAlgorithm, ns3::NrA3RsrpHandoverAlgorithm, and ns3::NrNoOpHandoverAlgorithm.
|
pure virtual |
Export the "provider" part of the Handover Management SAP interface.
Implemented in ns3::NrA2A4RsrqHandoverAlgorithm, ns3::NrA3RsrpHandoverAlgorithm, and ns3::NrNoOpHandoverAlgorithm.
|
static |
|
pure virtual |
Set the "user" part of the Handover Management SAP interface that this handover algorithm instance will interact with.
s | a reference to the "user" part of the interface, typically a member of an NrGnbRrc instance |
Implemented in ns3::NrA2A4RsrqHandoverAlgorithm, ns3::NrA3RsrpHandoverAlgorithm, and ns3::NrNoOpHandoverAlgorithm.