diff options
author | 2015-09-06 15:23:40 +0300 | |
---|---|---|
committer | 2015-09-06 15:23:40 +0300 | |
commit | c625b6e4f6d71176ef1db5aab93f4e66939d7a25 (patch) | |
tree | 25527fa0156bb95434fbd653e938acf986da9636 /src/stateless/trex_stateless.cpp | |
parent | ea30ab5d1165707ffb1297dabf2b24ecbd5d39a5 (diff) |
trex stateless changed to singleton.
added some more commands (remove all, get list of streams)
Diffstat (limited to 'src/stateless/trex_stateless.cpp')
-rw-r--r-- | src/stateless/trex_stateless.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/stateless/trex_stateless.cpp b/src/stateless/trex_stateless.cpp index 05931983..ff469d7e 100644 --- a/src/stateless/trex_stateless.cpp +++ b/src/stateless/trex_stateless.cpp @@ -24,13 +24,30 @@ limitations under the License. * Trex stateless object * **********************************************************/ -TrexStateless::TrexStateless(uint8_t port_count) : m_port_count(port_count) { +TrexStateless::TrexStateless() { + m_is_configured = false; +} - m_ports = new TrexStatelessPort*[port_count]; +/** + * one time configuration of the stateless object + * + */ +void TrexStateless::configure(uint8_t port_count) { - for (int i = 0; i < m_port_count; i++) { - m_ports[i] = new TrexStatelessPort(i); + TrexStateless& instance = get_instance_internal(); + + if (instance.m_is_configured) { + throw TrexException("re-configuration of stateless object is not allowed"); } + + instance.m_port_count = port_count; + instance.m_ports = new TrexStatelessPort*[port_count]; + + for (int i = 0; i < instance.m_port_count; i++) { + instance.m_ports[i] = new TrexStatelessPort(i); + } + + instance.m_is_configured = true; } TrexStateless::~TrexStateless() { @@ -54,10 +71,3 @@ uint8_t TrexStateless::get_port_count() { return m_port_count; } -/******** HACK - REMOVE ME ***********/ -TrexStateless * get_trex_stateless() { - static TrexStateless trex_stateless(8); - return &trex_stateless; - -} - |