A Discrete-Event Network Simulator
API
lte-ffr-rrc-sap.h
Go to the documentation of this file.
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2014 Piotr Gawlowicz
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: Piotr Gawlowicz <gawlowicz.p@gmail.com>
19 *
20 */
21
22#ifndef LTE_FFR_RRC_SAP_H
23#define LTE_FFR_RRC_SAP_H
24
25#include <ns3/lte-rrc-sap.h>
26#include <ns3/epc-x2-sap.h>
27
28namespace ns3 {
29
39{
40public:
41 virtual ~LteFfrRrcSapProvider ();
42
47 virtual void SetCellId (uint16_t cellId ) = 0;
48
55 virtual void SetBandwidth (uint8_t ulBandwidth, uint8_t dlBandwidth) = 0;
56
69 virtual void ReportUeMeas (uint16_t rnti,
70 LteRrcSap::MeasResults measResults) = 0;
71
77
78}; // end of class LteFfrRrcSapProvider
79
80
89{
90public:
91 virtual ~LteFfrRrcSapUser ();
92
110
126 virtual void SetPdschConfigDedicated (uint16_t rnti, LteRrcSap::PdschConfigDedicated pdschConfigDedicated) = 0;
127
133
134}; // end of class LteFfrRrcSapUser
135
136
142template <class C>
144{
145public:
151
152 // Delete default constructor to avoid misuse
154
155 // inherited from LteHandoverManagementSapProvider
156 virtual void SetCellId (uint16_t cellId );
157 virtual void SetBandwidth (uint8_t ulBandwidth, uint8_t dlBandwidth);
158 virtual void ReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults);
160
161private:
163
164}; // end of class MemberLteFfrRrcSapProvider
165
166
167template <class C>
169 : m_owner (owner)
170{
171}
172
173template <class C>
174void
176{
177 m_owner->DoSetCellId (cellId);
178}
179
180template <class C>
181void
182MemberLteFfrRrcSapProvider<C>::SetBandwidth (uint8_t ulBandwidth, uint8_t dlBandwidth)
183{
184 m_owner->DoSetBandwidth (ulBandwidth, dlBandwidth);
185}
186
187template <class C>
188void
190{
191 m_owner->DoReportUeMeas (rnti, measResults);
192}
193
194template <class C>
195void
197{
198 m_owner->DoRecvLoadInformation (params);
199}
200
206template <class C>
208{
209public:
215 MemberLteFfrRrcSapUser (C* owner);
216
217 // Delete default constructor to avoid misuse
219
220 // inherited from LteFfrRrcSapUser
221 virtual uint8_t AddUeMeasReportConfigForFfr (LteRrcSap::ReportConfigEutra reportConfig);
222
223 virtual void SetPdschConfigDedicated (uint16_t rnti, LteRrcSap::PdschConfigDedicated pdschConfigDedicated);
224
226private:
228
229}; // end of class LteFfrRrcSapUser
230
231template <class C>
233 : m_owner (owner)
234{
235}
236
237template <class C>
238uint8_t
240{
241 return m_owner->DoAddUeMeasReportConfigForFfr (reportConfig);
242}
243
244template <class C>
245void
247{
248 m_owner->DoSetPdschConfigDedicated (rnti, pdschConfigDedicated);
249}
250
251template <class C>
252void
254{
255 m_owner->DoSendLoadInformation (params);
256}
257
258} // end of namespace ns3
259
260
261#endif /* LTE_FFR_RRC_SAP_H */
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the eNodeB RRC instan...
virtual void RecvLoadInformation(EpcX2Sap::LoadInformationParams params)=0
RecvLoadInformation.
virtual void SetCellId(uint16_t cellId)=0
SetCellId.
virtual void SetBandwidth(uint8_t ulBandwidth, uint8_t dlBandwidth)=0
Configure DL and UL bandwidth in Frequency Reuse Algorithm function is called during Cell configurati...
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)=0
Send a UE measurement report to Frequency Reuse algorithm.
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
virtual void SetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pdschConfigDedicated)=0
Instruct the eNodeB RRC entity to perform RrcConnectionReconfiguration to inform UE about new PdschCo...
virtual uint8_t AddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)=0
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
virtual void SendLoadInformation(EpcX2Sap::LoadInformationParams params)=0
SendLoadInformation.
Template for the implementation of the LteFfrRrcSapProvider as a member of an owner class of type C t...
virtual void SetCellId(uint16_t cellId)
SetCellId.
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Send a UE measurement report to Frequency Reuse algorithm.
virtual void RecvLoadInformation(EpcX2Sap::LoadInformationParams params)
RecvLoadInformation.
virtual void SetBandwidth(uint8_t ulBandwidth, uint8_t dlBandwidth)
Configure DL and UL bandwidth in Frequency Reuse Algorithm function is called during Cell configurati...
Template for the implementation of the LteFfrRrcSapUser as a member of an owner class of type C to wh...
virtual void SendLoadInformation(EpcX2Sap::LoadInformationParams params)
SendLoadInformation.
virtual uint8_t AddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
C * m_owner
the owner class
virtual void SetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
Instruct the eNodeB RRC entity to perform RrcConnectionReconfiguration to inform UE about new PdschCo...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Parameters of the LOAD INFORMATION message.
Definition: epc-x2-sap.h:304
MeasResults structure.
Definition: lte-rrc-sap.h:680
PdschConfigDedicated structure.
Definition: lte-rrc-sap.h:155
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:362