A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-ffr-rrc-sap.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2014 Piotr Gawlowicz
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: Piotr Gawlowicz <gawlowicz.p@gmail.com>
18 *
19 */
20
21#ifndef LTE_FFR_RRC_SAP_H
22#define LTE_FFR_RRC_SAP_H
23
24#include "epc-x2-sap.h"
25#include "lte-rrc-sap.h"
26
27namespace ns3
28{
29
39{
40 public:
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, LteRrcSap::MeasResults measResults) = 0;
70
76
77}; // end of class LteFfrRrcSapProvider
78
87{
88 public:
89 virtual ~LteFfrRrcSapUser();
90
108
124 virtual void SetPdschConfigDedicated(uint16_t rnti,
125 LteRrcSap::PdschConfigDedicated pdschConfigDedicated) = 0;
126
132
133}; // end of class LteFfrRrcSapUser
134
140template <class C>
142{
143 public:
149
150 // Delete default constructor to avoid misuse
152
153 // inherited from LteHandoverManagementSapProvider
154 void SetCellId(uint16_t cellId) override;
155 void SetBandwidth(uint8_t ulBandwidth, uint8_t dlBandwidth) override;
156 void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults) override;
158
159 private:
161
162}; // end of class MemberLteFfrRrcSapProvider
163
164template <class C>
166 : m_owner(owner)
167{
168}
169
170template <class C>
171void
173{
174 m_owner->DoSetCellId(cellId);
175}
176
177template <class C>
178void
179MemberLteFfrRrcSapProvider<C>::SetBandwidth(uint8_t ulBandwidth, uint8_t dlBandwidth)
180{
181 m_owner->DoSetBandwidth(ulBandwidth, dlBandwidth);
182}
183
184template <class C>
185void
187{
188 m_owner->DoReportUeMeas(rnti, measResults);
189}
190
191template <class C>
192void
194{
195 m_owner->DoRecvLoadInformation(params);
196}
197
203template <class C>
205{
206 public:
212 MemberLteFfrRrcSapUser(C* owner);
213
214 // Delete default constructor to avoid misuse
216
217 // inherited from LteFfrRrcSapUser
218 uint8_t AddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig) override;
219
220 void SetPdschConfigDedicated(uint16_t rnti,
221 LteRrcSap::PdschConfigDedicated pdschConfigDedicated) override;
222
224
225 private:
227
228}; // end of class LteFfrRrcSapUser
229
230template <class C>
232 : m_owner(owner)
233{
234}
235
236template <class C>
237uint8_t
239{
240 return m_owner->DoAddUeMeasReportConfigForFfr(reportConfig);
241}
242
243template <class C>
244void
246 uint16_t rnti,
247 LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
248{
249 m_owner->DoSetPdschConfigDedicated(rnti, pdschConfigDedicated);
250}
251
252template <class C>
253void
255{
256 m_owner->DoSendLoadInformation(params);
257}
258
259} // end of namespace ns3
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...
void RecvLoadInformation(EpcX2Sap::LoadInformationParams params) override
RecvLoadInformation.
void SetCellId(uint16_t cellId) override
SetCellId.
void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults) override
Send a UE measurement report to Frequency Reuse algorithm.
void SetBandwidth(uint8_t ulBandwidth, uint8_t dlBandwidth) override
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...
void SendLoadInformation(EpcX2Sap::LoadInformationParams params) override
SendLoadInformation.
void SetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pdschConfigDedicated) override
Instruct the eNodeB RRC entity to perform RrcConnectionReconfiguration to inform UE about new PdschCo...
uint8_t AddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig) override
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
C * m_owner
the owner class
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Parameters of the LOAD INFORMATION message.
Definition: epc-x2-sap.h:306
MeasResults structure.
Definition: lte-rrc-sap.h:717
PdschConfigDedicated structure.
Definition: lte-rrc-sap.h:163
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:373