aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2014-06-04 14:56:09 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-06-04 17:14:22 +0200
commit1e0c61032fbccc6bd4b1fbd89765f125643e79c3 (patch)
treeb4a6caf7cea3596c2bc6d5b1ea0c1ee6b7f68b90
parentcf1fae7f383b9166a7cce0cbe0b9c11d165fc4ba (diff)
gprs_rlcmac_pdch: Don't access private members
This patch introduces methods to get ul and dl tbf by tfi and uses them in gprs_rlcmac_sched. Sponsored by: On-Waves ehf
-rw-r--r--src/bts.cpp14
-rw-r--r--src/bts.h3
-rw-r--r--src/gprs_rlcmac_sched.cpp4
3 files changed, 19 insertions, 2 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index 9003099..3ca3628 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -990,3 +990,17 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t
return rc;
}
+
+struct gprs_rlcmac_tbf *gprs_rlcmac_pdch::ul_tbf_by_tfi(uint8_t tfi)
+{
+ if (tfi >= ARRAY_SIZE(ul_tbf))
+ return NULL;
+ return ul_tbf[tfi];
+}
+
+struct gprs_rlcmac_tbf *gprs_rlcmac_pdch::dl_tbf_by_tfi(uint8_t tfi)
+{
+ if (tfi >= ARRAY_SIZE(dl_tbf))
+ return NULL;
+ return dl_tbf[tfi];
+}
diff --git a/src/bts.h b/src/bts.h
index 128b1e0..578c63d 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -61,6 +61,9 @@ struct gprs_rlcmac_pdch {
gprs_rlcmac_bts *bts_data() const;
BTS *bts() const;
uint8_t trx_no() const;
+
+ struct gprs_rlcmac_tbf *ul_tbf_by_tfi(uint8_t tfi);
+ struct gprs_rlcmac_tbf *dl_tbf_by_tfi(uint8_t tfi);
#endif
uint8_t m_is_enabled; /* TS is enabled */
diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp
index 123e375..92e97ec 100644
--- a/src/gprs_rlcmac_sched.cpp
+++ b/src/gprs_rlcmac_sched.cpp
@@ -81,7 +81,7 @@ static uint8_t sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn,
/* select uplink resource */
for (i = 0, tfi = pdch->next_ul_tfi; i < 32;
i++, tfi = (tfi + 1) & 31) {
- tbf = pdch->ul_tbf[tfi];
+ tbf = pdch->ul_tbf_by_tfi(tfi);
/* no TBF for this tfi, go next */
if (!tbf)
continue;
@@ -169,7 +169,7 @@ static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts,
/* select downlink resource */
for (i = 0, tfi = pdch->next_dl_tfi; i < 32;
i++, tfi = (tfi + 1) & 31) {
- tbf = pdch->dl_tbf[tfi];
+ tbf = pdch->dl_tbf_by_tfi(tfi);
/* no TBF for this tfi, go next */
if (!tbf)
continue;