From: Timo Sirainen Date: Sun, 26 Nov 2017 10:19:36 +0000 (+0200) Subject: director: DIRECTOR-LIST - Show number of USERs sent/received in "handshaking" state X-Git-Tag: 2.2.34~209 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ba2b252ef82ac1935c127c94d84d64c1e12e20c1;p=thirdparty%2Fdovecot%2Fcore.git director: DIRECTOR-LIST - Show number of USERs sent/received in "handshaking" state --- diff --git a/src/director/director-connection.c b/src/director/director-connection.c index 4283dee273..95c3a86c19 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -2584,4 +2584,6 @@ void director_connection_get_status(struct director_connection *conn, status_r->last_input = conn->last_input; status_r->last_output = conn->last_output; status_r->last_ping_msecs = conn->last_ping_msecs; + status_r->handshake_users_sent = conn->handshake_users_sent; + status_r->handshake_users_received = conn->handshake_users_received; } diff --git a/src/director/director-connection.h b/src/director/director-connection.h index 35a14b5543..2b8bf0fa5c 100644 --- a/src/director/director-connection.h +++ b/src/director/director-connection.h @@ -6,6 +6,9 @@ struct director_connection_status { size_t bytes_buffered, peak_bytes_buffered; struct timeval last_input, last_output; unsigned int last_ping_msecs; + + unsigned int handshake_users_received; + unsigned int handshake_users_sent; }; struct director_host; diff --git a/src/director/doveadm-connection.c b/src/director/doveadm-connection.c index baa0a34f54..cc660de20d 100644 --- a/src/director/doveadm-connection.c +++ b/src/director/doveadm-connection.c @@ -189,14 +189,18 @@ doveadm_director_connection_append_status(struct director_connection *conn, { struct director_connection_status status; - if (!director_connection_is_handshaked(conn)) - str_append(str, "handshaking"); - else if (director_connection_is_synced(conn)) + director_connection_get_status(conn, &status); + if (!director_connection_is_handshaked(conn)) { + str_append(str, "handshaking - "); + if (director_connection_is_incoming(conn)) + str_printfa(str, "%u USERs received", status.handshake_users_received); + else + str_printfa(str, "%u USERs sent", status.handshake_users_sent); + } else if (director_connection_is_synced(conn)) str_append(str, "synced"); else str_append(str, "syncing"); - director_connection_get_status(conn, &status); str_printfa(str, "\t%u\t%"PRIuUOFF_T"\t%"PRIuUOFF_T"\t%zu\t%zu\t" "%ld\t%ld", status.last_ping_msecs, status.bytes_read, status.bytes_sent,