rlc: Add unified gprs_rlc_window parent class
Currently gprs_rlc_ul_window and gprs_rlc_dl_window are completely
separate classes, containing several identical members and methods.
This commit add a shared parent class containing WS and SNS handling.
Sponsored-by: On-Waves ehf
diff --git a/src/rlc.cpp b/src/rlc.cpp
index 6d3cfd5..e4a9563 100644
--- a/src/rlc.cpp
+++ b/src/rlc.cpp
@@ -55,22 +55,6 @@
m_v_b.reset();
}
-void gprs_rlc_dl_window::set_sns(uint16_t sns)
-{
- OSMO_ASSERT(sns >= RLC_GPRS_SNS);
- OSMO_ASSERT(sns <= RLC_MAX_SNS);
- /* check for 2^n */
- OSMO_ASSERT((sns & (-sns)) == sns);
- m_sns = sns;
-}
-
-void gprs_rlc_dl_window::set_ws(uint16_t ws)
-{
- OSMO_ASSERT(ws >= RLC_GPRS_SNS/2);
- OSMO_ASSERT(ws <= RLC_MAX_SNS/2);
- m_ws = ws;
-}
-
int gprs_rlc_dl_window::resend_needed()
{
for (uint16_t bsn = v_a(); bsn != v_s(); bsn = mod_sns(bsn + 1)) {
@@ -219,7 +203,7 @@
m_v_n[i] = GPRS_RLC_UL_BSN_INVALID;
}
-void gprs_rlc_ul_window::set_sns(uint16_t sns)
+void gprs_rlc_window::set_sns(uint16_t sns)
{
OSMO_ASSERT(sns >= RLC_GPRS_SNS);
OSMO_ASSERT(sns <= RLC_MAX_SNS);
@@ -228,7 +212,7 @@
m_sns = sns;
}
-void gprs_rlc_ul_window::set_ws(uint16_t ws)
+void gprs_rlc_window::set_ws(uint16_t ws)
{
OSMO_ASSERT(ws >= RLC_GPRS_SNS/2);
OSMO_ASSERT(ws <= RLC_MAX_SNS/2);