Lines Matching refs:dir

48 	struct director *dir;
63 struct director *dir;
75 struct director *dir;
106 array_foreach(mail_hosts_get(conn->dir->mail_hosts), hostp) {
130 orig_hosts_list = mail_hosts_init(conn->dir->set->director_user_expire,
133 conn->dir->set->director_mail_servers);
137 cur_hosts = array_get(mail_hosts_get(conn->dir->mail_hosts),
172 static void doveadm_director_append_status(struct director *dir, string_t *str)
174 if (!dir->ring_handshaked)
176 else if (dir->ring_synced)
180 (int)(ioloop_time - dir->ring_last_sync_time));
182 str_printfa(str, "\t%u", dir->last_sync_msecs);
211 doveadm_director_connection_append(struct director *dir,
218 if (conn == dir->left)
220 else if (conn == dir->right)
234 doveadm_director_host_append(struct director *dir,
241 else if (dir->self_host == host)
247 if (dir->self_host == host)
248 doveadm_director_append_status(dir, str);
256 struct director *dir = conn->dir;
262 t_array_init(&hosts, array_count(&dir->dir_hosts));
263 array_append_array(&hosts, &dir->dir_hosts);
267 array_foreach(&dir->connections, connp) {
269 doveadm_director_connection_append(dir, *connp, NULL, str);
277 array_foreach(&dir->connections, connp) {
283 doveadm_director_connection_append(dir, *connp, host, str);
286 doveadm_director_host_append(dir, host, str);
300 in_port_t port = conn->dir->self_port;
309 if (director_host_lookup(conn->dir, &ip, port) == NULL) {
310 host = director_host_add(conn->dir, &ip, port);
311 director_notify_ring_added(host, conn->dir->self_host, TRUE);
333 director_host_lookup(conn->dir, &ip, port) :
334 director_host_lookup_ip(conn->dir, &ip);
339 director_ring_remove(host, conn->dir->self_host);
348 struct director *dir = conn->dir;
373 host = mail_host_lookup(dir->mail_hosts, &ip);
379 host = mail_host_add_ip(dir->mail_hosts, &ip, tag);
393 director_update_host(dir, dir->self_host, NULL, host);
423 host = mail_host_lookup(conn->dir->mail_hosts, &ip);
437 director_update_host(conn->dir, conn->dir->self_host,
468 host = mail_host_lookup(conn->dir->mail_hosts, &ip);
473 director_remove_host(conn->dir, conn->dir->self_host,
485 array_foreach(mail_hosts_get(conn->dir->mail_hosts), hostp) {
487 director_flush_host(conn->dir, conn->dir->self_host,
511 host = mail_host_lookup(conn->dir->mail_hosts, &ip);
516 director_flush_host(conn->dir, conn->dir->self_host,
537 struct director *dir = cmd->dir;
541 if (dir->users_moving_count >= cmd->max_moving_users)
544 if (dir->right != NULL)
545 director_connection_cork(dir->right);
548 cmd->iter = director_iterate_users_init(dir, FALSE);
556 new_host = mail_host_get_by_hash(dir->mail_hosts,
561 director_move_user(dir, dir->self_host, NULL,
566 director_kill_user(dir, dir->self_host, user,
573 if (dir->users_moving_count >= cmd->max_moving_users)
585 director_flush_host(dir, dir->self_host, NULL, host);
588 if (dir->right != NULL)
589 director_connection_uncork(dir->right);
599 hosts = array_get(mail_hosts_get(cmd->dir->mail_hosts), &count);
627 conn->dir->set->director_max_parallel_moves;
636 hosts = array_get(mail_hosts_get(conn->dir->mail_hosts), &count);
656 cmd->dir = conn->dir;
693 if (!director_get_username_hash(conn->dir,
701 mail_tag = mail_tag_find(conn->dir->mail_hosts, tag);
709 conn->dir->set->director_user_expire);
713 host = mail_host_get_by_hash(conn->dir->mail_hosts, username_hash, tag);
720 host = mail_host_get_by_hash(conn->dir->orig_config_hosts,
746 iter = director_iterate_users_init(conn->dir, FALSE);
751 conn->dir->set->director_user_expire;
777 host = mail_host_lookup(conn->dir->mail_hosts, &ip);
784 if (!director_get_username_hash(conn->dir,
798 director_move_user(conn->dir, conn->dir->self_host, NULL,
803 director_update_user(conn->dir, conn->dir->self_host, user);
825 if (cmd->dir->users_kicking_count >=
826 cmd->dir->set->director_max_parallel_kicks)
830 director_kick_user_alt(cmd->dir, cmd->dir->self_host,
833 director_kick_user(cmd->dir, cmd->dir->self_host,
864 cmd->dir = conn->dir;
903 cmd->dir = conn->dir;
989 !conn->dir->ring_synced) {
1003 if (conn->dir->ring_synced) {
1005 i_assert(conn->dir->right == NULL && conn->dir->left == NULL);
1082 doveadm_connection_init(struct director *dir, int fd)
1088 conn->dir = dir;
1154 void doveadm_connections_kick_callback(struct director *dir ATTR_UNUSED)