mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-02-26 11:41:50 +01:00
This patch implements peer heartbeat feature to prevent any haproxy peer from reconnecting too often, consuming sockets for nothing. To do so, we add PEER_MSG_CTRL_HEARTBEAT new message to PEER_MSG_CLASS_CONTROL peers control class of messages. A ->heartbeat field is added to peer structs to store the heatbeat timeout value which is handled by the same function as for ->reconnect to control the session timeouts. A 2-bytes heartbeat message is sent every 3s when no updates have to be sent. This way, the peer which receives such a message is sure the remote peer is still alive. So, it resets the ->reconnect peer session timeout to its initial value (5s). This prevents any reconnection to an already connected alive peer.