#### Type Of Change - [X] New feature (non-breaking change which adds new functionality)
#### Checklist: - [ ] PR should be backported to stable branches - [X] Tested changes locally
#### Description - new ms_timer parameter to enable millisecond precision timer - new async_ms_route and async_ms_sleep functions with milliseconds as a param - implementation: Each async_ms_sleep adds an entry to a linked list sorted by expiry time. List is checked every ms_timer ms for expired entries. All expired entries are pushed for execution on a pool of async workers.
This allows easy implementation of request traffic shaping with an external leaky bucket microservice Assuring a maximum rate with no dropped requests by introducing delay.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2016
-- Commit Summary --
* async: added support for millisecond resolution sleep
-- File Changes --
M src/modules/async/async_mod.c (134) M src/modules/async/async_sleep.c (210) M src/modules/async/async_sleep.h (8) M src/modules/async/doc/async_admin.xml (113)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2016.patch https://github.com/kamailio/kamailio/pull/2016.diff