aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.cpp
AgeCommit message (Collapse)AuthorFilesLines
2013-10-30tbf: Add todo item tht could help improving debuggingHolger Hans Peter Freyther1-0/+1
2013-10-30tbf: Move the timer routine into the classHolger Hans Peter Freyther1-6/+10
The timer is used for various timeouts and there is still external client code that is calling it. In a perfect world the client code would indicate that an event has happened and the internal timer will be stopped. The best compromise is the "stop_t3191" method. It allows to add semantic verification that the timer has been running.
2013-10-30tbf: Move the handle tineout into the tbf classHolger Hans Peter Freyther1-20/+24
2013-10-30tbf: Move the updating of the data into the tbf classHolger Hans Peter Freyther1-8/+8
2013-10-30pdch/tbf: Move gprs_rlcmac_rcv_data_block_acknowledged into the pdchHolger Hans Peter Freyther1-0/+167
Move the method into the PDCH. Extract the finding of TLLI into a new class called Decoding. Move the assemble and forward LLC frames into the TBF as it is poking in the internals of the TBF.
2013-10-30misc: Remove the bts parameter from calls that take a tbfHolger Hans Peter Freyther1-2/+2
Mark some of the tbf manipulation that is burried in the data sending routine.. that it should be moved around.
2013-10-30tbf: First round of removing llc handling from the rlcmac_dataHolger Hans Peter Freyther1-0/+49
The code in gprs_rlcmac_data should ask the TBF for help in packing the frames but it really shouldn't poke in the internals of the tbf structure. This is very bad capsuling and has plenty of copy and paste. At the same thime this will be the most dangerous refactoring of the code base.
2013-10-30bts/tbf: Move the lists into the BTS and do the look-up from the BTSHolger Hans Peter Freyther1-61/+18
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-30tbf: Keep a pointer from the tbf to the BTSHolger Hans Peter Freyther1-3/+4
This is preparing the next commits and will ease working with the debug_diagram when the global lists are killed. It will simplify the APIin the long run.
2013-10-30ta: Create TimingAdvance class and make it belong to the BTSHolger Hans Peter Freyther1-1/+1
This allows us to easily flush the state in case a PCU/BTS connection is lost.
2013-10-30bts: Move struct gprs_rlcmac_bts and other structs into a bts.hHolger Hans Peter Freyther1-0/+1
Begin to make the BTS a real C++ object with real responsibilities. The biggest issue will be the pcu_vty.c that might not like C++ at all.
2013-10-30bts: Remove the global state from the tbfHolger Hans Peter Freyther1-3/+3
2013-10-30bts: Remove the global state gprs_rlcmac_trigger_downlink_assignmentHolger Hans Peter Freyther1-2/+2
Remove the global state from gprs_rlcmac_trigger_downlink_assignment and walk up to the pcu_l1_if.cpp where I find the timeout handling that should be part of the SBA and TBF functionality. In terms of hierachies things start to be more clear. There should be the BTS object. That holds the SBA and TBF Controllers that can allocate TBFs and SBAs and will handle the timeout polling for a BTS.
2013-10-30bts: Remove global state and the usage of the gprs_rlcmac_btsHolger Hans Peter Freyther1-3/+2
Global state makes mocking/writing tests more difficult. Continue by removing direct usage of the bts and adding it as pointer to the function calls (showing the true dependencies of the functions)
2013-10-30alloc: Introduce a backpointer from the tbf to the trx and simplify codeHolger Hans Peter Freyther1-0/+1
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-6/+6
2013-10-28tbf: Prepare to make thing things private in the tbf, start with the stateHolger Hans Peter Freyther1-9/+9
There really shouldn't be too many callers of state. Instead the tbf should dispatch depending on the internal state. For now introduce state_is and state_is_not accessor functions so we can start to see who is using the internal state.
2013-10-28tbf: Move the tbf_timer_cb into the tbf classHolger Hans Peter Freyther1-0/+227
Introduce the first instance method for printing out diagonistic about itself and create a jump function for it.
2013-10-28tbf: Move many routines related to the tbf from gprs_rlcmac to tbf.cHolger Hans Peter Freyther1-0/+153
2013-10-28tbf: Add another variant of the free_all now by pdchHolger Hans Peter Freyther1-0/+14
2013-10-28tbf: Move the code to close all timeslots into the tbf classHolger Hans Peter Freyther1-0/+14
Move the code out of the sysmocom_socket (as this is only required to talk to our hardware) and into the TBF class that actually knows what a TBF is.
2013-10-18tbf: Move the alloc_ul_tbf into tbf.c and change signatureHolger Hans Peter Freyther1-0/+35
Add the bts parameter to the method list. This would be a static method of the class (in case the TBF would be a class)
2013-10-18tbf: Add more to do items for refactoring on the dl assignmentHolger Hans Peter Freyther1-0/+2
2013-10-18tbf: Warn about copy and paste between different tbf alloc routinesHolger Hans Peter Freyther1-0/+1
These need to be re-factored to use a common allocation routine.
2013-10-18tbf: Move the creation of a new tbf for the downlink to a new methodHolger Hans Peter Freyther1-70/+80
Move the code that is dedicated to handle the assignment of a new TFI/TBF for the downlink into a new method.
2013-10-18tbf: Create an assign method for IMSI.Holger Hans Peter Freyther1-2/+8
This will allow us to set flags (like IMSI) present and will be of help when fixing the tbf lookup.
2013-10-18tbf: Move code that sets the tbf's ms_class to a central placeHolger Hans Peter Freyther1-5/+9
2013-10-18tbf: Separate the easy path out of the receive pathHolger Hans Peter Freyther1-49/+70
* Create a look up routine for the TBF that will allow us to easily find a TBF by IMSI... * Separate the code that works on an existing TBF.
2013-10-18tbf: Begin to add some structure to the tbf codeHolger Hans Peter Freyther1-0/+160
The TBF should use the IMSI to identify a block flow but all handling is spread across the entire code. Start to clean this up by moving relevant code into the tbf file. Afterwards one can clean up and add more internal structure.