diff options
author | 2016-02-08 09:01:11 -0500 | |
---|---|---|
committer | 2016-02-08 09:01:55 -0500 | |
commit | f5a5e50bfe046148a20f6ce578d6082119dec2c0 (patch) | |
tree | 10bd95aa2ae3fb831dad7102ccbd5bd372199f54 /src/stateless/cp | |
parent | 5be5c499e145656daf748b0092732b1cb092e445 (diff) |
stream ID allocation
Diffstat (limited to 'src/stateless/cp')
-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 |
4 files changed, 30 insertions, 0 deletions
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) |