]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
indexer: Change status callback to take struct indexer_request parameter
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 31 Aug 2021 09:14:15 +0000 (12:14 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 15 Sep 2021 10:14:44 +0000 (10:14 +0000)
src/indexer/indexer.c
src/indexer/indexer.h
src/indexer/worker-connection.c
src/indexer/worker-connection.h

index 9a7af6e28cf59da6d0d55b791732d1ff1af5a265..219af539f4c53063a53f2ca9b0a42f4d2b0f22e4 100644 (file)
@@ -95,11 +95,9 @@ static void queue_listen_callback(struct indexer_queue *queue)
        queue_try_send_more(queue);
 }
 
-static void worker_status_callback(int percentage, void *context)
+static void
+worker_status_callback(int percentage, struct indexer_request *request)
 {
-       struct connection *conn = context;
-       struct indexer_request *request = worker_connection_get_request(conn);
-
        if (percentage >= 0 && percentage < 100) {
                indexer_queue_request_status(queue, request,
                                             percentage);
index 417a433cd975b0f62ff10b01979ca68294ad3385..2234f2db70e94d57517c57e1c2872574f1db0de3 100644 (file)
@@ -1,8 +1,11 @@
 #ifndef INDEXER_H
 #define INDEXER_H
 
+struct indexer_request;
+
 /* percentage: -1 = failed, 0..99 = indexing in progress, 100 = done */
-typedef void indexer_status_callback_t(int percentage, void *context);
+typedef void
+indexer_status_callback_t(int percentage, struct indexer_request *request);
 
 void indexer_refresh_proctitle(void);
 
index a9b9ae464c5ae4558f9f733603e6bfbca994c5a1..d50655f0a3af33add4317151e1f5a4990f9dd20a 100644 (file)
@@ -37,7 +37,7 @@ static void worker_connection_call_callback(struct worker_connection *worker,
                                            int percentage)
 {
        if (worker->request != NULL)
-               worker->callback(percentage, &worker->conn);
+               worker->callback(percentage, worker->request);
        if (percentage < 0 || percentage == 100)
                worker->request = NULL;
 }
@@ -168,14 +168,6 @@ const char *worker_connection_get_username(struct connection *conn)
        return worker->request_username;
 }
 
-struct indexer_request *
-worker_connection_get_request(struct connection *conn)
-{
-       struct worker_connection *worker =
-               container_of(conn, struct worker_connection, conn);
-       return worker->request;
-}
-
 static const struct connection_vfuncs worker_connection_vfuncs = {
        .destroy = worker_connection_destroy,
        .input_args = worker_connection_input_args,
index f8d6c39d1aabd3f7a40ac464e35d85d6b8d886ff..c307a63fd50c516d8d6befb03fe4a83b5aeac2e6 100644 (file)
@@ -35,7 +35,4 @@ bool worker_connection_is_busy(struct connection *conn);
    or NULL if there are none. */
 const char *worker_connection_get_username(struct connection *conn);
 
-struct indexer_request *
-worker_connection_get_request(struct connection *conn);
-
 #endif