#### 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
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] 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
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)

#### Description
This PR moves the selected hash up the call stack so it is more accessible in 
failover, and by the higher order functions.  

It is a little hard to see the benefit until I get the next few patchsets 
submitted, but I will link them below this description.  
The biggest benefit for other dispatcher algorithm developers is that the hash 
selected is now available on failover and can be used to lookup attrs (or any 
other info) needed for implementing more complex failure scenarios.  

These are the examples I am working on that depend on this change (as an 
example of how it can be used):
1. [rpc commands][1] - an example where a user can test selection algorithms 
with a dataset, without stepping into gdb
2. [failover selection][2] - an example algorithm that makes use of this change 
for re-balancing the distribution on failover (in mode 1)

[1]: https://github.com/devopsec/kamailio/tree/dispatcher_rpc_updates
[2]: https://github.com/devopsec/kamailio/tree/dispatcher_alg_updates
You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/4500

-- Commit Summary --

  * dispatcher: make hash result more accessible

-- File Changes --

    M src/modules/dispatcher/dispatch.c (201)
    M src/modules/dispatcher/dispatch.h (16)
    M src/modules/dispatcher/dispatcher.c (148)

-- Patch Links --

https://github.com/kamailio/kamailio/pull/4500.patch
https://github.com/kamailio/kamailio/pull/4500.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4500
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/pull/[email protected]>
_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to