director.h revision 3e0c0a269390de8495e8f6ecaed59a823221480e
0N/A/* weak users supported in protocol */ 0N/A/* director ring remove supported */ 0N/A/* quit reason supported */ 0N/A/* user-kick supported */ 1472N/A/* options supported in handshake */ 0N/A/* user tag version 2 supported */ 0N/A/* user-kick-alt supported */ 0N/A/* Minimum time between even attempting to communicate with a director that 0N/A failed due to a protocol error. */ 0N/A /* User isn't being killed */ /* We're still killing the user's connections */ /* Like above, but our left side already announced it was finished with killing its user connections */ /* We're done killing, but we have to wait for the left side to finish killing its user connections before sending USER-KILLED to /* We're done killing, but waiting for USER-KILLED-EVERYWHERE notification until this state gets reset. */ /* Waiting for the flush socket to finish. */ /* Wait for a while for the user connections to actually die. Note that only at this stage we can be sure that all the directors know about the user move (although it could be earlier if we added a new USER-MOVED notification). */ /* NOTE: remember to update also user_kill_state_names[] */ /* When a user gets freed, the kill_ctx may still be left alive. It's also possible for the user to come back, in which case the kill_ctx is usually NULL, but another kill could have also started. The previous kill_ctx is valid only if it matches the current user's kill_ctx. */ /* Move timeout to make sure user's connections won't silently hang indefinitely if there is some trouble moving it. */ /* these are set only for director_flush_socket handling: */ /* IP and port of this director. self_host->ip/port must equal these. */ /* left and right connections are set only after they have finished handshaking. until then they're in the connections list, although updates are still sent to them during handshaking if the USER list /* all director connections */ /* original mail hosts configured in config file. this is used only for doveadm lookups */ /* Number of users currently being moved */ /* Number of users currently being kicked */ /* Number of requests currently delayed */ /* these requests are waiting for directors to be in synced */ /* director hosts are sorted by IP (and port) */ /* Timestamp when the last SYNC was initiated by us */ /* the lowest minor version supported by the ring */ /* Timestamp when ring became synced or unsynced the last time */ /* How many milliseconds it took for the last SYNC to travel through /* director ring handshaking is complete. director can start serving clients. */ /* Create a new director. If listen_ip specifies an actual IP, it's used with listen_port for finding ourself from the director_servers setting. listen_port is used regardless by director_host_add_from_string() for hosts without specified port. */ /* Start connecting to other directors */ /* Send data to all directors using both left and right connections (unless they're the same). */