A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
no-op-handover-algorithm.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 Budiarto Herman
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Budiarto Herman <budiarto.herman@magister.fi>
7
*
8
*/
9
10
#include "
no-op-handover-algorithm.h
"
11
12
#include <ns3/log.h>
13
14
namespace
ns3
15
{
16
17
NS_LOG_COMPONENT_DEFINE
(
"NoOpHandoverAlgorithm"
);
18
19
NS_OBJECT_ENSURE_REGISTERED
(NoOpHandoverAlgorithm);
20
21
NoOpHandoverAlgorithm::NoOpHandoverAlgorithm
()
22
: m_handoverManagementSapUser(nullptr)
23
{
24
NS_LOG_FUNCTION
(
this
);
25
m_handoverManagementSapProvider
=
26
new
MemberLteHandoverManagementSapProvider<NoOpHandoverAlgorithm>
(
this
);
27
}
28
29
NoOpHandoverAlgorithm::~NoOpHandoverAlgorithm
()
30
{
31
NS_LOG_FUNCTION
(
this
);
32
}
33
34
void
35
NoOpHandoverAlgorithm::DoDispose
()
36
{
37
NS_LOG_FUNCTION
(
this
);
38
delete
m_handoverManagementSapProvider
;
39
}
40
41
TypeId
42
NoOpHandoverAlgorithm::GetTypeId
()
43
{
44
static
TypeId
tid =
TypeId
(
"ns3::NoOpHandoverAlgorithm"
)
45
.
SetParent
<
LteHandoverAlgorithm
>()
46
.SetGroupName(
"Lte"
)
47
.AddConstructor<
NoOpHandoverAlgorithm
>();
48
return
tid;
49
}
50
51
void
52
NoOpHandoverAlgorithm::SetLteHandoverManagementSapUser
(
LteHandoverManagementSapUser
* s)
53
{
54
NS_LOG_FUNCTION
(
this
<< s);
55
m_handoverManagementSapUser
= s;
56
}
57
58
LteHandoverManagementSapProvider
*
59
NoOpHandoverAlgorithm::GetLteHandoverManagementSapProvider
()
60
{
61
NS_LOG_FUNCTION
(
this
);
62
return
m_handoverManagementSapProvider
;
63
}
64
65
void
66
NoOpHandoverAlgorithm::DoInitialize
()
67
{
68
NS_LOG_FUNCTION
(
this
);
69
LteHandoverAlgorithm::DoInitialize
();
70
}
71
72
void
73
NoOpHandoverAlgorithm::DoReportUeMeas
(uint16_t rnti,
LteRrcSap::MeasResults
measResults)
74
{
75
NS_LOG_FUNCTION
(
this
<< rnti << (uint16_t)measResults.
measId
);
76
}
77
78
}
// end of namespace ns3
ns3::LteHandoverAlgorithm
The abstract base class of a handover algorithm that operates using the Handover Management SAP inter...
Definition
lte-handover-algorithm.h:55
ns3::LteHandoverManagementSapProvider
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance.
Definition
lte-handover-management-sap.h:27
ns3::LteHandoverManagementSapUser
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance.
Definition
lte-handover-management-sap.h:54
ns3::NoOpHandoverAlgorithm
Handover algorithm implementation which simply does nothing.
Definition
no-op-handover-algorithm.h:30
ns3::NoOpHandoverAlgorithm::~NoOpHandoverAlgorithm
~NoOpHandoverAlgorithm() override
Definition
no-op-handover-algorithm.cc:29
ns3::NoOpHandoverAlgorithm::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
no-op-handover-algorithm.cc:42
ns3::NoOpHandoverAlgorithm::DoReportUeMeas
void DoReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults) override
Implementation of LteHandoverManagementSapProvider::ReportUeMeas.
Definition
no-op-handover-algorithm.cc:73
ns3::NoOpHandoverAlgorithm::DoInitialize
void DoInitialize() override
Initialize() implementation.
Definition
no-op-handover-algorithm.cc:66
ns3::NoOpHandoverAlgorithm::DoDispose
void DoDispose() override
Destructor implementation.
Definition
no-op-handover-algorithm.cc:35
ns3::NoOpHandoverAlgorithm::m_handoverManagementSapProvider
LteHandoverManagementSapProvider * m_handoverManagementSapProvider
Receive API calls from the eNodeB RRC instance.
Definition
no-op-handover-algorithm.h:62
ns3::NoOpHandoverAlgorithm::NoOpHandoverAlgorithm
NoOpHandoverAlgorithm()
Creates a No-op handover algorithm instance.
Definition
no-op-handover-algorithm.cc:21
ns3::NoOpHandoverAlgorithm::GetLteHandoverManagementSapProvider
LteHandoverManagementSapProvider * GetLteHandoverManagementSapProvider() override
Export the "provider" part of the Handover Management SAP interface.
Definition
no-op-handover-algorithm.cc:59
ns3::NoOpHandoverAlgorithm::m_handoverManagementSapUser
LteHandoverManagementSapUser * m_handoverManagementSapUser
Interface to the eNodeB RRC instance.
Definition
no-op-handover-algorithm.h:60
ns3::NoOpHandoverAlgorithm::MemberLteHandoverManagementSapProvider< NoOpHandoverAlgorithm >
friend class MemberLteHandoverManagementSapProvider< NoOpHandoverAlgorithm >
let the forwarder class access the protected and private members
Definition
no-op-handover-algorithm.h:48
ns3::NoOpHandoverAlgorithm::SetLteHandoverManagementSapUser
void SetLteHandoverManagementSapUser(LteHandoverManagementSapUser *s) override
Set the "user" part of the Handover Management SAP interface that this handover algorithm instance wi...
Definition
no-op-handover-algorithm.cc:52
ns3::Object::DoInitialize
virtual void DoInitialize()
Initialize() implementation.
Definition
object.cc:440
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition
type-id.cc:1001
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition
log.h:191
NS_LOG_FUNCTION
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Definition
log-macros-enabled.h:229
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition
object-base.h:35
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
no-op-handover-algorithm.h
ns3::LteRrcSap::MeasResults
MeasResults structure.
Definition
lte-rrc-sap.h:706
ns3::LteRrcSap::MeasResults::measId
uint8_t measId
measure ID
Definition
lte-rrc-sap.h:707
src
lte
model
no-op-handover-algorithm.cc
Generated on Wed Dec 4 2024 18:20:45 for ns-3 by
1.11.0