From: ogawa.yasufumi@lab.ntt.co.jp
To: spp@dpdk.org, ferruh.yigit@intel.com, ogawa.yasufumi@lab.ntt.co.jp
Subject: [spp] [PATCH 03/11] shared/sec: refactor passing err in cmd_runner
Date: Fri, 31 May 2019 12:35:57 +0900 [thread overview]
Message-ID: <1559273765-26130-4-git-send-email-ogawa.yasufumi@lab.ntt.co.jp> (raw)
In-Reply-To: <1559273765-26130-1-git-send-email-ogawa.yasufumi@lab.ntt.co.jp>
From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
The names of struct and function for passing error info in cmd_runner
are redundant. This update is to revise the names and its comments for
refactoring.
Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
.../secondary/spp_worker_th/cmd_runner.c | 59 ++++++++++---------
1 file changed, 32 insertions(+), 27 deletions(-)
diff --git a/src/shared/secondary/spp_worker_th/cmd_runner.c b/src/shared/secondary/spp_worker_th/cmd_runner.c
index 1908c8c..4874adc 100644
--- a/src/shared/secondary/spp_worker_th/cmd_runner.c
+++ b/src/shared/secondary/spp_worker_th/cmd_runner.c
@@ -44,10 +44,10 @@ enum cmd_res_codes {
};
/* command execution result information */
-struct command_result {
+struct cmd_result {
int code; /* Response code. */
char result[SPPWK_NAME_BUFSZ]; /* Response msg in short. */
- char error_message[CMD_ERR_MSG_LEN]; /* Detailed response msg. */
+ char err_msg[CMD_ERR_MSG_LEN]; /* Used only if cmd is failed. */
};
/* command response list control structure */
@@ -835,32 +835,37 @@ get_parse_err_msg(
return message;
}
-/* set the command result */
+/* Setup cmd_result with given code and message. */
static inline void
-set_command_results(struct command_result *result,
+set_cmd_result(struct cmd_result *cmd_res,
int code, const char *error_messege)
{
- result->code = code;
+ cmd_res->code = code;
+ /**
+ * TODO(yasufum) confirm these string "success", "error" or "invalid"
+ * should be fixed or not because this no meaning short message is
+ * obvious from code and nouse actually.
+ */
switch (code) {
case CMD_SUCCESS:
- strcpy(result->result, "success");
- memset(result->error_message, 0x00, CMD_ERR_MSG_LEN);
+ strcpy(cmd_res->result, "success");
+ memset(cmd_res->err_msg, 0x00, CMD_ERR_MSG_LEN);
break;
case CMD_FAILED:
- strcpy(result->result, "error");
- strcpy(result->error_message, error_messege);
+ strcpy(cmd_res->result, "error");
+ strcpy(cmd_res->err_msg, error_messege);
break;
case CMD_INVALID:
default:
- strcpy(result->result, "invalid");
- memset(result->error_message, 0x00, CMD_ERR_MSG_LEN);
+ strcpy(cmd_res->result, "invalid");
+ memset(cmd_res->err_msg, 0x00, CMD_ERR_MSG_LEN);
break;
}
}
/* Setup error message of parsing for requested command. */
static void
-prepare_parse_err_msg(struct command_result *results,
+prepare_parse_err_msg(struct cmd_result *results,
const struct sppwk_cmd_req *request,
const struct sppwk_parse_err_msg *wk_err_msg)
{
@@ -870,14 +875,14 @@ prepare_parse_err_msg(struct command_result *results,
for (i = 0; i < request->num_command; i++) {
if (wk_err_msg->code == 0)
- set_command_results(&results[i], CMD_SUCCESS, "");
+ set_cmd_result(&results[i], CMD_SUCCESS, "");
else
- set_command_results(&results[i], CMD_INVALID, "");
+ set_cmd_result(&results[i], CMD_INVALID, "");
}
if (wk_err_msg->code != 0) {
tmp_buff = get_parse_err_msg(wk_err_msg, error_messege);
- set_command_results(&results[request->num_valid_command],
+ set_cmd_result(&results[request->num_valid_command],
CMD_FAILED, tmp_buff);
}
}
@@ -886,7 +891,7 @@ prepare_parse_err_msg(struct command_result *results,
static int
append_result_value(const char *name, char **output, void *tmp)
{
- const struct command_result *result = tmp;
+ const struct cmd_result *result = tmp;
return append_json_str_value(name, output, result->result);
}
@@ -895,10 +900,10 @@ static int
append_error_details_value(const char *name, char **output, void *tmp)
{
int ret = SPP_RET_NG;
- const struct command_result *result = tmp;
+ const struct cmd_result *result = tmp;
char *tmp_buff;
/* string is empty, except for errors */
- if (result->error_message[0] == '\0')
+ if (result->err_msg[0] == '\0')
return SPP_RET_OK;
tmp_buff = spp_strbuf_allocate(CMD_RES_BUF_INIT_SIZE);
@@ -911,7 +916,7 @@ append_error_details_value(const char *name, char **output, void *tmp)
}
ret = append_json_str_value("message", &tmp_buff,
- result->error_message);
+ result->err_msg);
if (unlikely(ret < 0)) {
spp_strbuf_free(tmp_buff);
return SPP_RET_NG;
@@ -1417,7 +1422,7 @@ struct command_response_list response_info_list[] = {
/* append a list of command results for JSON format. */
static int
append_command_results_value(const char *name, char **output,
- int num, struct command_result *results)
+ int num, struct cmd_result *results)
{
int ret = SPP_RET_NG;
int i;
@@ -1496,7 +1501,7 @@ append_info_value(const char *name, char **output)
static void
send_decode_error_response(int *sock,
const struct sppwk_cmd_req *request,
- struct command_result *command_results)
+ struct cmd_result *command_results)
{
int ret = SPP_RET_NG;
char *msg, *tmp_buff;
@@ -1555,7 +1560,7 @@ send_decode_error_response(int *sock,
static void
send_command_result_response(int *sock,
const struct sppwk_cmd_req *request,
- struct command_result *command_results)
+ struct cmd_result *command_results)
{
int ret = SPP_RET_NG;
char *msg, *tmp_buff;
@@ -1643,7 +1648,7 @@ process_request(int *sock, const char *request_str, size_t request_str_len)
struct sppwk_cmd_req request;
struct sppwk_parse_err_msg wk_err_msg;
- struct command_result command_results[SPPWK_MAX_CMDS];
+ struct cmd_result command_results[SPPWK_MAX_CMDS];
memset(&request, 0, sizeof(struct sppwk_cmd_req));
memset(&wk_err_msg, 0, sizeof(struct sppwk_parse_err_msg));
@@ -1674,24 +1679,24 @@ process_request(int *sock, const char *request_str, size_t request_str_len)
for (i = 0; i < request.num_command ; ++i) {
ret = execute_command(request.commands + i);
if (unlikely(ret != SPP_RET_OK)) {
- set_command_results(&command_results[i], CMD_FAILED,
+ set_cmd_result(&command_results[i], CMD_FAILED,
"error occur");
/* not execute remaining commands */
for (++i; i < request.num_command ; ++i)
- set_command_results(&command_results[i],
+ set_cmd_result(&command_results[i],
CMD_INVALID, "");
break;
}
- set_command_results(&command_results[i], CMD_SUCCESS, "");
+ set_cmd_result(&command_results[i], CMD_SUCCESS, "");
}
if (request.is_requested_exit) {
/* Terminated by process exit command. */
/* Other route is normal end because it responds to command. */
- set_command_results(&command_results[0], CMD_SUCCESS, "");
+ set_cmd_result(&command_results[0], CMD_SUCCESS, "");
send_command_result_response(sock, &request, command_results);
RTE_LOG(INFO, SPP_COMMAND_PROC,
"Terminate process for exit.\n");
--
2.17.1
next prev parent reply other threads:[~2019-05-31 3:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-31 3:35 [spp] [PATCH 00/11] Refactor functions for handling commands ogawa.yasufumi
2019-05-31 3:35 ` [spp] [PATCH 01/11] shared/sec: rename functions of sppwk_cmd_runner ogawa.yasufumi
2019-05-31 3:35 ` [spp] [PATCH 02/11] shared/sec: revise enum for cmd response ogawa.yasufumi
2019-05-31 3:35 ` ogawa.yasufumi [this message]
2019-05-31 3:35 ` [spp] [PATCH 04/11] shared/sec: rename struct for command response ogawa.yasufumi
2019-05-31 3:35 ` [spp] [PATCH 05/11] shared/sec: refactor funcs for managing port info ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 06/11] shared/sec: rename util functions in cmd_runner ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 07/11] shared/sec: rename func for getting component ID ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 08/11] shared/sec: refactor func for updating cls table ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 09/11] shared/sec: rename func for executing command ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 10/11] shared/sec: add helpers for logging cmd parser ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 11/11] shared/sec: rename func for updating port ogawa.yasufumi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1559273765-26130-4-git-send-email-ogawa.yasufumi@lab.ntt.co.jp \
--to=ogawa.yasufumi@lab.ntt.co.jp \
--cc=ferruh.yigit@intel.com \
--cc=spp@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).