summaryrefslogtreecommitdiffstats
path: root/src/rpc-server
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2015-12-15 04:26:21 -0500
committerimarom <imarom@cisco.com>2015-12-15 04:26:21 -0500
commitbfb15053ea5d21bc0502f3102cd83407fafddf75 (patch)
tree05a074089fefd23c59c6319612f5114dee98330d /src/rpc-server
parentd71dbce9695f348b2e52e00c9efd53cb89c62aa5 (diff)
moved all return code values to RC types (better for batch rc)
also few fixes
Diffstat (limited to 'src/rpc-server')
-rw-r--r--src/rpc-server/commands/trex_rpc_cmd_stream.cpp2
-rw-r--r--src/rpc-server/trex_rpc_cmd.cpp12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
index fa3d96b2..305ccc17 100644
--- a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
+++ b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
@@ -265,7 +265,7 @@ void
TrexRpcCmdAddStream::parse_vm(const Json::Value &vm, TrexStream *stream, Json::Value &result) {
/* array of VM instructions on vm */
for (int i = 0; i < vm.size(); i++) {
- const Json::Value & inst = vm[i];
+ const Json::Value & inst = parse_object(vm, i, result);
auto vm_types = {"fix_checksum_ipv4", "flow_var", "write_flow_var"};
std::string vm_type = parse_choice(inst, "type", vm_types, result);
diff --git a/src/rpc-server/trex_rpc_cmd.cpp b/src/rpc-server/trex_rpc_cmd.cpp
index d4eef1f7..8f0ffbad 100644
--- a/src/rpc-server/trex_rpc_cmd.cpp
+++ b/src/rpc-server/trex_rpc_cmd.cpp
@@ -203,12 +203,24 @@ TrexRpcCommand::parse_string(const Json::Value &parent, const std::string &name,
return parent[name].asString();
}
+/**
+ * object version
+ */
const Json::Value &
TrexRpcCommand::parse_object(const Json::Value &parent, const std::string &name, Json::Value &result) {
check_field_type(parent, name, FIELD_TYPE_OBJ, result);
return parent[name];
}
+/**
+ * index version
+ */
+const Json::Value &
+TrexRpcCommand::parse_object(const Json::Value &parent, int index, Json::Value &result) {
+ check_field_type(parent, index, FIELD_TYPE_OBJ, result);
+ return parent[index];
+}
+
const Json::Value &
TrexRpcCommand::parse_array(const Json::Value &parent, const std::string &name, Json::Value &result) {
check_field_type(parent, name, FIELD_TYPE_ARRAY, result);