|
|
| 1298 |
{ |
1298 |
{ |
| 1299 |
if (rbgMap.at (i) == true) |
1299 |
if (rbgMap.at (i) == true) |
| 1300 |
continue; |
1300 |
continue; |
| 1301 |
if ((m_ffrSapProvider->IsDlRbgAvailableForUe (i, (*it).first)) == false) |
|
|
| 1302 |
continue; |
| 1303 |
|
1301 |
|
| 1304 |
std::map <uint16_t, pssFlowPerf_t>::iterator itMax = tdUeSet.end (); |
1302 |
std::map <uint16_t, pssFlowPerf_t>::iterator itMax = tdUeSet.end (); |
| 1305 |
double metricMax = 0.0; |
1303 |
double metricMax = 0.0; |
| 1306 |
for (it = tdUeSet.begin (); it != tdUeSet.end (); it++) |
1304 |
for (it = tdUeSet.begin (); it != tdUeSet.end (); it++) |
| 1307 |
{ |
1305 |
{ |
|
|
1306 |
if ((m_ffrSapProvider->IsDlRbgAvailableForUe (i, (*it).first)) == false) |
| 1307 |
continue; |
| 1308 |
|
| 1308 |
// calculate PF weigth |
1309 |
// calculate PF weigth |
| 1309 |
double weight = (*it).second.targetThroughput / (*it).second.lastAveragedThroughput; |
1310 |
double weight = (*it).second.targetThroughput / (*it).second.lastAveragedThroughput; |
| 1310 |
if (weight < 1.0) |
1311 |
if (weight < 1.0) |
|
|
| 1373 |
itMax = it; |
1374 |
itMax = it; |
| 1374 |
} |
1375 |
} |
| 1375 |
} // end of tdUeSet |
1376 |
} // end of tdUeSet |
| 1376 |
|
1377 |
|
| 1377 |
if (itMax == m_flowStatsDl.end ()) |
1378 |
if (itMax == tdUeSet.end ()) |
| 1378 |
{ |
1379 |
{ |
| 1379 |
// no UE available for downlink |
1380 |
// no UE available for downlink |
| 1380 |
return; |
|
|
| 1381 |
} |
1381 |
} |
| 1382 |
else |
1382 |
else |
| 1383 |
{ |
1383 |
{ |
|
|
| 1397 |
if (rbgMap.at (i) == true) |
1397 |
if (rbgMap.at (i) == true) |
| 1398 |
continue; |
1398 |
continue; |
| 1399 |
|
1399 |
|
| 1400 |
if ((m_ffrSapProvider->IsDlRbgAvailableForUe (i, (*it).first)) == false) |
|
|
| 1401 |
continue; |
| 1402 |
|
| 1403 |
std::map <uint16_t, pssFlowPerf_t>::iterator itMax = tdUeSet.end (); |
1400 |
std::map <uint16_t, pssFlowPerf_t>::iterator itMax = tdUeSet.end (); |
| 1404 |
double metricMax = 0.0; |
1401 |
double metricMax = 0.0; |
| 1405 |
for (it = tdUeSet.begin (); it != tdUeSet.end (); it++) |
1402 |
for (it = tdUeSet.begin (); it != tdUeSet.end (); it++) |
| 1406 |
{ |
1403 |
{ |
|
|
1404 |
if ((m_ffrSapProvider->IsDlRbgAvailableForUe (i, (*it).first)) == false) |
| 1405 |
continue; |
| 1407 |
// calculate PF weigth |
1406 |
// calculate PF weigth |
| 1408 |
double weight = (*it).second.targetThroughput / (*it).second.lastAveragedThroughput; |
1407 |
double weight = (*it).second.targetThroughput / (*it).second.lastAveragedThroughput; |
| 1409 |
if (weight < 1.0) |
1408 |
if (weight < 1.0) |
|
|
| 1468 |
itMax = it; |
1467 |
itMax = it; |
| 1469 |
} |
1468 |
} |
| 1470 |
} // end of tdUeSet |
1469 |
} // end of tdUeSet |
| 1471 |
|
1470 |
|
| 1472 |
if (itMax == m_flowStatsDl.end ()) |
1471 |
if (itMax == tdUeSet.end ()) |
| 1473 |
{ |
1472 |
{ |
| 1474 |
// no UE available for downlink |
1473 |
// no UE available for downlink |
| 1475 |
return; |
|
|
| 1476 |
} |
1474 |
} |
| 1477 |
else |
1475 |
else |
| 1478 |
{ |
1476 |
{ |