tbf: Refactor reuse_tbf into releasing and DL TBF establishment
Currently reuse_tbf (partly) resets the old DL TBF and uses its PACCH
to establish a new DL TBF. The method can not be used with UL TBFs.
This commit replaces the reuse_tbf method into a
gprs_rlcmac_dl_tbf:release method which triggers the TBF's timer
based deletion (so that the TFI is still reserved for some time) and
a gprs_rlcmac_tbf::establish_dl_tbf_on_pacch which can establish DL
TBFs on existing PACCHs of either DL or UL TBFs.
Sponsored-by: On-Waves ehf
diff --git a/src/tbf.h b/src/tbf.h
index b35ea78..3619910 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -137,6 +137,7 @@
void handle_timeout();
void stop_timer();
void stop_t3191();
+ int establish_dl_tbf_on_pacch();
void poll_timeout();
@@ -337,6 +338,7 @@
int frames_since_last_poll(unsigned fn) const;
int frames_since_last_drain(unsigned fn) const;
bool keep_open(unsigned fn) const;
+ int release();
bool is_control_ts(uint8_t ts) const {
return ts == control_ts;