mirror of https://github.com/PentHertz/srsLTE.git
rlc_am: count every segment retx as a full retx for this SN
previously we were only counting retx if we retx the start of a segment. this could lead to unwanted behaviour, i.e., not counting retx correctly and thus not triggering the maxretx attempt, if the receive always sends NACKs with a SO_start. The RLC spec is not clear on how this should be handled correctly but IMHO using an integer number of retx is reasonable, even for segments that might be retransmitted more often. The alternative of using a fractional retx counter that may be increamented proportional to the segment size that is retx is another alternative but considered too complex to implement (and test correctly).
This commit is contained in:
parent
c74661ae95
commit
0fdcea2924
|
@ -849,11 +849,7 @@ int rlc_am_lte::rlc_am_lte_tx::build_segment(uint8_t* payload, uint32_t nof_byte
|
|||
retx_queue.front().so_start = retx.so_end;
|
||||
}
|
||||
|
||||
// increment counter for retx of first segment
|
||||
if (retx.so_start == 0) {
|
||||
tx_window[retx.sn].retx_count++;
|
||||
}
|
||||
|
||||
tx_window[retx.sn].retx_count++;
|
||||
check_sn_reached_max_retx(retx.sn);
|
||||
|
||||
// Write header and pdu
|
||||
|
|
Loading…
Reference in New Issue