rlc_am: request status PDU if tx window is half full

The idea behind this condition is to prevent pushing more and
more data PDU on the tx_queue without getting feedback from the
receiver about it's state.
This commit is contained in:
Andre Puschmann 2018-02-06 15:31:09 +01:00
parent d9c5567e55
commit 897db045bb
1 changed files with 4 additions and 0 deletions

View File

@ -406,6 +406,10 @@ bool rlc_am::poll_required()
if(tx_sdu_queue.size() == 0 && retx_queue.size() == 0)
return true;
// Request status if Tx window is half-full
if (tx_window.size() >= RLC_AM_WINDOW_SIZE/2)
return true;
/* According to 5.2.2.1 in 36.322 v13.3.0 a poll should be requested if
* the entire AM window is unacknowledged, i.e. no new PDU can be transmitted.
* However, it seems more appropiate to request more often if polling