From 35c0ba7ff55bbd438cdc171945c61d501a4e693e Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 14 Mar 2012 10:56:40 +0100 Subject: [PATCH] client: unify cmd handling ops Signed-off-by: Jens Axboe --- client.c | 6 +++--- client.h | 45 ++++++++++++++++++--------------------------- gfio.c | 4 ++-- 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/client.c b/client.c index e64b3f08..84f13aa1 100644 --- a/client.c +++ b/client.c @@ -30,7 +30,7 @@ static void handle_stop(struct fio_client *client, struct fio_net_cmd *cmd); static void handle_start(struct fio_client *client, struct fio_net_cmd *cmd); struct client_ops fio_client_ops = { - .text_op = handle_text, + .text = handle_text, .disk_util = handle_du, .thread_status = handle_ts, .group_stats = handle_gs, @@ -955,13 +955,13 @@ int fio_handle_client(struct fio_client *client) switch (cmd->opcode) { case FIO_NET_CMD_QUIT: if (ops->quit) - ops->quit(client); + ops->quit(client, cmd); remove_client(client); free(cmd); break; case FIO_NET_CMD_TEXT: convert_text(cmd); - ops->text_op(client, cmd); + ops->text(client, cmd); free(cmd); break; case FIO_NET_CMD_DU: { diff --git a/client.h b/client.h index ea7ea6f1..41a2a2dd 100644 --- a/client.h +++ b/client.h @@ -58,35 +58,26 @@ struct fio_client { void *client_data; }; -typedef void (*client_text_op_func)(struct fio_client *client, struct fio_net_cmd *cmd); -typedef void (*client_disk_util_op_func)(struct fio_client *client, struct fio_net_cmd *cmd); -typedef void (*client_thread_status_op)(struct fio_client *client, struct fio_net_cmd *cmd); -typedef void (*client_group_stats_op)(struct fio_client *client, struct fio_net_cmd *cmd); -typedef void (*client_eta_op)(struct jobs_eta *je); -typedef void (*client_jobs_eta_op)(struct fio_client *client, struct jobs_eta *je); -typedef void (*client_probe_op)(struct fio_client *client, struct fio_net_cmd *cmd); -typedef void (*client_thread_status_display_op)(char *status_message, double perc); -typedef void (*client_quit_op)(struct fio_client *); -typedef void (*client_add_job_op)(struct fio_client *, struct fio_net_cmd *); -typedef void (*client_timed_out)(struct fio_client *); -typedef void (*client_stop_op)(struct fio_client *, struct fio_net_cmd *); -typedef void (*client_start_op)(struct fio_client *, struct fio_net_cmd *); -typedef void (*client_job_start_op)(struct fio_client *, struct fio_net_cmd *); +typedef void (client_cmd_op)(struct fio_client *, struct fio_net_cmd *); +typedef void (client_eta_op)(struct jobs_eta *je); +typedef void (client_timed_out_op)(struct fio_client *); +typedef void (client_jobs_eta_op)(struct fio_client *client, struct jobs_eta *je); struct client_ops { - client_text_op_func text_op; - client_disk_util_op_func disk_util; - client_thread_status_op thread_status; - client_group_stats_op group_stats; - client_jobs_eta_op jobs_eta; - client_eta_op eta; - client_probe_op probe; - client_quit_op quit; - client_add_job_op add_job; - client_timed_out timed_out; - client_stop_op stop; - client_start_op start; - client_job_start_op job_start; + client_cmd_op *text; + client_cmd_op *disk_util; + client_cmd_op *thread_status; + client_cmd_op *group_stats; + client_jobs_eta_op *jobs_eta; + client_eta_op *eta; + client_cmd_op *probe; + client_cmd_op *quit; + client_cmd_op *add_job; + client_timed_out_op *timed_out; + client_cmd_op *stop; + client_cmd_op *start; + client_cmd_op *job_start; + unsigned int eta_msec; int stay_connected; }; diff --git a/gfio.c b/gfio.c index 980d7048..1a96a1ae 100644 --- a/gfio.c +++ b/gfio.c @@ -1545,7 +1545,7 @@ static void gfio_update_thread_status_all(char *status_message, double perc) gtk_widget_queue_draw(ui->window); } -static void gfio_quit_op(struct fio_client *client) +static void gfio_quit_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct gfio_client *gc = client->client_data; @@ -1637,7 +1637,7 @@ static void gfio_client_job_start(struct fio_client *client, struct fio_net_cmd } struct client_ops gfio_client_ops = { - .text_op = gfio_text_op, + .text = gfio_text_op, .disk_util = gfio_disk_util_op, .thread_status = gfio_thread_status_op, .group_stats = gfio_group_stats_op, -- 2.25.1