2019-06-15 22:58:44 +03:00
Medium-long term wish list - updated 2019/06/15
2006-06-26 04:48:02 +04:00
2010-05-23 10:46:08 +04:00
Legend: '+' = done, '-' = todo, '*' = done except doc
2006-06-26 04:48:02 +04:00
2019-06-15 22:58:44 +03:00
2.1 or later :
2010-05-23 10:46:08 +04:00
- return-html code xxx [ file "xxx" | text "xxx" ] if <acl>
2006-05-13 15:00:29 +04:00
2010-11-24 18:21:56 +03:00
- return-raw [ file "xxx" | text "xxx" ] if <acl>
2010-11-14 16:23:22 +03:00
- have multi-criteria analysers which subscribe to req flags, rsp flags, and
stream interface changes. This would result in a single analyser to wait
for the end of data transfer in HTTP.
2013-06-17 16:51:38 +04:00
- make it possible to condition a timeout on an ACL (dynamic timeouts)
2010-11-14 16:23:22 +03:00
- forwardfor/originalto except with IPv6
2013-12-17 03:35:27 +04:00
- tcp-request session expect-proxy {L4|L5} if ...
2013-06-17 16:51:38 +04:00
2015-10-13 19:38:15 +03:00
- wait on resource (time, mem, CPU, socket, server's conn, server's rate, ...)
2010-05-23 10:46:08 +04:00
- bandwidth limits
2006-07-09 10:22:27 +04:00
2010-05-23 10:46:08 +04:00
- buddy servers to build defined lists of failovers. Detect loops during
the config check.
server XXX buddy YYY
server YYY # may replace XXX when XXX fails
- spare servers : servers which are used in LB only when a minimum farm
weight threshold is not satisfied anymore. Useful for inter-site LB with
local pref by default.
2010-11-24 18:21:56 +03:00
- add support for event-triggered epoll, and maybe change all events handling
to pass through an event cache to handle temporarily disabled events.
- evaluate the changes required for multi-process+shared mem or multi-thread
+thread-local+fast locking.
2010-05-23 10:46:08 +04:00
2014-06-19 16:49:40 +04:00
Old, maybe obsolete points :
- clarify licence by adding a 'MODULE_LICENCE("GPL")' or something equivalent.
2010-05-23 10:46:08 +04:00
2014-06-19 16:49:40 +04:00
- 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
demand)
2010-05-23 10:46:08 +04:00
2014-06-19 16:49:40 +04:00
- verify if it would be worth implementing an epoll_ctl_batch() for Linux
2010-05-23 10:46:08 +04:00
2014-06-19 16:49:40 +04:00
- option minservers XXX : activates some spare servers when active servers
are insufficient
2006-07-09 10:22:27 +04:00
2014-06-19 16:49:40 +04:00
- initcwnd parameter for bind sockets : needed in kernel first
2013-06-17 16:51:38 +04:00
2014-06-19 16:49:40 +04:00
- have a callback function which would be called after a server is selected,
for header post-processing. That would be mainly used to remove then add
the server's name or cookie in a header so that the server knows it.
2014-05-10 15:34:32 +04:00
2013-06-17 16:51:38 +04:00
Unsorted :
- internal socket for "server XXX frontend:name"
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- XML inspection (content-switching for SOAP requests)
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- random cookie generator
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- fastcgi to servers
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- hot config reload
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- RHI - BGP
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- telnet/SSH cli
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- dynamic memory allocation
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- dynamic weights based on check response headers and traffic response time
2014-06-19 16:49:40 +04:00
2013-06-17 16:51:38 +04:00
- various kernel-level acceleration (multi-accept, ssplice, epoll2...)