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);
#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);
int percentage)
{
if (worker->request != NULL)
- worker->callback(percentage, &worker->conn);
+ worker->callback(percentage, worker->request);
if (percentage < 0 || percentage == 100)
worker->request = NULL;
}
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,
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