summaryrefslogtreecommitdiffstats
path: root/include/osmocom/core/timer.h
Commit message (Collapse)AuthorAgeFilesLines
* timer: Add function osmo_timer_remaining() to determine remainign timeHarald Welte2012-07-131-1/+3
|
* doc: Fix the Doxygen section endingsSylvain Munaut2012-04-181-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timer: add scalable RB-tree based timer infrastructurePablo Neira Ayuso2011-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds RB-tree based timers which scales better than the previous list-based implementation. It does not require any API changes. It breaks ABI because the osmo_timer_list structure has changed though (to avoid this in the future, we can put internal data in some private structure). The following table summarizes the worst-case computational complexity of this new implementation versus the previous one: rb-tree list-based ------- ---------- calculate next timer to expire O(1) O(n) insertion of new timer O(log n) O(n) deletion of timer O(log n) O(1) timer-fired scheduler O(log n) O(3n) The most repeated cases are: * the calculation of the next timer to expire, that happens in every loop of our select function. * the timer-fired scheduler execution. This new implementation only loses in the deletion of timer scenario, this happens because we may need to rebalance the tree after the removal. So I think there is some real gain if we have some situation in which we have to handle lots of timers.
* some more doxygen work (include the notion of modules)Harald Welte2011-08-171-26/+6
|
* start to add doxygen documentation to libosmocore headersHarald Welte2011-08-161-8/+43
|
* timer: use (void) for functions that take no argumentsHarald Welte2011-07-161-3/+3
| | | | This has been detected by http://smatch.sourceforge.net/
* timer: use namespace prefix osmo_timer*Pablo Neira Ayuso2011-05-071-10/+10
| | | | | | | | | | | | | | Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
* include: reorganize headers file to include/osmocom/[gsm|core]Pablo Neira Ayuso2011-03-231-0/+72
This patch moves all GSM-specific definitions to include/osmocom/gsm. Moreover, the headers in include/osmocore/ have been moved to include/osmocom/core. This has been proposed by Harald Welte and Sylvain Munaunt. Tested with `make distcheck'. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>