return TRUE;
/* the ring is handshaked */
- conn->dir->ring_handshaked = TRUE;
- director_set_state_changed(conn->dir);
+ director_set_ring_handshaked(conn->dir);
return TRUE;
}
}
if (i == count) {
/* we're the only one */
- dir->ring_handshaked = TRUE;
- director_set_state_changed(dir);
+ director_set_ring_handshaked(dir);
}
}
+void director_set_ring_handshaked(struct director *dir)
+{
+ if (dir->ring_handshake_warning_sent) {
+ i_warning("Directors have been connected, "
+ "continuing delayed connections");
+ dir->ring_handshake_warning_sent = FALSE;
+ }
+
+ dir->ring_handshaked = TRUE;
+ director_set_state_changed(dir);
+}
+
void director_update_host(struct director *dir, struct director_host *src,
struct mail_host *host)
{
/* Start connecting to other directors */
void director_connect(struct director *dir);
+void director_set_ring_handshaked(struct director *dir);
void director_set_state_changed(struct director *dir);
void director_update_host(struct director *dir, struct director_host *src,