[PATCH] osmo-pcu[master]: TBF: move EGPRS enablement into (U|D)L-TBF

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Thu Dec 14 11:33:34 UTC 2017


Review at  https://gerrit.osmocom.org/5335

TBF: move EGPRS enablement into (U|D)L-TBF

This is preparation patch for transition to separate UL/DL window
variables instead of current shared generic window. The setting of
window parameters is performed in functions specific to UL/DL TBFs but
the general EGPRS flag remains the same and is set via the same function
which is now marked as protected since it's only meant to be used by
UL/DL subclasses.

Related: OS#1759
Change-Id: I6056194b28a1eb9d69093d1dfdc65a11bc1fc579
---
M src/tbf.cpp
M src/tbf.h
2 files changed, 15 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/35/5335/1

diff --git a/src/tbf.cpp b/src/tbf.cpp
index 7b609c8..98005dc 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -862,7 +862,6 @@
 
 	if (egprs_ms_class > 0 && bts->egprs_enabled) {
 		tbf->enable_egprs();
-		tbf->m_window.set_sns(RLC_EGPRS_SNS);
 		setup_egprs_mode(bts, ms);
 		LOGP(DRLCMAC, LOGL_INFO, "Enabled EGPRS for %s, mode %s\n",
 			tbf->name(), GprsCodingScheme::modeName(ms->mode()));
@@ -956,7 +955,6 @@
 
 	if (egprs_ms_class > 0 && bts->egprs_enabled) {
 		tbf->enable_egprs();
-		tbf->m_window.set_sns(RLC_EGPRS_SNS);
 		setup_egprs_mode(bts, ms);
 		LOGP(DRLCMAC, LOGL_INFO, "Enabled EGPRS for %s, mode %s\n",
 			tbf->name(), GprsCodingScheme::modeName(ms->mode()));
diff --git a/src/tbf.h b/src/tbf.h
index 80249df..558bd21 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -210,7 +210,6 @@
 
 	/* EGPRS */
 	bool is_egprs_enabled() const;
-	void enable_egprs();
 	void disable_egprs();
 
 	/* attempt to make things a bit more fair */
@@ -286,7 +285,7 @@
 
 protected:
 	gprs_rlcmac_bts *bts_data() const;
-
+	void enable_egprs();
 	int set_tlli_from_ul(uint32_t new_tlli);
 	void merge_and_clear_ms(GprsMs *old_ms);
 
@@ -416,7 +415,7 @@
 	gprs_rlcmac_dl_tbf(BTS *bts);
 
 	void cleanup();
-
+	void enable_egprs();
 	/* dispatch Unitdata.DL messages */
 	static int handle(struct gprs_rlcmac_bts *bts,
 		const uint32_t tlli, const uint32_t old_tlli,
@@ -513,7 +512,7 @@
 	struct msgb *create_ul_ack(uint32_t fn, uint8_t ts);
 	bool ctrl_ack_to_toggle();
 	bool handle_ctrl_ack();
-
+	void enable_egprs();
 	/* blocks were acked */
 	int rcv_data_block_acknowledged(
 		const struct gprs_rlc_data_info *rlc,
@@ -577,6 +576,18 @@
 		((int)GPRS_RLCMAC_UL_TBF - (int)dir + (int)GPRS_RLCMAC_DL_TBF);
 }
 
+inline void gprs_rlcmac_ul_tbf::enable_egprs()
+{
+	m_window.set_sns(RLC_EGPRS_SNS);
+	gprs_rlcmac_tbf::enable_egprs();
+}
+
+inline void gprs_rlcmac_dl_tbf::enable_egprs()
+{
+	m_window.set_sns(RLC_EGPRS_SNS);
+	gprs_rlcmac_tbf::enable_egprs();
+}
+
 inline gprs_rlcmac_ul_tbf *as_ul_tbf(gprs_rlcmac_tbf *tbf)
 {
 	if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF)

-- 
To view, visit https://gerrit.osmocom.org/5335
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6056194b28a1eb9d69093d1dfdc65a11bc1fc579
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list