aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.h
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-05-22 17:48:04 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-05-28 13:58:23 +0200
commit9200ce60196a289968144582f1acfac25e17eed5 (patch)
tree34b047174ff64bf5365fcb96ac531d39adccfc17 /src/tbf.h
parentddfc0d57632c5f57aeb123f6506d3923fcec69dc (diff)
tbf: Store the timing advance (TA) value in the GprsMs object
The TA value rather relates to an MS and not to a single TBF. So all TBFs share the same TA value. Currently the TA value is stored per TBF and eventually copied from an old TBF to a new one. It is in general only passed with an RACH request when the TLLI and thus the MS is not yet known. This commit adds a TA member to the GprsMs class and uses that one when the TBF is associated to an MS object. Since the TBF is not always associated with an MS object (after RACH or when it has been replaced by another TBF), the TA value is still stored in each TBF and that value is used as long as no MS object is being associated. Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf.h')
-rw-r--r--src/tbf.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tbf.h b/src/tbf.h
index 5ea6d4ef..d288669d 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -149,6 +149,8 @@ struct gprs_rlcmac_tbf {
const char *imsi() const;
void assign_imsi(const char *imsi);
+ uint8_t ta() const;
+ void set_ta(uint8_t);
time_t created_ts() const;
@@ -165,7 +167,6 @@ struct gprs_rlcmac_tbf {
uint8_t control_ts; /* timeslot control messages and polling */
uint8_t ms_class;
struct gprs_rlcmac_pdch *pdch[8]; /* list of PDCHs allocated to TBF */
- uint16_t ta;
gprs_llc m_llc;
@@ -225,6 +226,9 @@ protected:
static const char *tbf_state_name[6];
class GprsMs *m_ms;
+
+ /* Field to take the TA value if no MS is associated */
+ uint8_t m_ta;
private:
mutable char m_name_buf[60];
};