dsync-brain.c revision 7bd5b1c64cc987715bdaf8cc4907c3c37d5d7b29
/* Copyright (c) 2012 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "array.h"
#include "hash.h"
#include "mail-namespace.h"
#include "dsync-mailbox-tree.h"
#include "dsync-slave.h"
#include "dsync-brain-private.h"
static void dsync_brain_run_io(void *context)
{
bool changed, try_pending;
return;
}
try_pending = TRUE;
do {
break;
}
if (changed)
try_pending = TRUE;
else if (try_pending) {
try_pending = FALSE;
}
} while (changed);
}
static struct dsync_brain *
{
struct dsync_brain *brain;
return brain;
}
struct dsync_brain *
struct mail_namespace *sync_ns,
enum dsync_brain_flags flags,
const char *state)
{
struct dsync_slave_settings slave_set;
struct dsync_brain *brain;
const char *error;
(flags & DSYNC_BRAIN_FLAG_MAILS_HAVE_GUIDS) != 0;
(flags & DSYNC_BRAIN_FLAG_SEND_REQUESTS) != 0;
if (sync_type == DSYNC_BRAIN_SYNC_TYPE_STATE) {
&error) < 0) {
i_error("Saved sync state is invalid, "
"falling back to full sync: %s", error);
} else {
}
}
return brain;
}
struct dsync_brain *
{
struct dsync_brain *brain;
return brain;
}
{
int ret;
return ret;
}
{
const struct dsync_slave_settings *slave_set;
return FALSE;
i_error("Requested sync namespace prefix=%s doesn't exist",
return TRUE;
}
}
else
return TRUE;
}
{
const struct dsync_mailbox_state *states;
unsigned int count;
if (ret == DSYNC_SLAVE_SEND_RET_FULL)
return;
}
brain->mailbox_state_idx = 0;
}
{
struct dsync_mailbox_state state;
enum dsync_slave_recv_ret ret;
}
if (ret == DSYNC_SLAVE_RECV_RET_FINISHED) {
}
return changed;
}
{
return FALSE;
break;
break;
break;
break;
break;
break;
break;
break;
break;
case DSYNC_STATE_SYNC_MAILS:
break;
case DSYNC_STATE_DONE:
break;
}
}
{
bool ret;
return FALSE;
}
T_BEGIN {
} T_END;
return ret;
}
{
}