aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_bssgp_pcu.h
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-05-06 14:24:36 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-05-06 15:22:57 +0200
commit6e4ccec6c4b69681e94e4d3b27ef022e4aab81a9 (patch)
treedbfbcea95d3551f141406ae576545a36aa7629d9 /src/gprs_bssgp_pcu.h
parent0288cdb0a8d4011905da55a5b74319e38e27e70d (diff)
bssgp: Compute and transmit queue delay
The specification 28.018, allows to transmit the average LLC downlink queueing delay in FLOW CONTROL BVC messages (BVC Measurement IE, see GSM 28.018, 10.4.4 and 11.3.7). This commit extends gprs_bssgp_pcu.cpp to compute the average delay time between two subsequent FLOW CONTROL BVC messages. The average is implemented as an arithmetic average without any weighting. Ticket: OW#1432 Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/gprs_bssgp_pcu.h')
-rw-r--r--src/gprs_bssgp_pcu.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h
index 32b6728d..aaaff7f9 100644
--- a/src/gprs_bssgp_pcu.h
+++ b/src/gprs_bssgp_pcu.h
@@ -58,6 +58,10 @@ struct gprs_bssgp_pcu {
int bvc_reset;
int bvc_unblocked;
+ /* Flow control */
+ struct timeval queue_delay_sum;
+ unsigned queue_delay_count;
+
/** callbacks below */
/* The BSSGP has been unblocked */
@@ -78,4 +82,7 @@ void gprs_bssgp_destroy(void);
struct bssgp_bvc_ctx *gprs_bssgp_pcu_current_bctx(void);
+void gprs_bssgp_update_queue_delay(struct timeval *tv_recv,
+ struct timeval *tv_now);
+
#endif // GPRS_BSSGP_PCU_H