dovecot-2.0: doveadm: Added "director ring status" command.
dovecot at dovecot.org
dovecot at dovecot.org
Mon Aug 29 06:18:43 EEST 2011
details: http://hg.dovecot.org/dovecot-2.0/rev/00f9dd706a90
changeset: 12890:00f9dd706a90
user: Timo Sirainen <tss at iki.fi>
date: Mon Aug 29 06:18:26 2011 +0300
description:
doveadm: Added "director ring status" command.
diffstat:
src/doveadm/doveadm-director.c | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diffs (54 lines):
diff -r 63680f6e21a2 -r 00f9dd706a90 src/doveadm/doveadm-director.c
--- a/src/doveadm/doveadm-director.c Mon Aug 29 06:18:16 2011 +0300
+++ b/src/doveadm/doveadm-director.c Mon Aug 29 06:18:26 2011 +0300
@@ -547,6 +547,41 @@
director_disconnect(ctx);
}
+static void cmd_director_ring_status(int argc, char *argv[])
+{
+ struct director_context *ctx;
+ const char *line, *const *args;
+ unsigned long l;
+
+ ctx = cmd_director_init(argc, argv, "a:", cmd_director_status);
+
+ doveadm_print_init(DOVEADM_PRINT_TYPE_TABLE);
+ doveadm_print_header_simple("director ip");
+ doveadm_print_header_simple("port");
+ doveadm_print_header_simple("type");
+ doveadm_print_header_simple("last failed");
+
+ director_send(ctx, "DIRECTOR-LIST\n");
+ while ((line = i_stream_read_next_line(ctx->input)) != NULL) {
+ if (*line == '\0')
+ break;
+ T_BEGIN {
+ args = t_strsplit(line, "\t");
+ if (str_array_length(args) >= 4 &&
+ str_to_ulong(args[3], &l) == 0) {
+ doveadm_print(args[0]);
+ doveadm_print(args[1]);
+ doveadm_print(args[2]);
+ if (l == 0)
+ doveadm_print("never");
+ else
+ doveadm_print(unixdate2str(l));
+ }
+ } T_END;
+ }
+ director_disconnect(ctx);
+}
+
struct doveadm_cmd doveadm_cmd_director[] = {
{ cmd_director_status, "director status",
"[-a <director socket path>] [<user>]" },
@@ -561,6 +596,8 @@
{ cmd_director_flush, "director flush",
"[-a <director socket path>] <host>|all" },
{ cmd_director_dump, "director dump",
+ "[-a <director socket path>]" },
+ { cmd_director_ring_status, "director ring status",
"[-a <director socket path>]" }
};
More information about the dovecot-cvs
mailing list