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.3.0.rc1~393 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5cdaaf2ecfed02503572935266f55123923ba00a;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 8e4f00982c..63493282a3 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -2576,4 +2576,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 65c23aff72..fc3d15648c 100644 --- a/src/director/doveadm-connection.c +++ b/src/director/doveadm-connection.c @@ -188,14 +188,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" "%"PRIdTIME_T"\t%"PRIdTIME_T, status.last_ping_msecs, status.bytes_read, status.bytes_sent,