LEFT | RIGHT |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2014 Piotr Gawlowicz | 3 * Copyright (c) 2014 Piotr Gawlowicz |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 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 | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 } | 192 } |
193 } | 193 } |
194 | 194 |
195 return m_dlRbgMap; | 195 return m_dlRbgMap; |
196 } | 196 } |
197 | 197 |
198 bool | 198 bool |
199 LteFfrSimple::DoIsDlRbgAvailableForUe (int i, uint16_t rnti) | 199 LteFfrSimple::DoIsDlRbgAvailableForUe (int i, uint16_t rnti) |
200 { | 200 { |
201 NS_LOG_FUNCTION (this); | 201 NS_LOG_FUNCTION (this); |
202 NS_UNUSED(i); | 202 NS_UNUSED (i); |
203 NS_UNUSED(rnti); | 203 NS_UNUSED (rnti); |
204 return true; | 204 return true; |
205 } | 205 } |
206 | 206 |
207 std::vector <bool> | 207 std::vector <bool> |
208 LteFfrSimple::DoGetAvailableUlRbg () | 208 LteFfrSimple::DoGetAvailableUlRbg () |
209 { | 209 { |
210 NS_LOG_FUNCTION (this); | 210 NS_LOG_FUNCTION (this); |
211 | 211 |
212 if (m_ulRbgMap.empty ()) | 212 if (m_ulRbgMap.empty ()) |
213 { | 213 { |
214 m_ulRbgMap.resize (m_ulBandwidth, true); | 214 m_ulRbgMap.resize (m_ulBandwidth, true); |
215 | 215 |
216 for (uint8_t i = m_ulOffset; i < (m_ulOffset + m_ulSubBand); i++) | 216 for (uint8_t i = m_ulOffset; i < (m_ulOffset + m_ulSubBand); i++) |
217 { | 217 { |
218 m_ulRbgMap[i] = false; | 218 m_ulRbgMap[i] = false; |
219 } | 219 } |
220 } | 220 } |
221 | 221 |
222 return m_ulRbgMap; | 222 return m_ulRbgMap; |
223 } | 223 } |
224 | 224 |
225 bool | 225 bool |
226 LteFfrSimple::DoIsUlRbgAvailableForUe (int i, uint16_t rnti) | 226 LteFfrSimple::DoIsUlRbgAvailableForUe (int i, uint16_t rnti) |
227 { | 227 { |
228 NS_LOG_FUNCTION (this); | 228 NS_LOG_FUNCTION (this); |
229 NS_UNUSED(i); | 229 NS_UNUSED (i); |
230 NS_UNUSED(rnti); | 230 NS_UNUSED (rnti); |
231 return true; | 231 return true; |
232 } | 232 } |
233 | 233 |
234 void | 234 void |
235 LteFfrSimple::DoReportDlCqiInfo (const struct FfMacSchedSapProvider::SchedDlCqiI
nfoReqParameters& params) | 235 LteFfrSimple::DoReportDlCqiInfo (const struct FfMacSchedSapProvider::SchedDlCqiI
nfoReqParameters& params) |
236 { | 236 { |
237 NS_LOG_FUNCTION (this); | 237 NS_LOG_FUNCTION (this); |
238 NS_UNUSED(params); | 238 NS_UNUSED (params); |
239 } | 239 } |
240 | 240 |
241 void | 241 void |
242 LteFfrSimple::DoReportUlCqiInfo (const struct FfMacSchedSapProvider::SchedUlCqiI
nfoReqParameters& params) | 242 LteFfrSimple::DoReportUlCqiInfo (const struct FfMacSchedSapProvider::SchedUlCqiI
nfoReqParameters& params) |
243 { | 243 { |
244 NS_LOG_FUNCTION (this); | 244 NS_LOG_FUNCTION (this); |
245 NS_UNUSED(params); | 245 NS_UNUSED (params); |
246 } | 246 } |
247 | 247 |
248 void | 248 void |
249 LteFfrSimple::DoReportUlCqiInfo (std::map <uint16_t, std::vector <double> > ulCq
iMap) | 249 LteFfrSimple::DoReportUlCqiInfo (std::map <uint16_t, std::vector <double> > ulCq
iMap) |
250 { | 250 { |
251 NS_LOG_FUNCTION (this); | 251 NS_LOG_FUNCTION (this); |
252 } | 252 } |
253 | 253 |
254 uint8_t | 254 uint8_t |
255 LteFfrSimple::DoGetTpc (uint16_t rnti) | 255 LteFfrSimple::DoGetTpc (uint16_t rnti) |
256 { | 256 { |
257 NS_LOG_FUNCTION (this); | 257 NS_LOG_FUNCTION (this); |
258 NS_UNUSED(rnti); | 258 NS_UNUSED (rnti); |
259 | 259 |
260 if (m_accumulatedMode) | 260 if (m_accumulatedMode) |
261 { | 261 { |
262 if (m_tpcNum > 0) | 262 if (m_tpcNum > 0) |
263 { | 263 { |
264 m_tpcNum--; | 264 m_tpcNum--; |
265 return static_cast<uint8_t>(m_tpc); | 265 return static_cast<uint8_t> (m_tpc); |
266 } | 266 } |
267 else | 267 else |
268 { | 268 { |
269 return 1; | 269 return 1; |
270 } | 270 } |
271 } | 271 } |
272 else | 272 else |
273 { | 273 { |
274 return static_cast<uint8_t>(m_tpc); | 274 return static_cast<uint8_t> (m_tpc); |
275 } | 275 } |
276 | 276 |
277 #ifndef WIN32 | |
278 return 1; // 1 is mapped to 0 for Accumulated mode, and to -1 in Absolute mode
TS36.213 Table 5.1.1.1-2 | 277 return 1; // 1 is mapped to 0 for Accumulated mode, and to -1 in Absolute mode
TS36.213 Table 5.1.1.1-2 |
279 #endif | |
280 } | 278 } |
281 | 279 |
282 uint8_t | 280 uint8_t |
283 LteFfrSimple::DoGetMinContinuousUlBandwidth () | 281 LteFfrSimple::DoGetMinContinuousUlBandwidth () |
284 { | 282 { |
285 NS_LOG_FUNCTION (this); | 283 NS_LOG_FUNCTION (this); |
286 return m_ulBandwidth; | 284 return m_ulBandwidth; |
287 } | 285 } |
288 | 286 |
289 void | 287 void |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 } | 325 } |
328 } | 326 } |
329 | 327 |
330 void | 328 void |
331 LteFfrSimple::DoRecvLoadInformation (EpcX2Sap::LoadInformationParams params) | 329 LteFfrSimple::DoRecvLoadInformation (EpcX2Sap::LoadInformationParams params) |
332 { | 330 { |
333 NS_LOG_FUNCTION (this); | 331 NS_LOG_FUNCTION (this); |
334 } | 332 } |
335 | 333 |
336 } // end of namespace ns3 | 334 } // end of namespace ns3 |
LEFT | RIGHT |