From 5c9f2524710dd3691bb5496855b99457c35e2699 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 25 Oct 2022 13:08:36 +0300 Subject: [PATCH] replicator: Change replicator_queue_add_sync_callback() to take user struct This is just to clean up the API to match the previous change. --- src/replication/replicator/notify-connection.c | 9 +++++++-- src/replication/replicator/replicator-queue.c | 12 +++++------- src/replication/replicator/replicator-queue.h | 9 +++++---- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/replication/replicator/notify-connection.c b/src/replication/replicator/notify-connection.c index ecf7639137..0f2c3861ff 100644 --- a/src/replication/replicator/notify-connection.c +++ b/src/replication/replicator/notify-connection.c @@ -85,8 +85,13 @@ notify_connection_input_line(struct notify_connection *conn, const char *line) 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; } diff --git a/src/replication/replicator/replicator-queue.c b/src/replication/replicator/replicator-queue.c index 549cd36c5b..f6bc8fdfac 100644 --- a/src/replication/replicator/replicator-queue.c +++ b/src/replication/replicator/replicator-queue.c @@ -193,16 +193,14 @@ void replicator_queue_add(struct replicator_queue *queue, 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; diff --git a/src/replication/replicator/replicator-queue.h b/src/replication/replicator/replicator-queue.h index 81858316e7..4fd451a3f8 100644 --- a/src/replication/replicator/replicator-queue.h +++ b/src/replication/replicator/replicator-queue.h @@ -56,10 +56,11 @@ void replicator_queue_update(struct replicator_queue *queue, 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); -- 2.47.3