From 407851b865f49ddb0ea37a1d8a26a979f08e50d8 Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Fri, 19 Jun 2015 10:59:58 +0200 Subject: 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 --- src/gprs_ms_storage.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/gprs_ms_storage.cpp') diff --git a/src/gprs_ms_storage.cpp b/src/gprs_ms_storage.cpp index 1f124a5d..515ed753 100644 --- a/src/gprs_ms_storage.cpp +++ b/src/gprs_ms_storage.cpp @@ -80,6 +80,18 @@ GprsMs *GprsMsStorage::get_ms(uint32_t tlli, uint32_t old_tlli, const char *imsi return NULL; } +GprsMs *GprsMsStorage::create_ms() +{ + GprsMs *ms; + + ms = new GprsMs(m_bts, 0); + + ms->set_callback(this); + llist_add(&ms->list(), &m_list); + + return ms; +} + GprsMs *GprsMsStorage::create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir) { GprsMs *ms = get_ms(tlli); @@ -87,15 +99,12 @@ GprsMs *GprsMsStorage::create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction d if (ms) return ms; - ms = new GprsMs(m_bts, 0); + ms = create_ms(); if (dir == GPRS_RLCMAC_UL_TBF) ms->set_tlli(tlli); else ms->confirm_tlli(tlli); - ms->set_callback(this); - llist_add(&ms->list(), &m_list); - return ms; } -- cgit v1.2.3