diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-05-23 06:20:41 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-05-23 06:20:41 +0000 |
commit | f55b49fef3f2c8c091c4fa732788ce82d1f33af1 (patch) | |
tree | 0587ae9aa8438f3382ad93cc281282614fc2e378 /include | |
parent | 703af9887d252a65cdc8d97e98ca23f7b521d21c (diff) |
To slow down transmission of many ABIS frames at a time, a delay timer
is used for the E1's time slot. This timer replaces the "usleep()"
function, so the process will not block the execution of libbsc. The
timer is started after a frame is transmitted. If another frame is in
the transmit queue, the frame will only be queued until the timer times
out. If the timer is not running or times out, the frame is transmitted
and the timer is restarted.
The problem with partly provisioned TRX (locks show on LMT) is solved.
The adjustment for the inter frame delay of 50 miliseconds is for
further study.
(Andreas Eversberg)
Diffstat (limited to 'include')
-rw-r--r-- | include/openbsc/e1_input.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/openbsc/e1_input.h b/include/openbsc/e1_input.h index 2752db645..132672364 100644 --- a/include/openbsc/e1_input.h +++ b/include/openbsc/e1_input.h @@ -64,7 +64,10 @@ struct e1inp_ts { union { struct { + /* list of all signalling links on this TS */ struct llist_head sign_links; + /* timer when to dequeue next frame */ + struct timer_list tx_timer; } sign; struct { /* subchannel demuxer for frames from E1 */ |