aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_rlcmac_ts_alloc.cpp
AgeCommit message (Collapse)AuthorFilesLines
2014-01-15alloc_algorithm_b: Remove obsolete 'i' incrementation from for-loopAndreas Eversberg1-1/+1
2014-01-15alloc_algorithm_b: Add seperate function to shrink rx window when TS are removedAndreas Eversberg1-6/+12
After reduce_rx_window() and update_rx_win_max() was called, one or more TS might be removed. tx_win_min and tx_win_max must be adjusted to the new range of allocated slots.
2014-01-15alloc_algorithm_b: Increment 'i', so allocated TS will not exceed tx_rangeAndreas Eversberg1-2/+2
2014-01-15alloc_algorithm_b: Do not select uplink slots that cannot be used for downlinkAndreas Eversberg1-4/+21
In order to poll MS, the mobile must be able to receive polling request. In order to allow the MS to transmit, the USF must be received by the mobile.
2014-01-15alloc_algorithm_b: Set tx_range to 8, if all 8 TS are supported by MSAndreas Eversberg1-0/+3
2014-01-15alloc_algorithm_b: For type 1 MS, limit number of donwlink TS to 5Andreas Eversberg1-0/+6
The algorithm does not support more than 5 TS on downlink for type 1 MS. Supporting more than 5 TS would require adding more complexity to this algorithm. MS that support more than 4 (or 5) TS on downlink are rare, if they really exist.
2014-01-15alloc_algorithm_b: Correctly increment RX/TX window, even if TS is not useableAndreas Eversberg1-8/+8
2014-01-15alloc: Move the uplink ts selection/pre-assignment out of the codeHolger Hans Peter Freyther1-87/+100
Create a select_ul_slots which is very (95%) similar to the select_dl_slots handling. This needs to be refactored and the todo for multiple uplink slots should be handled too. Add a warning about a potential failure on a busy PCU.
2014-01-15alloc: Move the selection of the first enabled pdch to a new methodHolger Hans Peter Freyther1-14/+23
2014-01-15alloc: Move the tx window calculation to a new methodHolger Hans Peter Freyther1-18/+24
2014-01-15alloc: Move upating of the rx window max for Type==1 to a new methodHolger Hans Peter Freyther1-10/+21
2014-01-15alloc: Move the collision handling to a new methodHolger Hans Peter Freyther1-64/+88
The naming of RX/TX still looks fishy and it should use DL/UL instead. Work on pointers right now. We could introduce a struct with the window min and max and pass this struct. The usage of 'D' appears wrong in the ul_usage..
2014-01-15alloc: Move the selection of downlink slots to a new methodHolger Hans Peter Freyther1-67/+86
This code could evolve into working for Uplink and Downlink. The only different for the final Uplink assignment is that free USFs are collected.
2014-01-15alloc: Simplify the assignment of Trb and TtbHolger Hans Peter Freyther1-6/+2
Put the cases for MS_A/MS_B and MS_A/MS_C together.
2014-01-15alloc: Add a note that the tx window handling differs from rxHolger Hans Peter Freyther1-0/+2
It looks like the code is different (without a reason) a good reason.
2014-01-15tbf: Kill the tsc member as it duplicates dataHolger Hans Peter Freyther1-3/+2
We can just use first_ts and the trx/pdch to extract this information. Avoid duplication of data.
2013-10-30tbf: Make tfi private and update the codeHolger Hans Peter Freyther1-4/+4
All logging code that used tbf->tfi is now using tbf_name to print the the TBF. External code is now using tfi() which is inlined and should result in the same code being generated as before (+debug code that can be stripped).
2013-10-30tbf: Remove the trx_no field from the tbf, go through the trx objectHolger Hans Peter Freyther1-2/+2
2013-10-30alloc: Remove the ts parameter from the internal interfaceHolger Hans Peter Freyther1-13/+11
2013-10-30bts/tbf: Move the lists into the BTS and do the look-up from the BTSHolger Hans Peter Freyther1-0/+1
The list belongs to the BTS. This makes cleaning this up more easy and establishes a hierachy of resources that start from the BTS. The debug_diagram code is now broken.
2013-10-30pdch: Move enable/disable into the PDCH codeHolger Hans Peter Freyther1-4/+4
When a PDCH is disabled all resources should be freed. This is currently not possible as the PDCH does not know where it belongs to. On top of that the list (and other resources) should be properly initialized on construction so that disable() is idempotent and does not check if it was disabled. During the re-factoring I noticed that during a sysmobts re-start some resources are not freed. I left a warning in the code to resolve this issue later.
2013-10-30alloc: Move usf into the scope it is actually usedHolger Hans Peter Freyther1-1/+2
2013-10-30alloc: Factor out the routine to find an enabled PDCHHolger Hans Peter Freyther1-9/+19
2013-10-30alloc: Remove the unimplemented/unfinished time constraint codeHolger Hans Peter Freyther1-47/+11
The algorithm is already complex enough. No reason to further introduce the complexity with the branches it has.
2013-10-30alloc: Remove code duplication for downlink assignmentHolger Hans Peter Freyther1-6/+12
There was no difference but there is no point in poking in the internals of the tbf, pdch and trx from various places. Information hiding has a real purpose, e.g. compare with reading "the mythical man month".
2013-10-30alloc: Introduce a backpointer from the tbf to the trx and simplify codeHolger Hans Peter Freyther1-12/+12
Kill all the level of indirections where one needs to have the BTS the TBF to find the TRX.
2013-10-30alloc: Call it trx_no and not trx as it is not trx objectHolger Hans Peter Freyther1-11/+11
2013-10-30alloc: Move the two timeslot alloc algorithms to a dedicated fileHolger Hans Peter Freyther1-0/+590