haproxy/include/common
Bhaskar 98634f0c7b MEDIUM: backend: Enhance hash-type directive with an algorithm options
Summary:
In testing at tumblr, we found that using djb2 hashing instead of the
default sdbm hashing resulted is better workload distribution to our backends.

This commit implements a change, that allows the user to specify the hash
function they want to use. It does not limit itself to consistent hashing
scenarios.

The supported hash functions are sdbm (default), and djb2.

For a discussion of the feature and analysis, see mailing list thread
"Consistent hashing alternative to sdbm" :

      http://marc.info/?l=haproxy&m=138213693909219

Note: This change does NOT make changes to new features, for instance,
applying an avalance hashing always being performed before applying
consistent hashing.
2013-11-14 16:37:50 +01:00
..
accept4.h BUILD: accept4: move the socketcall declaration outside of accept4() 2012-10-10 17:42:39 +02:00
appsession.h [MINOR] Make appsess{,ion}_refresh static 2011-06-25 21:07:01 +02:00
base64.h [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.h OPTIM: buffer: remove one jump in buffer_count() 2013-04-02 01:25:57 +02:00
cfgparse.h MINOR: config: make str2listener() use memprintf() to report errors. 2012-09-24 10:53:16 +02:00
chunk.h MINOR: chunks: centralize the trash chunk allocation 2012-12-23 21:46:07 +01:00
compat.h MEDIUM: http: add IPv6 support for "set-tos" 2013-06-23 18:01:38 +02:00
compiler.h CLEANUP: ebtree: clarify licence and update to 6.0.6 2011-12-02 17:09:49 +01:00
config.h [BUG] definitely fix regparm issues between haproxy core and ebtree 2009-10-27 21:53:58 +01:00
debug.h [MINOR] term_trace: add better instrumentations to trace the code 2008-08-16 14:55:08 +02:00
defaults.h MINOR: cli: make it possible to enter multiple values at once with "set table" 2013-08-01 21:17:19 +02:00
epoll.h MAJOR: polling: replace epoll with sepoll and remove sepoll 2012-11-11 20:53:30 +01:00
errors.h [MINOR] errors: provide new status codes for config parsing functions 2010-08-10 14:01:15 +02:00
hash.h MEDIUM: backend: Enhance hash-type directive with an algorithm options 2013-11-14 16:37:50 +01:00
memory.h MEDIUM: memory: add the ability to poison memory at run time 2012-05-08 21:28:16 +02:00
mini-clist.h BUG/MEDIUM: prevent gcc from moving empty keywords lists into BSS 2013-06-21 23:29:02 +02:00
rbtree.h [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.h CLEANUP: The function "regex_exec" needs the string length but in many case they expect null terminated char. 2013-10-23 12:19:51 +02:00
sessionhash.h [MAJOR] remove files distributed under an obscure license 2007-09-09 21:56:53 +02:00
splice.h [REORG] build: move syscall redefinition to specific places 2011-08-23 00:11:25 +02:00
standard.h MEDIUM: stats: add proxy name filtering on the statistic page 2013-04-15 22:50:33 +02:00
syscall.h BUILD/MINOR: syscall: add definition of NR_accept4 for ARM 2013-03-04 07:38:08 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00
ticks.h [MEDIUM] scheduler: get rid of the 4 trees thanks and use ebtree v4.1 2009-03-21 10:25:14 +01:00
time.h BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
tools.h [MINOR] tools: add two macros MID_RANGE and MAX_RANGE 2011-03-28 15:55:43 +02:00
uri_auth.h [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00
version.h [CLEANUP] reference product branch 1.5 2010-08-27 11:09:17 +02:00