|
1612 |
r.statusPduSize = 0; |
1612 |
r.statusPduSize = 0; |
1613 |
} |
1613 |
} |
1614 |
|
1614 |
|
1615 |
if ( r.txQueueSize != 0 || r.retxQueueSize != 0 || r.statusPduSize != 0 ) |
|
|
1616 |
{ |
1617 |
NS_LOG_INFO ("Send ReportBufferStatus: " << r.txQueueSize << ", " << r.txQueueHolDelay << ", " |
1615 |
NS_LOG_INFO ("Send ReportBufferStatus: " << r.txQueueSize << ", " << r.txQueueHolDelay << ", " |
1618 |
<< r.retxQueueSize << ", " << r.retxQueueHolDelay << ", " |
1616 |
<< r.retxQueueSize << ", " << r.retxQueueHolDelay << ", " |
1619 |
<< r.statusPduSize); |
1617 |
<< r.statusPduSize); |
1620 |
m_macSapProvider->ReportBufferStatus (r); |
1618 |
m_macSapProvider->ReportBufferStatus (r); |
1621 |
} |
|
|
1622 |
else |
1623 |
{ |
1624 |
NS_LOG_INFO ("ReportBufferStatus don't needed"); |
1625 |
} |
1626 |
} |
1619 |
} |
1627 |
|
1620 |
|
1628 |
|
1621 |
|
|
1721 |
LteRlcAm::ExpireRbsTimer (void) |
1714 |
LteRlcAm::ExpireRbsTimer (void) |
1722 |
{ |
1715 |
{ |
1723 |
NS_LOG_LOGIC ("RBS Timer expires"); |
1716 |
NS_LOG_LOGIC ("RBS Timer expires"); |
|
|
1717 |
DoReportBufferStatus (); |
1724 |
|
1718 |
|
1725 |
if (m_txonBufferSize + m_txedBufferSize + m_retxBufferSize > 0) |
1719 |
if (m_txonBufferSize + m_txedBufferSize + m_retxBufferSize > 0) |
1726 |
{ |
1720 |
{ |
1727 |
DoReportBufferStatus (); |
|
|
1728 |
m_rbsTimer = Simulator::Schedule (m_rbsTimerValue, &LteRlcAm::ExpireRbsTimer, this); |
1721 |
m_rbsTimer = Simulator::Schedule (m_rbsTimerValue, &LteRlcAm::ExpireRbsTimer, this); |
1729 |
} |
1722 |
} |
1730 |
} |
1723 |
} |