A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
ff-mac-scheduler.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Nicola Baldo <nbaldo@cttc.es>
18
* Marco Miozzo <marco.miozzo@cttc.es>
19
*/
20
21
#ifndef FF_MAC_SCHEDULER_H
22
#define FF_MAC_SCHEDULER_H
23
24
#include <ns3/object.h>
25
26
namespace
ns3
27
{
28
29
class
FfMacCschedSapUser;
30
class
FfMacSchedSapUser;
31
class
FfMacCschedSapProvider;
32
class
FfMacSchedSapProvider;
33
class
LteFfrSapProvider;
34
class
LteFfrSapUser;
35
50
class
FfMacScheduler
:
public
Object
51
{
52
public
:
58
enum
UlCqiFilter_t
59
{
60
SRS_UL_CQI
,
61
PUSCH_UL_CQI
62
};
63
68
FfMacScheduler
();
73
~FfMacScheduler
()
override
;
74
75
// inherited from Object
76
void
DoDispose
()
override
;
81
static
TypeId
GetTypeId
();
82
89
virtual
void
SetFfMacCschedSapUser
(
FfMacCschedSapUser
* s) = 0;
90
98
virtual
void
SetFfMacSchedSapUser
(
FfMacSchedSapUser
* s) = 0;
99
104
virtual
FfMacCschedSapProvider
*
GetFfMacCschedSapProvider
() = 0;
105
110
virtual
FfMacSchedSapProvider
*
GetFfMacSchedSapProvider
() = 0;
111
112
// FFR SAPs
120
virtual
void
SetLteFfrSapProvider
(
LteFfrSapProvider
* s) = 0;
121
126
virtual
LteFfrSapUser
*
GetLteFfrSapUser
() = 0;
127
128
protected
:
129
UlCqiFilter_t
m_ulCqiFilter
;
130
};
131
132
}
// namespace ns3
133
134
#endif
/* FF_MAC_SCHEDULER_H */
ns3::FfMacCschedSapProvider
Provides the CSCHED SAP.
Definition:
ff-mac-csched-sap.h:46
ns3::FfMacCschedSapUser
FfMacCschedSapUser class.
Definition:
ff-mac-csched-sap.h:294
ns3::FfMacSchedSapProvider
Provides the SCHED SAP.
Definition:
ff-mac-sched-sap.h:46
ns3::FfMacSchedSapUser
FfMacSchedSapUser class.
Definition:
ff-mac-sched-sap.h:291
ns3::FfMacScheduler
This abstract base class identifies the interface by means of which the helper object can plug on the...
Definition:
ff-mac-scheduler.h:51
ns3::FfMacScheduler::DoDispose
void DoDispose() override
Destructor implementation.
Definition:
ff-mac-scheduler.cc:44
ns3::FfMacScheduler::SetLteFfrSapProvider
virtual void SetLteFfrSapProvider(LteFfrSapProvider *s)=0
Set the Provider part of the LteFfrSap that this Scheduler will interact with.
ns3::FfMacScheduler::GetLteFfrSapUser
virtual LteFfrSapUser * GetLteFfrSapUser()=0
ns3::FfMacScheduler::~FfMacScheduler
~FfMacScheduler() override
destructor
Definition:
ff-mac-scheduler.cc:38
ns3::FfMacScheduler::SetFfMacCschedSapUser
virtual void SetFfMacCschedSapUser(FfMacCschedSapUser *s)=0
set the user part of the FfMacCschedSap that this Scheduler will interact with.
ns3::FfMacScheduler::GetFfMacCschedSapProvider
virtual FfMacCschedSapProvider * GetFfMacCschedSapProvider()=0
ns3::FfMacScheduler::SetFfMacSchedSapUser
virtual void SetFfMacSchedSapUser(FfMacSchedSapUser *s)=0
set the user part of the FfMacSchedSap that this Scheduler will interact with.
ns3::FfMacScheduler::UlCqiFilter_t
UlCqiFilter_t
The type of UL CQI to be filtered (ALL means accept all the CQI, where a new CQI of any type overwrit...
Definition:
ff-mac-scheduler.h:59
ns3::FfMacScheduler::PUSCH_UL_CQI
@ PUSCH_UL_CQI
Definition:
ff-mac-scheduler.h:61
ns3::FfMacScheduler::SRS_UL_CQI
@ SRS_UL_CQI
Definition:
ff-mac-scheduler.h:60
ns3::FfMacScheduler::FfMacScheduler
FfMacScheduler()
constructor
Definition:
ff-mac-scheduler.cc:32
ns3::FfMacScheduler::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
ff-mac-scheduler.cc:50
ns3::FfMacScheduler::GetFfMacSchedSapProvider
virtual FfMacSchedSapProvider * GetFfMacSchedSapProvider()=0
ns3::FfMacScheduler::m_ulCqiFilter
UlCqiFilter_t m_ulCqiFilter
UL CQI filter.
Definition:
ff-mac-scheduler.h:129
ns3::LteFfrSapProvider
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the MAC Scheduler ins...
Definition:
lte-ffr-sap.h:41
ns3::LteFfrSapUser
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
Definition:
lte-ffr-sap.h:141
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:89
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:60
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
model
ff-mac-scheduler.h
Generated on Fri Mar 31 2023 13:30:45 for ns-3 by
1.9.1