A Discrete-Event Network Simulator
API
ff-mac-scheduler.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Nicola Baldo <nbaldo@cttc.es>
19  * Marco Miozzo <marco.miozzo@cttc.es>
20  */
21 
22 #ifndef FF_MAC_SCHEDULER_H
23 #define FF_MAC_SCHEDULER_H
24 
25 #include <ns3/object.h>
26 
27 
28 namespace ns3 {
29 
30 
31 
32 class FfMacCschedSapUser;
33 class FfMacSchedSapUser;
34 class FfMacCschedSapProvider;
35 class FfMacSchedSapProvider;
36 class LteFfrSapProvider;
37 class LteFfrSapUser;
38 
53 class FfMacScheduler : public Object
54 {
55 public:
62  {
65  };
70  FfMacScheduler ();
75  virtual ~FfMacScheduler ();
76 
77  // inherited from Object
78  virtual void DoDispose (void);
83  static TypeId GetTypeId (void);
84 
92 
101 
107 
113 
114  //FFR SAPs
123 
129 
130 protected:
131 
133 
134 };
135 
136 } // namespace ns3
137 
138 #endif /* FF_MAC_SCHEDULER_H */
Provides the CSCHED SAP.
FfMacCschedSapUser class.
Provides the SCHED SAP.
FfMacSchedSapUser class.
This abstract base class identifies the interface by means of which the helper object can plug on the...
virtual ~FfMacScheduler()
destructor
virtual void SetLteFfrSapProvider(LteFfrSapProvider *s)=0
Set the Provider part of the LteFfrSap that this Scheduler will interact with.
virtual LteFfrSapUser * GetLteFfrSapUser()=0
virtual void SetFfMacCschedSapUser(FfMacCschedSapUser *s)=0
set the user part of the FfMacCschedSap that this Scheduler will interact with.
virtual FfMacCschedSapProvider * GetFfMacCschedSapProvider()=0
static TypeId GetTypeId(void)
Get the type ID.
virtual void DoDispose(void)
Destructor implementation.
virtual void SetFfMacSchedSapUser(FfMacSchedSapUser *s)=0
set the user part of the FfMacSchedSap that this Scheduler will interact with.
UlCqiFilter_t
The type of UL CQI to be filtered (ALL means accept all the CQI, where a new CQI of any type overwrit...
FfMacScheduler()
constructor
virtual FfMacSchedSapProvider * GetFfMacSchedSapProvider()=0
UlCqiFilter_t m_ulCqiFilter
UL CQI filter.
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the MAC Scheduler ins...
Definition: lte-ffr-sap.h:40
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
Definition: lte-ffr-sap.h:139
A base class which provides memory management and object aggregation.
Definition: object.h:88
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.