mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-16 06:11:00 +01:00
This patch is a cleanup of the recent change about the relation between a peer and the applet used to deal with I/O. Three flags was introduced to reflect the peer applet state as seen from outside (from the sync task in fact). Using flags instead of true states was in fact a bad idea. This work but it is confusing. Especially because it was mixed with LEARN and TEACH peer flags. So, now, to make it clearer, we are now using a dedicated state for this purpose. From the outside, the peer may be in one of the following state with respects of its applet: * the peer has no applet, it is stopped (PEER_APP_ST_STOPPED). * the peer applet was created with a validated connection from the protocol perspective. But the sync task must synchronized it with the peers section. It is in starting state (PEER_APP_ST_STARTING). * The starting starting was acknowledged by the sync task, the peer applet can start to process messages. It is in running state (PEER_APP_ST_RUNNING). * The last peer applet was released and the associated connection closed. But the sync task must synchronized it with the peers section. It is in stopping state (PEER_APP_ST_STOPPING). Functionnaly speaking, there is no true change here. But it should be easier to understand now. In addition to these changes, __process_peer_state() function was renamed sync_peer_app_state().