tbf: Add BTS::ms_alloc method
Currently the code that creates the MS objects with tbf.cpp is
duplicated.
This commit moves the corresponding code into a new method. Since
there is no TLLI available there, the GprsMsStorage::create_ms method
has been refactored into two variants: one with TLLI/direction and
one without.
Sponsored-by: On-Waves ehf
diff --git a/src/tbf.cpp b/src/tbf.cpp
index faddb79..9bdc1f7 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -499,11 +499,8 @@
tbf->direction = GPRS_RLCMAC_UL_TBF;
- if (!ms) {
- ms = bts->bts->ms_store().create_ms(0, tbf->direction);
- ms->set_timeout(bts->ms_idle_sec);
- ms->set_ms_class(ms_class);
- }
+ if (!ms)
+ ms = bts->bts->ms_alloc(ms_class);
rc = setup_tbf(tbf, bts, ms, tfi, trx, ms_class, single_slot);
/* if no resource */
@@ -539,11 +536,8 @@
tbf->direction = GPRS_RLCMAC_DL_TBF;
- if (!ms) {
- ms = bts->bts->ms_store().create_ms(0, tbf->direction);
- ms->set_timeout(bts->ms_idle_sec);
- ms->set_ms_class(ms_class);
- }
+ if (!ms)
+ ms = bts->bts->ms_alloc(ms_class);
rc = setup_tbf(tbf, bts, ms, tfi, trx, ms_class, single_slot);
/* if no resource */