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
component-carrier-enb.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Danilo Abrignani
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
7
*/
8
9
#ifndef COMPONENT_CARRIER_ENB_H
10
#define COMPONENT_CARRIER_ENB_H
11
12
#include "
component-carrier.h
"
13
#include "
lte-enb-phy.h
"
14
15
#include <ns3/nstime.h>
16
#include <ns3/object.h>
17
#include <ns3/packet.h>
18
#include <ns3/pointer.h>
19
20
namespace
ns3
21
{
22
23
class
LteEnbMac;
24
class
FfMacScheduler;
25
class
LteFfrAlgorithm;
26
27
/**
28
* \ingroup lte
29
*
30
* Defines a single carrier for enb, and contains pointers to LteEnbPhy,
31
* LteEnbMac, LteFfrAlgorithm, and FfMacScheduler objects.
32
*
33
*/
34
class
ComponentCarrierEnb
:
public
ComponentCarrierBaseStation
35
{
36
public
:
37
/**
38
* \brief Get the type ID.
39
* \return the object TypeId
40
*/
41
static
TypeId
GetTypeId
();
42
43
ComponentCarrierEnb
();
44
45
~ComponentCarrierEnb
()
override
;
46
void
DoDispose
()
override
;
47
48
/**
49
* \return a pointer to the physical layer.
50
*/
51
Ptr<LteEnbPhy>
GetPhy
();
52
53
/**
54
* \return a pointer to the MAC layer.
55
*/
56
Ptr<LteEnbMac>
GetMac
();
57
58
/**
59
* \return a pointer to the Ffr Algorithm.
60
*/
61
Ptr<LteFfrAlgorithm>
GetFfrAlgorithm
();
62
63
/**
64
* \return a pointer to the Mac Scheduler.
65
*/
66
Ptr<FfMacScheduler>
GetFfMacScheduler
();
67
68
/**
69
* Set the LteEnbPhy
70
* \param s a pointer to the LteEnbPhy
71
*/
72
void
SetPhy
(
Ptr<LteEnbPhy>
s);
73
/**
74
* Set the LteEnbMac
75
* \param s a pointer to the LteEnbMac
76
*/
77
void
SetMac
(
Ptr<LteEnbMac>
s);
78
79
/**
80
* Set the FfMacScheduler Algorithm
81
* \param s a pointer to the FfMacScheduler
82
*/
83
void
SetFfMacScheduler
(
Ptr<FfMacScheduler>
s);
84
85
/**
86
* Set the LteFfrAlgorithm
87
* \param s a pointer to the LteFfrAlgorithm
88
*/
89
void
SetFfrAlgorithm
(
Ptr<LteFfrAlgorithm>
s);
90
91
protected
:
92
void
DoInitialize
()
override
;
93
94
private
:
95
Ptr<LteEnbPhy>
m_phy
;
///< the Phy instance of this eNodeB component carrier
96
Ptr<LteEnbMac>
m_mac
;
///< the MAC instance of this eNodeB component carrier
97
Ptr<FfMacScheduler>
m_scheduler
;
///< the scheduler instance of this eNodeB component carrier
98
Ptr<LteFfrAlgorithm>
99
m_ffrAlgorithm
;
///< the FFR algorithm instance of this eNodeB component carrier
100
};
101
102
}
// namespace ns3
103
104
#endif
/* COMPONENT_CARRIER_H */
ns3::ComponentCarrierBaseStation
Defines a Base station, that is a ComponentCarrier but with a cell Id.
Definition
component-carrier.h:158
ns3::ComponentCarrierEnb
Defines a single carrier for enb, and contains pointers to LteEnbPhy, LteEnbMac, LteFfrAlgorithm,...
Definition
component-carrier-enb.h:35
ns3::ComponentCarrierEnb::DoInitialize
void DoInitialize() override
Initialize() implementation.
Definition
component-carrier-enb.cc:97
ns3::ComponentCarrierEnb::DoDispose
void DoDispose() override
Destructor implementation.
Definition
component-carrier-enb.cc:69
ns3::ComponentCarrierEnb::GetFfrAlgorithm
Ptr< LteFfrAlgorithm > GetFfrAlgorithm()
Definition
component-carrier-enb.cc:135
ns3::ComponentCarrierEnb::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
component-carrier-enb.cc:30
ns3::ComponentCarrierEnb::m_scheduler
Ptr< FfMacScheduler > m_scheduler
the scheduler instance of this eNodeB component carrier
Definition
component-carrier-enb.h:97
ns3::ComponentCarrierEnb::m_mac
Ptr< LteEnbMac > m_mac
the MAC instance of this eNodeB component carrier
Definition
component-carrier-enb.h:96
ns3::ComponentCarrierEnb::ComponentCarrierEnb
ComponentCarrierEnb()
Definition
component-carrier-enb.cc:58
ns3::ComponentCarrierEnb::SetFfrAlgorithm
void SetFfrAlgorithm(Ptr< LteFfrAlgorithm > s)
Set the LteFfrAlgorithm.
Definition
component-carrier-enb.cc:142
ns3::ComponentCarrierEnb::m_ffrAlgorithm
Ptr< LteFfrAlgorithm > m_ffrAlgorithm
the FFR algorithm instance of this eNodeB component carrier
Definition
component-carrier-enb.h:99
ns3::ComponentCarrierEnb::SetMac
void SetMac(Ptr< LteEnbMac > s)
Set the LteEnbMac.
Definition
component-carrier-enb.cc:128
ns3::ComponentCarrierEnb::SetFfMacScheduler
void SetFfMacScheduler(Ptr< FfMacScheduler > s)
Set the FfMacScheduler Algorithm.
Definition
component-carrier-enb.cc:156
ns3::ComponentCarrierEnb::GetFfMacScheduler
Ptr< FfMacScheduler > GetFfMacScheduler()
Definition
component-carrier-enb.cc:149
ns3::ComponentCarrierEnb::~ComponentCarrierEnb
~ComponentCarrierEnb() override
Definition
component-carrier-enb.cc:63
ns3::ComponentCarrierEnb::GetPhy
Ptr< LteEnbPhy > GetPhy()
Definition
component-carrier-enb.cc:107
ns3::ComponentCarrierEnb::m_phy
Ptr< LteEnbPhy > m_phy
the Phy instance of this eNodeB component carrier
Definition
component-carrier-enb.h:95
ns3::ComponentCarrierEnb::SetPhy
void SetPhy(Ptr< LteEnbPhy > s)
Set the LteEnbPhy.
Definition
component-carrier-enb.cc:114
ns3::ComponentCarrierEnb::GetMac
Ptr< LteEnbMac > GetMac()
Definition
component-carrier-enb.cc:121
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
component-carrier.h
lte-enb-phy.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
model
component-carrier-enb.h
Generated on Fri Nov 8 2024 13:59:02 for ns-3 by
1.11.0