dovecot-2.2: director: Code cleanup - make most mail_host_*() li...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Nov 24 09:15:57 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/39cfca637d60
changeset: 19407:39cfca637d60
user: Timo Sirainen <tss at iki.fi>
date: Mon Nov 23 19:38:31 2015 +0200
description:
director: Code cleanup - make most mail_host_*() list parameters unnecessary.
diffstat:
src/director/director-connection.c | 6 ++----
src/director/director.c | 2 +-
src/director/doveadm-connection.c | 5 ++---
src/director/mail-host.c | 14 +++++++-------
src/director/mail-host.h | 10 +++++-----
5 files changed, 17 insertions(+), 20 deletions(-)
diffs (126 lines):
diff -r 63516762a64c -r 39cfca637d60 src/director/director-connection.c
--- a/src/director/director-connection.c Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/director-connection.c Mon Nov 23 19:38:31 2015 +0200
@@ -931,10 +931,8 @@
}
if (update) {
- mail_host_set_down(conn->dir->mail_hosts, host,
- down, last_updown_change);
- mail_host_set_vhost_count(conn->dir->mail_hosts,
- host, vhost_count);
+ mail_host_set_down(host, down, last_updown_change);
+ mail_host_set_vhost_count(host, vhost_count);
director_update_host(conn->dir, src_host, dir_host, host);
} else {
dir_debug("Ignoring host %s update vhost_count=%u "
diff -r 63516762a64c -r 39cfca637d60 src/director/director.c
--- a/src/director/director.c Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/director.c Mon Nov 23 19:38:31 2015 +0200
@@ -601,7 +601,7 @@
}
user_directory_remove_host(dir->users, host);
- mail_host_remove(dir->mail_hosts, host);
+ mail_host_remove(host);
director_sync(dir);
}
diff -r 63516762a64c -r 39cfca637d60 src/director/doveadm-connection.c
--- a/src/director/doveadm-connection.c Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/doveadm-connection.c Mon Nov 23 19:38:31 2015 +0200
@@ -288,7 +288,7 @@
return TRUE;
}
if (vhost_count != UINT_MAX)
- mail_host_set_vhost_count(dir->mail_hosts, host, vhost_count);
+ mail_host_set_vhost_count(host, vhost_count);
/* NOTE: we don't support changing a tag for an existing host.
it needs to be removed first. otherwise it would be a bit ugly to
handle. */
@@ -334,8 +334,7 @@
"host is already being updated - try again later\n");
return TRUE;
} else {
- mail_host_set_down(conn->dir->mail_hosts, host,
- down, ioloop_time);
+ mail_host_set_down(host, down, ioloop_time);
director_update_host(conn->dir, conn->dir->self_host,
NULL, host);
}
diff -r 63516762a64c -r 39cfca637d60 src/director/mail-host.c
--- a/src/director/mail-host.c Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/mail-host.c Mon Nov 23 19:38:31 2015 +0200
@@ -144,6 +144,7 @@
i_assert(tag != NULL);
host = i_new(struct mail_host, 1);
+ host->list = list;
host->vhost_count = VHOST_MULTIPLIER;
host->ip = *ip;
host->tag = i_strdup(tag);
@@ -305,21 +306,19 @@
host->tag = i_strdup(tag);
}
-void mail_host_set_down(struct mail_host_list *list,
- struct mail_host *host, bool down, time_t timestamp)
+void mail_host_set_down(struct mail_host *host, bool down, time_t timestamp)
{
if (host->down != down) {
host->down = down;
host->last_updown_change = timestamp;
- list->hosts_unsorted = TRUE;
+ host->list->hosts_unsorted = TRUE;
}
}
-void mail_host_set_vhost_count(struct mail_host_list *list,
- struct mail_host *host, unsigned int vhost_count)
+void mail_host_set_vhost_count(struct mail_host *host, unsigned int vhost_count)
{
host->vhost_count = vhost_count;
- list->hosts_unsorted = TRUE;
+ host->list->hosts_unsorted = TRUE;
}
static void mail_host_free(struct mail_host *host)
@@ -329,8 +328,9 @@
i_free(host);
}
-void mail_host_remove(struct mail_host_list *list, struct mail_host *host)
+void mail_host_remove(struct mail_host *host)
{
+ struct mail_host_list *list = host->list;
struct mail_host *const *hosts;
unsigned int i, count;
diff -r 63516762a64c -r 39cfca637d60 src/director/mail-host.h
--- a/src/director/mail-host.h Mon Nov 23 19:35:03 2015 +0200
+++ b/src/director/mail-host.h Mon Nov 23 19:38:31 2015 +0200
@@ -6,6 +6,8 @@
struct mail_host_list;
struct mail_host {
+ struct mail_host_list *list;
+
unsigned int user_count;
unsigned int vhost_count;
/* server up/down. down=TRUE has effectively the same result as if
@@ -37,12 +39,10 @@
int mail_hosts_parse_and_add(struct mail_host_list *list,
const char *hosts_string);
void mail_host_set_tag(struct mail_host *host, const char *tag);
-void mail_host_set_down(struct mail_host_list *list,
- struct mail_host *host, bool down, time_t timestamp);
-void mail_host_set_vhost_count(struct mail_host_list *list,
- struct mail_host *host,
+void mail_host_set_down(struct mail_host *host, bool down, time_t timestamp);
+void mail_host_set_vhost_count(struct mail_host *host,
unsigned int vhost_count);
-void mail_host_remove(struct mail_host_list *list, struct mail_host *host);
+void mail_host_remove(struct mail_host *host);
void mail_hosts_set_synced(struct mail_host_list *list);
unsigned int mail_hosts_hash(struct mail_host_list *list);
More information about the dovecot-cvs
mailing list