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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 } | 256 } |
257 InitializeDownlinkRbgMaps (); | 257 InitializeDownlinkRbgMaps (); |
258 InitializeUplinkRbgMaps (); | 258 InitializeUplinkRbgMaps (); |
259 m_needReconfiguration = false; | 259 m_needReconfiguration = false; |
260 } | 260 } |
261 | 261 |
262 void | 262 void |
263 LteFrStrictAlgorithm::SetDownlinkConfiguration (uint16_t cellId, uint8_t bandwid
th) | 263 LteFrStrictAlgorithm::SetDownlinkConfiguration (uint16_t cellId, uint8_t bandwid
th) |
264 { | 264 { |
265 NS_LOG_FUNCTION (this); | 265 NS_LOG_FUNCTION (this); |
266 NS_UNUSED(bandwidth); | 266 NS_UNUSED (bandwidth); |
267 for (uint16_t i = 0; i < NUM_DOWNLINK_CONFS; ++i) | 267 for (uint16_t i = 0; i < NUM_DOWNLINK_CONFS; ++i) |
268 { | 268 { |
269 if ((g_frStrictDownlinkDefaultConfiguration[i].cellId == cellId) | 269 if ((g_frStrictDownlinkDefaultConfiguration[i].cellId == cellId) |
270 && g_frStrictDownlinkDefaultConfiguration[i].dlBandwidth == m_dlBandwi
dth) | 270 && g_frStrictDownlinkDefaultConfiguration[i].dlBandwidth == m_dlBandwi
dth) |
271 { | 271 { |
272 m_dlCommonSubBandwidth = g_frStrictDownlinkDefaultConfiguration[i].dlC
ommonSubBandwidth; | 272 m_dlCommonSubBandwidth = g_frStrictDownlinkDefaultConfiguration[i].dlC
ommonSubBandwidth; |
273 m_dlEdgeSubBandOffset = g_frStrictDownlinkDefaultConfiguration[i].dlEd
geSubBandOffset; | 273 m_dlEdgeSubBandOffset = g_frStrictDownlinkDefaultConfiguration[i].dlEd
geSubBandOffset; |
274 m_dlEdgeSubBandwidth = g_frStrictDownlinkDefaultConfiguration[i].dlEdg
eSubBandwidth; | 274 m_dlEdgeSubBandwidth = g_frStrictDownlinkDefaultConfiguration[i].dlEdg
eSubBandwidth; |
275 } | 275 } |
276 } | 276 } |
277 } | 277 } |
278 | 278 |
279 void | 279 void |
280 LteFrStrictAlgorithm::SetUplinkConfiguration (uint16_t cellId, uint8_t bandwidth
) | 280 LteFrStrictAlgorithm::SetUplinkConfiguration (uint16_t cellId, uint8_t bandwidth
) |
281 { | 281 { |
282 NS_LOG_FUNCTION (this); | 282 NS_LOG_FUNCTION (this); |
283 NS_UNUSED(bandwidth); | 283 NS_UNUSED (bandwidth); |
284 for (uint16_t i = 0; i < NUM_UPLINK_CONFS; ++i) | 284 for (uint16_t i = 0; i < NUM_UPLINK_CONFS; ++i) |
285 { | 285 { |
286 if ((g_frStrictUplinkDefaultConfiguration[i].cellId == cellId) | 286 if ((g_frStrictUplinkDefaultConfiguration[i].cellId == cellId) |
287 && g_frStrictUplinkDefaultConfiguration[i].ulBandwidth == m_ulBandwidt
h) | 287 && g_frStrictUplinkDefaultConfiguration[i].ulBandwidth == m_ulBandwidt
h) |
288 { | 288 { |
289 m_ulCommonSubBandwidth = g_frStrictUplinkDefaultConfiguration[i].ulCom
monSubBandwidth; | 289 m_ulCommonSubBandwidth = g_frStrictUplinkDefaultConfiguration[i].ulCom
monSubBandwidth; |
290 m_ulEdgeSubBandOffset = g_frStrictUplinkDefaultConfiguration[i].ulEdge
SubBandOffset; | 290 m_ulEdgeSubBandOffset = g_frStrictUplinkDefaultConfiguration[i].ulEdge
SubBandOffset; |
291 m_ulEdgeSubBandwidth = g_frStrictUplinkDefaultConfiguration[i].ulEdgeS
ubBandwidth; | 291 m_ulEdgeSubBandwidth = g_frStrictUplinkDefaultConfiguration[i].ulEdgeS
ubBandwidth; |
292 } | 292 } |
293 } | 293 } |
(...skipping 14 matching lines...) Expand all Loading... |
308 NS_ASSERT_MSG (m_dlEdgeSubBandwidth <= m_dlBandwidth,"DlEdgeSubBandwidth highe
r than DlBandwidth"); | 308 NS_ASSERT_MSG (m_dlEdgeSubBandwidth <= m_dlBandwidth,"DlEdgeSubBandwidth highe
r than DlBandwidth"); |
309 NS_ASSERT_MSG ((m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset + m_dlEdgeSubBa
ndwidth) <= m_dlBandwidth, | 309 NS_ASSERT_MSG ((m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset + m_dlEdgeSubBa
ndwidth) <= m_dlBandwidth, |
310 "(DlCommonSubBandwidth+DlEdgeSubBandOffset+DlEdgeSubBandwidth)
higher than DlBandwidth"); | 310 "(DlCommonSubBandwidth+DlEdgeSubBandOffset+DlEdgeSubBandwidth)
higher than DlBandwidth"); |
311 | 311 |
312 for (uint8_t i = 0; i < m_dlCommonSubBandwidth / rbgSize; i++) | 312 for (uint8_t i = 0; i < m_dlCommonSubBandwidth / rbgSize; i++) |
313 { | 313 { |
314 m_dlRbgMap[i] = false; | 314 m_dlRbgMap[i] = false; |
315 | 315 |
316 } | 316 } |
317 | 317 |
318 for (uint8_t i = static_cast<uint8_t>(m_dlCommonSubBandwidth / rbgSize + m_dlE
dgeSubBandOffset / rbgSize); | 318 for (uint8_t i = static_cast<uint8_t> (m_dlCommonSubBandwidth / rbgSize + m_dl
EdgeSubBandOffset / rbgSize); |
319 i < static_cast<uint8_t>(m_dlCommonSubBandwidth / rbgSize + m_dlEdgeSubBa
ndOffset / rbgSize | 319 i < static_cast<uint8_t> (m_dlCommonSubBandwidth / rbgSize + m_dlEdgeSubB
andOffset / rbgSize |
320 + m_dlEdgeSubBandwidth / rbgSize); i++) | 320 + m_dlEdgeSubBandwidth / rbgSize); i++) |
321 { | 321 { |
322 m_dlRbgMap[i] = false; | 322 m_dlRbgMap[i] = false; |
323 m_dlEdgeRbgMap[i] = true; | 323 m_dlEdgeRbgMap[i] = true; |
324 } | 324 } |
325 } | 325 } |
326 | 326 |
327 void | 327 void |
328 LteFrStrictAlgorithm::InitializeUplinkRbgMaps () | 328 LteFrStrictAlgorithm::InitializeUplinkRbgMaps () |
329 { | 329 { |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 } | 441 } |
442 | 442 |
443 return (edgeRbg && edgeUe) || (!edgeRbg && !edgeUe); | 443 return (edgeRbg && edgeUe) || (!edgeRbg && !edgeUe); |
444 } | 444 } |
445 | 445 |
446 void | 446 void |
447 LteFrStrictAlgorithm::DoReportDlCqiInfo (const struct FfMacSchedSapProvider::Sch
edDlCqiInfoReqParameters& params) | 447 LteFrStrictAlgorithm::DoReportDlCqiInfo (const struct FfMacSchedSapProvider::Sch
edDlCqiInfoReqParameters& params) |
448 { | 448 { |
449 NS_LOG_FUNCTION (this); | 449 NS_LOG_FUNCTION (this); |
450 NS_LOG_WARN ("Method should not be called, because it is empty"); | 450 NS_LOG_WARN ("Method should not be called, because it is empty"); |
451 NS_UNUSED(params); | 451 NS_UNUSED (params); |
452 } | 452 } |
453 | 453 |
454 void | 454 void |
455 LteFrStrictAlgorithm::DoReportUlCqiInfo (const struct FfMacSchedSapProvider::Sch
edUlCqiInfoReqParameters& params) | 455 LteFrStrictAlgorithm::DoReportUlCqiInfo (const struct FfMacSchedSapProvider::Sch
edUlCqiInfoReqParameters& params) |
456 { | 456 { |
457 NS_LOG_FUNCTION (this); | 457 NS_LOG_FUNCTION (this); |
458 NS_LOG_WARN ("Method should not be called, because it is empty"); | 458 NS_LOG_WARN ("Method should not be called, because it is empty"); |
459 NS_UNUSED(params); | 459 NS_UNUSED (params); |
460 } | 460 } |
461 | 461 |
462 void | 462 void |
463 LteFrStrictAlgorithm::DoReportUlCqiInfo (std::map <uint16_t, std::vector <double
> > ulCqiMap) | 463 LteFrStrictAlgorithm::DoReportUlCqiInfo (std::map <uint16_t, std::vector <double
> > ulCqiMap) |
464 { | 464 { |
465 NS_LOG_FUNCTION (this); | 465 NS_LOG_FUNCTION (this); |
466 NS_LOG_WARN ("Method should not be called, because it is empty"); | 466 NS_LOG_WARN ("Method should not be called, because it is empty"); |
467 } | 467 } |
468 | 468 |
469 uint8_t | 469 uint8_t |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
571 | 571 |
572 void | 572 void |
573 LteFrStrictAlgorithm::DoRecvLoadInformation (EpcX2Sap::LoadInformationParams par
ams) | 573 LteFrStrictAlgorithm::DoRecvLoadInformation (EpcX2Sap::LoadInformationParams par
ams) |
574 { | 574 { |
575 NS_LOG_FUNCTION (this); | 575 NS_LOG_FUNCTION (this); |
576 NS_LOG_WARN ("Method should not be called, since it is empty"); | 576 NS_LOG_WARN ("Method should not be called, since it is empty"); |
577 | 577 |
578 } | 578 } |
579 | 579 |
580 } // end of namespace ns3 | 580 } // end of namespace ns3 |
LEFT | RIGHT |