From 2aca01b9c5fd88184bfc1b5dada1974276e8f834 Mon Sep 17 00:00:00 2001 From: Leo Ma Date: Tue, 25 Apr 2023 15:36:17 +0800 Subject: [PATCH] add global_config RPC support Signed-off-by: Leo Ma --- src/main/java/com/cisco/trex/ClientBase.java | 24 +++++++++++++++++++ .../com/cisco/trex/model/GlobalConfig.java | 15 ++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/main/java/com/cisco/trex/model/GlobalConfig.java diff --git a/src/main/java/com/cisco/trex/ClientBase.java b/src/main/java/com/cisco/trex/ClientBase.java index de4bbcf..54f343b 100644 --- a/src/main/java/com/cisco/trex/ClientBase.java +++ b/src/main/java/com/cisco/trex/ClientBase.java @@ -1,5 +1,6 @@ package com.cisco.trex; +import com.cisco.trex.model.GlobalConfig; import com.cisco.trex.stateless.TRexCommand; import com.cisco.trex.stateless.TRexTransport; import com.cisco.trex.stateless.exception.TRexConnectionException; @@ -548,6 +549,29 @@ public SystemInfo getSystemInfo() { return GSON.fromJson(getResultFromResponse(json), SystemInfo.class); } + /** + * Get global configuration parameters + * + * @return GlobalConfig + */ + public TRexClientResult getGlobalConfig(int portIdx) { + Map payload = new HashMap<>(); + return callMethod("get_global_cfg", null, GlobalConfig.class); + } + + /** + * Change global configuration parameter + * + * @param name parameter name + * @param value parameter value in data types of dboule, boolean depending on the parameter type + * @return StubResult + */ + public TRexClientResult setGlobalConfig(String name, Object value) { + Map payload = new HashMap<>(); + payload.put(name, value); + return callMethod("set_global_cfg", payload, StubResult.class); + } + protected Map createPayload(int portIndex) { Map payload = new HashMap<>(); payload.put(PORT_ID, portIndex); diff --git a/src/main/java/com/cisco/trex/model/GlobalConfig.java b/src/main/java/com/cisco/trex/model/GlobalConfig.java new file mode 100644 index 0000000..904fd4f --- /dev/null +++ b/src/main/java/com/cisco/trex/model/GlobalConfig.java @@ -0,0 +1,15 @@ +package com.cisco.trex.model; + +import java.util.HashMap; + +/** Global configuration parameters */ +public class GlobalConfig extends HashMap { + + public boolean getProcessAtCp() { + return (boolean) get("process_at_cp"); + } + + public double getSchedMaxStretch() { + return (double) get("sched_max_stretch"); + } +} \ No newline at end of file