diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2014-06-04 14:56:09 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-06-04 17:14:22 +0200 |
commit | 1e0c61032fbccc6bd4b1fbd89765f125643e79c3 (patch) | |
tree | b4a6caf7cea3596c2bc6d5b1ea0c1ee6b7f68b90 /src | |
parent | cf1fae7f383b9166a7cce0cbe0b9c11d165fc4ba (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
Diffstat (limited to 'src')
-rw-r--r-- | src/bts.cpp | 14 | ||||
-rw-r--r-- | src/bts.h | 3 | ||||
-rw-r--r-- | src/gprs_rlcmac_sched.cpp | 4 |
3 files changed, 19 insertions, 2 deletions
diff --git a/src/bts.cpp b/src/bts.cpp index 9003099a..3ca3628e 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]; +} @@ -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 123e375f..92e97ece 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; |