tbf/rlc: Move the counting of unacked frames into the RLC V_B class
Whenwe receive a final ack we assume that all the unacked frames
have been acked now. Move the counting to V_B and now the caller
can remove the BSN and the "lost" variable which has always been
zero.
diff --git a/src/rlc.cpp b/src/rlc.cpp
index a76703d..816efff 100644
--- a/src/rlc.cpp
+++ b/src/rlc.cpp
@@ -71,6 +71,21 @@
return resend;
}
+int gprs_rlc_v_b::count_unacked(const uint16_t v_a, const uint16_t v_s,
+ const uint16_t mod_sns, const uint16_t mod_sns_half)
+{
+ uint16_t unacked = 0;
+ uint16_t bsn;
+
+ for (bsn = v_a; bsn != v_s; bsn = (bsn + 1) & mod_sns) {
+ uint16_t index = bsn & mod_sns_half;
+ if (!is_acked(index))
+ unacked += 1;
+ }
+
+ return unacked;
+}
+
void gprs_rlc_v_b::update(BTS *bts, char *show_rbb, uint8_t ssn,
const uint16_t v_a,
const uint16_t mod_sns, const uint16_t mod_sns_half,