Include how long it took to do the login and how many reconnects.
if (client->proxy_master_user != NULL)
str_printfa(str, " (master %s)", client->proxy_master_user);
+ login_proxy_append_success_log_info(client->login_proxy, str);
e_info(login_proxy_get_event(client->login_proxy), "%s", str_c(str));
login_proxy_detach(client->login_proxy);
client_destroy_success(client, NULL);
proxy->num_waiting_connections_updated = TRUE;
}
+void login_proxy_append_success_log_info(struct login_proxy *proxy,
+ string_t *str)
+{
+ int msecs = timeval_diff_msecs(&ioloop_timeval, &proxy->created);
+ str_printfa(str, " (%d.%03d secs", msecs/1000, msecs%1000);
+ if (proxy->reconnect_count > 0)
+ str_printfa(str, ", %u reconnects", proxy->reconnect_count);
+ str_append_c(str, ')');
+}
+
static void
proxy_log_connect_error(struct login_proxy *proxy, bool reconnect)
{
struct istream *login_proxy_get_istream(struct login_proxy *proxy);
struct ostream *login_proxy_get_ostream(struct login_proxy *proxy);
+void login_proxy_append_success_log_info(struct login_proxy *proxy,
+ string_t *str);
struct event *login_proxy_get_event(struct login_proxy *proxy);
const char *login_proxy_get_host(const struct login_proxy *proxy) ATTR_PURE;
in_port_t login_proxy_get_port(const struct login_proxy *proxy) ATTR_PURE;