Status on re-factorings

Holger Hans Peter Freyther hfreyther at
Sun Oct 20 14:35:42 UTC 2013

Hi all,

I have continued with my refactorings and mostly done:

* Remove global state (e.g. the global lists for ta, sba, tbf, bts
* Add back-pointers to tbf, trx, pdch which will allow to kill methods
  that take trx, ts as parameters.
* Started to use C++ classes and functions.
* Stop poking of internals from other classes areas (gprs_rlcmac_data
  is still in front of me and the most hairy part).

I will probably need to spend another 40h on this code to finally
have structure in it. Once this is done I will add counters and
rate counters, improve the VTY inspection... and then I can search
for the actual defects we are experiencing.

While doing the refactorings I noticed that both pcu_l1_if.cpp and
sysmo_sock.cpp have different ways to reset the BTS/PCU state. Both
of them have different issues and are both incomplete. It is the
perfect example where structure would have saved timed and made
the code more reliable at the same time.

I am going to work on gprs_rlcmac_data.cpp and while my refactorings
so far where low risk.. the risk will increase when touching and
structuring the above, e.g. it is hard to judge if the difference in
the code-clones is on purpose or actually a bug. There will be only
one way to find it out though.

I am afraid that I have 52 commits compares to master and I am only
half way done. Review and changing directions will be quite difficult
at this point in time.


- Holger Freyther <hfreyther at>
* sysmocom - systems for mobile communications GmbH
* Schivelbeiner Str. 5
* 10439 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte

More information about the osmocom-net-gprs mailing list