Move resource allocation outside of tbf allocation

This patch finally decouples TBF allocation from resource allocation.
This will allow in the future reserving resources without having to
require a TBF object to exist.

Change-Id: I2856c946cb62d6e5372a1099b60e5f3456eb8fd4
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 76394e2..b482878 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -123,20 +123,19 @@
 	 * Make a uplink and downlink allocation
 	 */
 	ms = ms_alloc(bts, NULL);
-	gprs_rlcmac_tbf *dl_tbf = dl_tbf_alloc(bts,
-						ms, 0, false);
+	OSMO_ASSERT(ms_new_dl_tbf_assigned_on_pch(ms) == 0);
+	gprs_rlcmac_tbf *dl_tbf = ms_dl_tbf(ms);
 	OSMO_ASSERT(dl_tbf != NULL);
+	OSMO_ASSERT(dl_tbf->ms() == ms);
 	ms_confirm_tlli(ms, 0x2342);
 	dl_tbf->set_ta(4);
-	OSMO_ASSERT(ms_dl_tbf(ms) == dl_tbf);
-	OSMO_ASSERT(dl_tbf->ms() == ms);
 
-	gprs_rlcmac_tbf *ul_tbf = ul_tbf_alloc(bts,
-						   ms, 0, false);
+	OSMO_ASSERT(ms_new_ul_tbf_assigned_pacch(ms, 0));
+
+	gprs_rlcmac_tbf *ul_tbf = ms_ul_tbf(ms);
 	OSMO_ASSERT(ul_tbf != NULL);
-	ms_update_announced_tlli(ms, 0x2342);
-	OSMO_ASSERT(ms_ul_tbf(ms) == ul_tbf);
 	OSMO_ASSERT(ul_tbf->ms() == ms);
+	ms_update_announced_tlli(ms, 0x2342);
 
 	OSMO_ASSERT(bts_get_ms_by_tlli(bts, 0x2342, GSM_RESERVED_TMSI) == ms);
 
@@ -211,7 +210,8 @@
 
 	tfi = bts_tfi_find_free(bts, GPRS_RLCMAC_DL_TBF, &trx_no, -1);
 	OSMO_ASSERT(tfi >= 0);
-	dl_tbf = dl_tbf_alloc(bts, ms, trx_no, true);
+	OSMO_ASSERT(ms_new_dl_tbf_assigned_on_pch(ms) == 0);
+	dl_tbf = ms_dl_tbf(ms);
 	OSMO_ASSERT(dl_tbf);
 	dl_tbf->set_ta(0);
 	check_tbf(dl_tbf);
@@ -2348,7 +2348,9 @@
 	/* Does no support EGPRS */
 	ms = ms_alloc(bts, NULL);
 	ms_set_ms_class(ms, ms_class);
-	dl_tbf = dl_tbf_alloc(bts, ms, 0, false);
+	OSMO_ASSERT(ms_new_dl_tbf_assigned_on_pch(ms) == 0);
+	dl_tbf = ms_dl_tbf(ms);
+	OSMO_ASSERT(dl_tbf);
 
 	ws_check(dl_tbf, __func__, 4, 64, true);
 
@@ -2358,7 +2360,9 @@
 	ms = ms_alloc(bts, NULL);
 	ms_set_ms_class(ms, ms_class);
 	ms_set_egprs_ms_class(ms, ms_class);
-	dl_tbf = dl_tbf_alloc(bts, ms, 0, false);
+	OSMO_ASSERT(ms_new_dl_tbf_assigned_on_pch(ms) == 0);
+	dl_tbf = ms_dl_tbf(ms);
+	OSMO_ASSERT(dl_tbf);
 
 	ws_check(dl_tbf, __func__, 4, 128 + 4 * 64, true);
 	fprintf(stderr, "=== end %s ===\n", __func__);
@@ -2400,7 +2404,9 @@
 	ms = ms_alloc(bts, NULL);
 	ms_set_ms_class(ms, ms_class);
 	ms_set_egprs_ms_class(ms, ms_class);
-	dl_tbf = dl_tbf_alloc(bts, ms, 0, true);
+	OSMO_ASSERT(ms_new_dl_tbf_assigned_on_pch(ms) == 0);
+	dl_tbf = ms_dl_tbf(ms);
+	OSMO_ASSERT(dl_tbf);
 
 	ws_check(dl_tbf, __func__, 1, 128 + 1 * 64, false);
 
@@ -2478,7 +2484,8 @@
 
 	second_ms = ms_alloc(bts, NULL);
 	ms_set_tlli(second_ms, new_tlli);
-	ul_tbf = ul_tbf_alloc(bts, second_ms, 0, true);
+	OSMO_ASSERT(ms_new_ul_tbf_assigned_pacch(second_ms, 0));
+	ul_tbf = ms_ul_tbf(second_ms);
 	OSMO_ASSERT(ul_tbf != NULL);
 	ms_update_announced_tlli(second_ms, new_tlli);