haproxy/examples
Christopher Faulet bc4c3c7969 BUG/MEDIUM: hlua: Fix receive API for TCP applets to properly handle shutdowns
An optional timeout was added to AppletTCP.receive() to interrupt calls after a
delay. It was mandatory to be able to implement interactive applets (like
trisdemo). However, this broke the API and it made impossible to differentiate
the shutdowns from the delays expirations. Indeed, in both cases, an empty
string was returned.

Because historically an empty string was used to notify a connection shutdown,
it should not be changed. So now, 'nil' value is returned when no data was
available before the delay expiration.

The new AppletTCP:try_receive() function was also affected. To fix it, instead
of stating there is no delay when a receive is tried, an expired delay is
set. Concretely TICK_ETERNITY was replaced by now_ms.

Finally, AppletTCP:getline() function is not concerned for now because there
is no way to interrupt it after some delay.

The documentation and trisdemo lua script were updated accordingly.

This patch depends on "BUG/MEDIUM: hlua: Properly detect shudowns for TCP
applets based on the new API". However, it is a 3.2-specific issue, so no
backport is needed.
2025-05-27 07:53:19 +02:00
..
errorfiles MINOR: fix typos in the examples files 2018-11-18 22:24:51 +01:00
lua BUG/MEDIUM: hlua: Fix receive API for TCP applets to properly handle shutdowns 2025-05-27 07:53:19 +02:00
basic-config-edge.cfg EXAMPLES: update the basic-config-edge file for 2.8 2023-05-31 16:08:57 +02:00
content-sw-sample.cfg CLEANUP: examples: fix the example file content-sw-sample.cfg 2015-10-13 16:47:16 +02:00
games.cfg EXAMPLES: add "games.cfg" and an example game in Lua 2025-04-01 09:10:00 +02:00
haproxy.init DOC: remove last occurrences of "HA-Proxy" syntax 2021-05-09 06:29:40 +02:00
mptcp-backend.py MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
mptcp.cfg MEDIUM: protocol: add MPTCP per address support 2024-08-30 18:53:49 +02:00
option-http_proxy.cfg MEDIUM: proxy: remove long-broken 'option http_proxy' 2021-07-18 19:35:32 +02:00
quick-test.cfg EXAMPLES: add a trivial config for quick testing 2021-05-12 17:54:56 +02:00
socks4.cfg MEDIUM: connection: Upstream SOCKS4 proxy support 2019-05-31 17:24:06 +02:00
traces.cfg EXAMPLES: add "traces.cfg" with traces examples 2024-11-06 17:32:32 +01:00
transparent_proxy.cfg CLEANUP: assorted typo fixes in the code and comments 2020-06-26 11:27:28 +02:00
wurfl-example.cfg CLEANUP: assorted typo fixes in the code and comments 2020-06-26 11:27:28 +02:00