- update weighted/relative weighted algos to use probability based sort - calls from 0-99 now follow the weighted distributions - removed the now unused shuffle_uint100array() function
#### Pre-Submission Checklist - [ x ] Commit message has the format required by CONTRIBUTING guide - [ x ] Commits are split per component (core, individual modules, libs, utils, ...) - [ x ] Each component has a single commit (if not, squash them into one commit) - [ x ] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ x ] Small bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: - [ ] PR should be backported to stable branches - [ ] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description The previous random sort for weights in a dispatcher set distributed correctly only after a minimum of n=100 calls. This PR fixes the sort algorithm to distribute calls based on those weights, even for n<100 calls. The real benefit here is customers can see the weighted distribution occur sooner now, when testing.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3531
-- Commit Summary --
* dispatcher: fix weighted sort for n<100 calls
-- File Changes --
M src/modules/dispatcher/dispatch.c (313) M src/modules/dispatcher/doc/dispatcher.xml (9) M src/modules/dispatcher/doc/dispatcher_admin.xml (20)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3531.patch https://github.com/kamailio/kamailio/pull/3531.diff