diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-06-17 11:58:30 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-01-19 22:09:19 +0000 |
commit | 935e5d76dd5cc0b023d21ce656436128d5bb635f (patch) | |
tree | f9dceb7ea76a3a2508354856fea6bf45d9b589e0 /include | |
parent | 2660c0412d6c5eb44d1bb09385231b6fd10a6a9e (diff) |
HO: add queue to cache DTAP messages during handover/assignment
Add ho_dtap_cache to gsm_subscriber_connection, a stock msgb queue to be used
with msgb_enqueue() and msgb_dequeue().
Keep a counter of queue length, to enforce a sane maximum counter for cached
messages. So far a hardcoded maximum of 23 messages will be cached.
Have balanced ho_dtap_cache_add() and ho_dtap_cache_flush() functions.
The original patch was by jolly, but I have basically completely replaced it
with the simpler msgb queue pattern.
Change-Id: I6e4d93628befb3d97e5cee0343cd9f8ba0b8620c
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/bsc/gsm_data.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 6659b722f..4e07f2672 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -100,6 +100,10 @@ struct gsm_subscriber_connection { /* buffer/cache for classmark of the ME of the subscriber */ struct gsm_classmark classmark; + + /* Cache DTAP messages during handover/assignment (msgb_enqueue()/msgb_dequeue())*/ + struct llist_head ho_dtap_cache; + unsigned int ho_dtap_cache_len; }; static inline struct gsm_bts *conn_get_bts(struct gsm_subscriber_connection *conn) { |