aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_ms.h
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-05-28 19:07:01 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-06-08 09:38:44 +0200
commit489a2b35d87610fb077a51de696555a54e5fb247 (patch)
tree6986b156cbb3f1a7a01b211e919a25d2c39edea6 /src/gprs_ms.h
parent10ed79553a8e7241b69c4155325c29105c7a606d (diff)
tbf: Move the LLC queue to GprsMs
Currently the enqueued DL LLC messages which have not yet passed to RLC/MAC encoding are eventually copied from one TBF to the next one (see gprs_rlcmac_dl_tbf::reuse_tbf). Since the enqueued LLC messages are related to a specific MS, they should be stored at that layer. This commit moves the gprs_llc_queue object to GprsMs and changes the TBF's accessor methods accordingly. The LLC copying code is removed from gprs_rlcmac_dl_tbf::reuse_tbf(). Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/gprs_ms.h')
-rw-r--r--src/gprs_ms.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index db55badf..5c42c50a 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -25,6 +25,7 @@ struct gprs_rlcmac_dl_tbf;
struct gprs_rlcmac_ul_tbf;
#include "cxx_linuxlist.h"
+#include "llc.h"
extern "C" {
#include <osmocom/core/timer.h>
@@ -67,6 +68,9 @@ public:
uint8_t ta() const;
void set_ta(uint8_t ta);
+ gprs_llc_queue *llc_queue();
+ const gprs_llc_queue *llc_queue() const;
+
void set_timeout(unsigned secs);
void attach_tbf(gprs_rlcmac_tbf *tbf);
@@ -104,6 +108,7 @@ private:
/* store IMSI for look-up and PCH retransmission */
char m_imsi[16];
uint8_t m_ta;
+ gprs_llc_queue m_llc_queue;
bool m_is_idle;
int m_ref;
@@ -139,3 +144,14 @@ inline void GprsMs::set_timeout(unsigned secs)
{
m_delay = secs;
}
+
+inline gprs_llc_queue *GprsMs::llc_queue()
+{
+ return &m_llc_queue;
+}
+
+inline const gprs_llc_queue *GprsMs::llc_queue() const
+{
+ return &m_llc_queue;
+}
+