5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrHandoverAlgorithm Class Referenceabstract

The abstract base class of a handover algorithm that operates using the Handover Management SAP interface. More...

#include "nr-handover-algorithm.h"

+ Inheritance diagram for ns3::NrHandoverAlgorithm:
+ Collaboration diagram for ns3::NrHandoverAlgorithm:

Public Member Functions

virtual NrHandoverManagementSapProviderGetNrHandoverManagementSapProvider ()=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.
 

Detailed Description

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.

See also
NrHandoverManagementSapProvider, NrHandoverManagementSapUser

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.

Constructor & Destructor Documentation

◆ NrHandoverAlgorithm()

ns3::NrHandoverAlgorithm::NrHandoverAlgorithm ( )

Definition at line 18 of file nr-handover-algorithm.cc.

◆ ~NrHandoverAlgorithm()

ns3::NrHandoverAlgorithm::~NrHandoverAlgorithm ( )
override

Definition at line 22 of file nr-handover-algorithm.cc.

Member Function Documentation

◆ DoDispose()

void ns3::NrHandoverAlgorithm::DoDispose ( )
overrideprotected

Definition at line 34 of file nr-handover-algorithm.cc.

◆ DoReportUeMeas()

virtual void ns3::NrHandoverAlgorithm::DoReportUeMeas ( uint16_t  rnti,
NrRrcSap::MeasResults  measResults 
)
protectedpure virtual

Implementation of NrHandoverManagementSapProvider::ReportUeMeas.

Parameters
rntiRadio Network Temporary Identity, an integer identifying the UE where the report originates from
measResultsa single report of one measurement identity

Implemented in ns3::NrA2A4RsrqHandoverAlgorithm, ns3::NrA3RsrpHandoverAlgorithm, and ns3::NrNoOpHandoverAlgorithm.

◆ GetNrHandoverManagementSapProvider()

virtual NrHandoverManagementSapProvider * ns3::NrHandoverAlgorithm::GetNrHandoverManagementSapProvider ( )
pure virtual

Export the "provider" part of the Handover Management SAP interface.

Returns
the reference to the "provider" part of the interface, typically to be kept by an NrGnbRrc instance

Implemented in ns3::NrA2A4RsrqHandoverAlgorithm, ns3::NrA3RsrpHandoverAlgorithm, and ns3::NrNoOpHandoverAlgorithm.

◆ GetTypeId()

TypeId ns3::NrHandoverAlgorithm::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 27 of file nr-handover-algorithm.cc.

◆ SetNrHandoverManagementSapUser()

virtual void ns3::NrHandoverAlgorithm::SetNrHandoverManagementSapUser ( NrHandoverManagementSapUser s)
pure virtual

Set the "user" part of the Handover Management SAP interface that this handover algorithm instance will interact with.

Parameters
sa reference to the "user" part of the interface, typically a member of an NrGnbRrc instance

Implemented in ns3::NrA2A4RsrqHandoverAlgorithm, ns3::NrA3RsrpHandoverAlgorithm, and ns3::NrNoOpHandoverAlgorithm.


The documentation for this class was generated from the following files: