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,
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: {
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;
};
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;
}
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,