osmo-pcu/src
Jacob Erlbeck 444bc82081 tbf: Use C++/talloc magic to support TBF constructors/destructors
The TBF object are currently created by using talloc_zero/talloc_free
directly from plain functions. Therefore C++ constructors and destructors
are not called. So the only initialisation that is done is setting
every member to 0. Non POD members do not have their constructors
called either, which makes it impossible to use the current LListHead
class for real members when the LListHead::m_back member has to be set.

This commit changes the TBF allocation functions to call the
corresponding C++ constructor after the call to talloc_zero and to
register the C++ destructor with the talloc context, so that is is
called before talloc_free actually frees the memory.

With this change, non-POD members and custom
constructors/desctructors can be used with gprs_rlcmac_tbf,
gprs_rlcmac_dl_tbf, and gprs_rlcmac_ul_tbf.

Note that this change is only a single step of the plan to turn the
TBF classes into real C++ classes.

Sponsored-by: On-Waves ehf
2015-08-24 12:23:50 +02:00
..
.gitignore Adding .gitignore to source directory 2012-06-27 17:45:15 +02:00
Makefile.am llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
bitvector.cpp bitvector: Address compiler warnings about unsigned/signed 2013-08-02 13:39:13 +04:00
bitvector.h bitvector: Address compiler warnings about unsigned/signed 2013-08-02 13:39:13 +04:00
bts.cpp tbf: Do not kill DL TBF on Packet Resource Request 2015-08-21 19:02:18 +02:00
bts.h tbf/test: Fix existing tests 2015-08-21 19:02:18 +02:00
csn1.cpp csn1: Add spaces between string literal and identifier 2014-06-04 17:17:48 +02:00
csn1.h Ported fixes and improvements from Wireshark for RLC/MAC control block decoding. Part 1. 2012-10-10 19:43:37 +04:00
cxx_linuxlist.h llist: Add a C++ wrapper for linux_list 2015-05-20 11:36:06 +02:00
decoding.cpp decoding: Cosmetic - change rbb decoding 2013-12-12 11:09:17 +01:00
decoding.h tbf/rlc: Move the parsing of RBB to Decoding, move window marking out 2013-11-26 20:57:24 +01:00
encoding.cpp tbf: Move the current CS field to GprsMs 2015-06-08 09:39:25 +02:00
encoding.h encoding: Change function signature to use UL TBFs where it makes sense 2014-08-07 16:12:05 +02:00
femtobts.c femtobts: Remove code that is causing warnings with GCC 4.8 2013-08-02 13:36:52 +04:00
femtobts.h femtobts: Remove code that is causing warnings with GCC 4.8 2013-08-02 13:36:52 +04:00
gprs_bssgp_pcu.cpp ns: Reconnect NSVC after timeout 2015-08-17 16:29:34 +02:00
gprs_bssgp_pcu.h ns: Reconnect NSVC after timeout 2015-08-17 16:29:34 +02:00
gprs_codel.c llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
gprs_codel.h llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
gprs_debug.cpp ns: Add logging support 2015-08-17 16:24:11 +02:00
gprs_debug.h ns: Add logging support 2015-08-17 16:24:11 +02:00
gprs_ms.cpp tbf: Move pending LLC frames when merging MS objects 2015-08-21 19:02:18 +02:00
gprs_ms.h ms: Move MS information merging to GprsMS 2015-08-18 11:55:03 +02:00
gprs_ms_storage.cpp ms: Do not retrieve MS with IMSI 000 from the storage 2015-08-17 16:23:27 +02:00
gprs_ms_storage.h tbf: Add BTS::ms_alloc method 2015-06-29 11:43:17 +02:00
gprs_rlcmac.cpp debug_diagram: Remove the special debug_diagram compilation mode 2013-11-26 20:57:24 +01:00
gprs_rlcmac.h bssgp: Adapt flowcontrol MS default to current alloc algorithm 2015-07-17 12:06:19 +02:00
gprs_rlcmac_meas.cpp tbf, gprs_rlcmac_meas: Move the DL bandwidth variables to the DL TBF 2014-08-08 14:15:24 +02:00
gprs_rlcmac_sched.cpp tbf: Poll MS on idle DL TBFs 2015-03-25 12:34:38 +01:00
gprs_rlcmac_ts_alloc.cpp bssgp: Adapt flowcontrol MS default to current alloc algorithm 2015-07-17 12:06:19 +02:00
gsm_rlcmac.cpp Fix warnings in gsm_rlcmac.cpp 2014-01-09 20:01:48 +01:00
gsm_rlcmac.h Ported fixes and improvements from Wireshark for RLC/MAC control block decoding. Part 1. 2012-10-10 19:43:37 +04:00
gsm_timer.cpp bts: Move the frame_number into the BTS sructure 2013-10-30 21:20:45 +01:00
gsm_timer.h move everything to src/ subdirectory 2012-06-14 20:48:42 +08:00
llc.cpp llc: Add move_and_merge method to llc_queue 2015-08-21 19:02:18 +02:00
llc.h llc: Add move_and_merge method to llc_queue 2015-08-21 19:02:18 +02:00
openbts_sock.cpp write_queue: Check the result of osmo_wqueue_enqueue and free 2015-05-22 10:37:57 +02:00
pcu_l1_if.cpp l1: Pass all L1 measurements upwards 2015-06-22 10:39:06 +02:00
pcu_l1_if.h l1: Store measurement values sent by the MS 2015-06-22 10:39:06 +02:00
pcu_main.cpp ns: Add logging support 2015-08-17 16:24:11 +02:00
pcu_utils.h tbf: Use a hysteresis when discarding DL LLC frames 2015-04-02 12:34:48 +02:00
pcu_vty.c vty: Change API to have node installation be done by int 2015-08-17 16:23:27 +02:00
pcu_vty.h vty: Change API to have node installation be done by int 2015-08-17 16:23:27 +02:00
pcu_vty_functions.cpp ms: Store the NACK rate in the MS object 2015-06-22 10:39:06 +02:00
pcu_vty_functions.h vty: Add command to show detailed MS info 2015-06-08 09:41:24 +02:00
pcuif_proto.h Add RSSI of data blocks to PCU interface 2013-03-17 17:16:18 +01:00
poll_controller.cpp poll_controller: Be stricter with the timeout handling 2014-09-10 19:19:58 +02:00
poll_controller.h misc: Do not mix struct/class in the forward declaration 2014-07-02 14:48:44 +02:00
rlc.cpp tbf, ...: Make the fields in the dl/ul struct member variables 2014-08-07 16:12:05 +02:00
rlc.h tbf: Add adaptive DL CS adjustment 2015-06-08 09:40:09 +02:00
sba.cpp sba: Fix loop exit in SBAController::alloc (Coverity) 2015-07-15 14:17:19 +02:00
sba.h misc: Do not mix struct/class in the forward declaration 2014-07-02 14:48:44 +02:00
sysmo_l1_fwd.c Adding direct access to DSP of sysmoBTS for PDTCH traffice 2012-12-18 10:47:28 +01:00
sysmo_l1_hw.c l1if: Include string.h to fix possible coverity issue 2013-12-12 14:32:33 +01:00
sysmo_l1_if.c l1: Pass all L1 measurements upwards 2015-06-22 10:39:06 +02:00
sysmo_l1_if.h l1if: Add missing function prototypes 2015-05-04 10:02:01 +02:00
sysmo_sock.cpp Always exit and don't try to recover 2014-06-15 19:28:51 +02:00
tbf.cpp tbf: Use C++/talloc magic to support TBF constructors/destructors 2015-08-24 12:23:50 +02:00
tbf.h tbf: Use C++/talloc magic to support TBF constructors/destructors 2015-08-24 12:23:50 +02:00
tbf.txt Doc: Update on README and tbf.txt 2012-12-18 10:04:03 +01:00
tbf_dl.cpp ms: Move MS information merging to GprsMS 2015-08-18 11:55:03 +02:00
tbf_ul.cpp ms: Store the L1 measurement values in the MS objects 2015-06-22 10:39:06 +02:00