From 4018f443371b51d9d9040cef8665da5fa087e17a Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 31 Aug 2021 12:14:15 +0300 Subject: [PATCH] indexer: Change status callback to take struct indexer_request parameter --- src/indexer/indexer.c | 6 ++---- src/indexer/indexer.h | 5 ++++- src/indexer/worker-connection.c | 10 +--------- src/indexer/worker-connection.h | 3 --- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/indexer/indexer.c b/src/indexer/indexer.c index 9a7af6e28c..219af539f4 100644 --- a/src/indexer/indexer.c +++ b/src/indexer/indexer.c @@ -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); diff --git a/src/indexer/indexer.h b/src/indexer/indexer.h index 417a433cd9..2234f2db70 100644 --- a/src/indexer/indexer.h +++ b/src/indexer/indexer.h @@ -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); diff --git a/src/indexer/worker-connection.c b/src/indexer/worker-connection.c index a9b9ae464c..d50655f0a3 100644 --- a/src/indexer/worker-connection.c +++ b/src/indexer/worker-connection.c @@ -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, diff --git a/src/indexer/worker-connection.h b/src/indexer/worker-connection.h index f8d6c39d1a..c307a63fd5 100644 --- a/src/indexer/worker-connection.h +++ b/src/indexer/worker-connection.h @@ -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 -- 2.47.3