This is just to clean up the API to match the previous change.
request->conn = conn;
request->id = id;
notify_connection_ref(conn);
- replicator_queue_add_sync(conn->queue, args[1],
- notify_sync_callback, request);
+ struct replicator_user *user =
+ replicator_queue_get(conn->queue, args[1]);
+ replicator_queue_update(conn->queue, user,
+ REPLICATION_PRIORITY_SYNC);
+ replicator_queue_add_sync_callback(conn->queue, user,
+ notify_sync_callback,
+ request);
}
return 0;
}
queue->change_callback(queue->change_context);
}
-void replicator_queue_add_sync(struct replicator_queue *queue,
- const char *username,
- replicator_sync_callback_t *callback,
- void *context)
+void replicator_queue_add_sync_callback(struct replicator_queue *queue,
+ struct replicator_user *user,
+ replicator_sync_callback_t *callback,
+ void *context)
{
- struct replicator_user *user;
struct replicator_sync_lookup *lookup;
- user = replicator_queue_get(queue, username);
- replicator_queue_update(queue, user, REPLICATION_PRIORITY_SYNC);
+ i_assert(user->priority == REPLICATION_PRIORITY_SYNC);
lookup = array_append_space(&queue->sync_lookups);
lookup->user = user;
enum replication_priority priority);
void replicator_queue_add(struct replicator_queue *queue,
struct replicator_user *user);
-void replicator_queue_add_sync(struct replicator_queue *queue,
- const char *username,
- replicator_sync_callback_t *callback,
- void *context);
+/* Call the callback when user with SYNC priority has finished syncing. */
+void replicator_queue_add_sync_callback(struct replicator_queue *queue,
+ struct replicator_user *user,
+ replicator_sync_callback_t *callback,
+ void *context);
/* Remove user from replication queue and free it. */
void replicator_queue_remove(struct replicator_queue *queue,
struct replicator_user **user);