Mercurial > dovecot > core-2.2
view src/login-common/login-proxy-state.h @ 22955:812e5c961328
fts: Indexing virtual mailbox didn't always index the last mails
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 03 May 2018 18:33:00 +0300 |
parents | 2eeef1619161 |
children |
line wrap: on
line source
#ifndef LOGIN_PROXY_STATE_H #define LOGIN_PROXY_STATE_H #include <sys/time.h> struct login_proxy_record { struct ip_addr ip; in_port_t port; /* These are used to spread client-visible disconnects over longer periods of time to avoid reconnect spikes when a server dies. If num_disconnects_since_ts=0 when server disconnects us, it's increased and disconnect_timestamp is updated. Afterwards it's increased for each new disconnection. num_disconnects_since_ts gets reset back to zero whenever a) last_success gets updated or b) num_delayed_client_disconnects drops to 0. */ struct timeval disconnect_timestamp; unsigned int num_disconnects_since_ts; unsigned int num_delayed_client_disconnects; /* these are tracking connect()s, not necessarily logins: */ unsigned int num_waiting_connections; /* number of connections we're proxying now (post-login) */ unsigned int num_proxying_connections; struct timeval last_failure; struct timeval last_success; }; struct login_proxy_state *login_proxy_state_init(const char *notify_path); void login_proxy_state_deinit(struct login_proxy_state **state); struct login_proxy_record * login_proxy_state_get(struct login_proxy_state *state, const struct ip_addr *ip, in_port_t port); void login_proxy_state_notify(struct login_proxy_state *state, const char *user); #endif