diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/rpc-server/commands/trex_rpc_cmd_general.cpp | 6 | ||||
-rw-r--r-- | src/stateless/cp/trex_stateless_port.cpp | 5 | ||||
-rw-r--r-- | src/stateless/cp/trex_stateless_port.h | 6 | ||||
-rw-r--r-- | src/stateless/cp/trex_stream.cpp | 11 | ||||
-rw-r--r-- | src/stateless/cp/trex_stream.h | 8 |
5 files changed, 33 insertions, 3 deletions
diff --git a/src/rpc-server/commands/trex_rpc_cmd_general.cpp b/src/rpc-server/commands/trex_rpc_cmd_general.cpp index 084e154a..6ac88352 100644 --- a/src/rpc-server/commands/trex_rpc_cmd_general.cpp +++ b/src/rpc-server/commands/trex_rpc_cmd_general.cpp @@ -310,9 +310,9 @@ TrexRpcCmdGetPortStatus::_run(const Json::Value ¶ms, Json::Value &result) { TrexStatelessPort *port = get_stateless_obj()->get_port_by_id(port_id); - result["result"]["owner"] = (port->get_owner().is_free() ? "" : port->get_owner().get_name()); - result["result"]["state"] = port->get_state_as_string(); - + result["result"]["owner"] = (port->get_owner().is_free() ? "" : port->get_owner().get_name()); + result["result"]["state"] = port->get_state_as_string(); + result["result"]["max_stream_id"] = port->get_max_stream_id(); return (TREX_RPC_CMD_OK); } diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp index a281e428..8ee46d29 100644 --- a/src/stateless/cp/trex_stateless_port.cpp +++ b/src/stateless/cp/trex_stateless_port.cpp @@ -343,6 +343,11 @@ TrexStatelessPort::get_state_as_string() const { return "UNKNOWN"; } +int +TrexStatelessPort::get_max_stream_id() const { + return m_stream_table.get_max_stream_id(); +} + void TrexStatelessPort::get_properties(std::string &driver, TrexPlatformApi::driver_speed_e &speed) { diff --git a/src/stateless/cp/trex_stateless_port.h b/src/stateless/cp/trex_stateless_port.h index 64cf73a4..b0b0ddf3 100644 --- a/src/stateless/cp/trex_stateless_port.h +++ b/src/stateless/cp/trex_stateless_port.h @@ -203,6 +203,12 @@ public: std::string get_state_as_string() const; /** + * the the max stream id currently assigned + * + */ + int get_max_stream_id() const; + + /** * fill up properties of the port * * @author imarom (16-Sep-15) diff --git a/src/stateless/cp/trex_stream.cpp b/src/stateless/cp/trex_stream.cpp index 077c30b4..256f7de8 100644 --- a/src/stateless/cp/trex_stream.cpp +++ b/src/stateless/cp/trex_stream.cpp @@ -201,6 +201,17 @@ TrexStream * TrexStreamTable::get_stream_by_id(uint32_t stream_id) { } } +int +TrexStreamTable::get_max_stream_id() const { + int max_id = 0; + + for (const auto stream : m_stream_table) { + max_id = std::max(stream.first, max_id); + } + + return max_id; +} + void TrexStreamTable::get_id_list(std::vector<uint32_t> &id_list) { id_list.clear(); diff --git a/src/stateless/cp/trex_stream.h b/src/stateless/cp/trex_stream.h index 525bf594..72e7bb8b 100644 --- a/src/stateless/cp/trex_stream.h +++ b/src/stateless/cp/trex_stream.h @@ -363,6 +363,14 @@ public: TrexStream * get_stream_by_id(uint32_t stream_id); /** + * get max stream ID assigned + * + * + * @return int + */ + int get_max_stream_id() const; + + /** * populate a list with all the stream IDs * * @author imarom (06-Sep-15) |