bird/lib
Ondrej Zajicek (work) 7be3af7fa6 Rate-limit scheduling of work-events
In general, events are code handling some some condition, which is
scheduled when such condition happened and executed independently from
I/O loop. Work-events are a subgroup of events that are scheduled
repeatedly until some (often significant) work is done (e.g. feeding
routes to protocol). All scheduled events are executed during each
I/O loop iteration.

Separate work-events from regular events to a separate queue and
rate limit their execution to a fixed number per I/O loop iteration.
That should prevent excess latency when many work-events are
scheduled at one time (e.g. simultaneous reload of many BGP sessions).
2021-03-12 15:35:56 +01:00
..
alloca.h Several minor fixes 2017-02-20 02:26:45 +01:00
birdlib.h Expensive check declaration 2020-05-01 15:19:12 +02:00
bitmap.c Nest: Use bitmaps to keep track of exported routes 2019-11-26 18:39:25 +01:00
bitmap.h Nest: Use bitmaps to keep track of exported routes 2019-11-26 18:39:25 +01:00
bitmap_test.c Lib: Basic and hierarchical bitmaps 2019-11-26 18:39:02 +01:00
bitops.c Initial commit on integrated BIRD 2015-11-05 12:48:52 +01:00
bitops.h Lib: Basic and hierarchical bitmaps 2019-11-26 18:39:02 +01:00
bitops_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
buffer.h Filter: Recursive filter iteration code 2021-02-07 19:21:42 +01:00
buffer_test.c Static: Minor overhaul 2017-03-09 13:47:00 +01:00
checksum.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
checksum.h unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
checksum_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
event.c Rate-limit scheduling of work-events 2021-03-12 15:35:56 +01:00
event.h Rate-limit scheduling of work-events 2021-03-12 15:35:56 +01:00
event_test.c Timers: Fix tests after timer change 2017-12-07 13:49:27 +01:00
fletcher16.h OSPF: Redesign LSA checksumming 2015-05-01 14:40:56 +02:00
fletcher16_test.c Fletcher16 test fixed to work at bigendian architectures. 2020-04-05 01:15:26 +02:00
flowspec.c BGP: Handle flowspec rules without dst part 2020-03-03 17:45:16 +01:00
flowspec.h Filter: Add support for src/dst accessors for Flowspec and SADR 2019-12-09 04:23:01 +01:00
flowspec_test.c Flowspec: Fix tests 2020-03-03 19:04:33 +01:00
hash.h Hash: mem_hash doesn't modify the memory, declared constant 2018-12-04 14:00:53 +01:00
hash_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
heap.h BFD work in progress. 2013-09-16 23:57:40 +02:00
heap_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
idm.c Merge branch 'master' into int-new 2016-11-08 19:27:58 +01:00
idm.h Move ID allocator to a separate file and use it also in OSPF 2015-12-29 15:42:12 +01:00
ip.c IPv6 address parser: fail on incomplete addresses 2020-05-01 15:19:12 +02:00
ip.h Support for address family constants 2019-11-03 22:25:44 +01:00
ip_test.c IPv6 address parser: fail on incomplete addresses 2020-05-01 15:19:12 +02:00
lists.c Lists: Replaced replace_node() by update_node() which is the only use of that function. 2020-05-01 15:19:12 +02:00
lists.h BGP redesign 2016-12-07 14:20:52 +01:00
lists_test.c Lists: Replaced replace_node() by update_node() which is the only use of that function. 2020-05-01 15:19:12 +02:00
mac.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
mac.h Add missing extern 2016-11-03 09:53:53 +01:00
mac_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
macro.h Macro: Added a bunch of dirty C preprocessor tricks 2018-05-29 11:53:51 +02:00
Makefile Lib: Basic and hierarchical bitmaps 2019-11-26 18:39:02 +01:00
md5.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
md5.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
mempool.c Lib: Minor fix 2017-12-13 15:27:33 +01:00
net.c Add support for source-specific IPv6 routes to BIRD core 2018-02-13 16:39:07 +01:00
net.h BGP: Handle flowspec rules without dst part 2020-03-03 17:45:16 +01:00
patmatch.c Some consts for function arguments 2015-11-24 13:52:26 +01:00
patmatch_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
printf.c Lib: Support for 64-bit numbers in bvsnprintf() 2019-10-09 17:53:23 +02:00
printf_test.c Lib: Support for 64-bit numbers in bvsnprintf() 2019-10-09 17:53:23 +02:00
resource.c Lists: Replaced replace_node() by update_node() which is the only use of that function. 2020-05-01 15:19:12 +02:00
resource.h lib/slab: introduce sl_allocz() function and use it in Babel 2020-11-24 02:36:31 +01:00
resource.sgml Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
sha1.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha1.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha256.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha256.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha512.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha512.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
slab.c lib/slab: introduce sl_allocz() function and use it in Babel 2020-11-24 02:36:31 +01:00
slist_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
slists.c Unit Testing for BIRD 2016-11-09 16:36:34 +01:00
slists.h Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
socket.h Configuration strings are constant. 2020-04-09 15:37:14 +02:00
string.h Not calling memcpy with n=0. 2020-04-28 16:21:06 +02:00
strtoul.c Custom number parser to speed up config parsing 2019-02-25 23:28:36 +01:00
tbf.c Timers: Fix TBF and some last remains 2017-12-07 13:53:42 +01:00
timer.c Timer: Adding missing initializer. 2020-05-01 15:19:12 +02:00
timer.h Configuration strings are constant. 2020-04-09 15:37:14 +02:00
unaligned.h The MRT protocol 2018-11-20 17:45:35 +01:00
xmalloc.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00