aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.cpp
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-05-29 10:37:09 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-06-08 09:35:11 +0200
commit6dbe822062d54a6c765c6fa7e2c6b79a5dff29b1 (patch)
tree7f1f703d29edfc1b03b3e0c4d70123b7571c9e0c /src/tbf.cpp
parentb3f713bd7be2af9bf7c3168099d35df089020164 (diff)
llc: Separate LLC queue handling from gprs_llc
Currently the gprs_llc class handles both LLC queueing and the partition into smaller pieces for RLC/MAC encapsulation. This hinders the separation of TBF and MS related data, since LLC queueing belongs to the MS related code while the RLC/MAC encoding/decoding belongs to the TBF layer. This commits takes the LLC queueing related methods and members and puts them into a new class gprs_llc_queue. It puts the queueing object into gprs_rlcmac_tbf and adds accessor functions. The implementation in tbf.cpp and tbf_dl.cpp is adapted accordingly. Ticket: #1674 Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf.cpp')
-rw-r--r--src/tbf.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 8501b161..dc26cc70 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -219,7 +219,7 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf)
tbf_name(tbf));
tbf->stop_timer();
#warning "TODO: Could/Should generate bssgp_tx_llc_discarded"
- tbf->m_llc.clear(tbf->bts);
+ tbf->llc_queue()->clear(tbf->bts);
tbf_unlink_pdch(tbf);
llist_del(&tbf->list.list);
@@ -451,6 +451,7 @@ static int setup_tbf(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_bts *bts,
gettimeofday(&tbf->meas.rssi_tv, NULL);
tbf->m_llc.init();
+ tbf->llc_queue()->init();
return 0;
}