diff options
Diffstat (limited to 'src/stateless/messaging')
-rw-r--r-- | src/stateless/messaging/trex_stateless_messaging.cpp | 18 | ||||
-rw-r--r-- | src/stateless/messaging/trex_stateless_messaging.h | 25 |
2 files changed, 42 insertions, 1 deletions
diff --git a/src/stateless/messaging/trex_stateless_messaging.cpp b/src/stateless/messaging/trex_stateless_messaging.cpp index f89ca343..0a3fbfde 100644 --- a/src/stateless/messaging/trex_stateless_messaging.cpp +++ b/src/stateless/messaging/trex_stateless_messaging.cpp @@ -233,6 +233,24 @@ TrexStatelessDpBarrier::clone() { return new_msg; } +/************************* + service mode message + ************************/ + +bool +TrexStatelessDpServiceMode::handle(TrexStatelessDpCore *dp_core) { + dp_core->set_service_mode(m_port_id, m_enabled); + return true; +} + +TrexStatelessCpToDpMsgBase * +TrexStatelessDpServiceMode::clone() { + + TrexStatelessCpToDpMsgBase *new_msg = new TrexStatelessDpServiceMode(m_port_id, m_enabled); + + return new_msg; +} + /************************* messages from DP to CP **********************/ bool TrexDpPortEventMsg::handle() { diff --git a/src/stateless/messaging/trex_stateless_messaging.h b/src/stateless/messaging/trex_stateless_messaging.h index cd79d6e7..7871a754 100644 --- a/src/stateless/messaging/trex_stateless_messaging.h +++ b/src/stateless/messaging/trex_stateless_messaging.h @@ -140,7 +140,7 @@ protected: class TrexStatelessDpStart : public TrexStatelessCpToDpMsgBase { public: - TrexStatelessDpStart(uint8_t m_port_id, int m_event_id, TrexStreamsCompiledObj *obj, double duration); + TrexStatelessDpStart(uint8_t port_id, int event_id, TrexStreamsCompiledObj *obj, double duration); ~TrexStatelessDpStart(); @@ -369,6 +369,29 @@ private: }; +/** + * move a DP core in/out of service mode (slower as it might do + * capturing and etc.) + * + */ +class TrexStatelessDpServiceMode : public TrexStatelessCpToDpMsgBase { +public: + + TrexStatelessDpServiceMode(uint8_t port_id, bool enabled) { + m_port_id = port_id; + m_enabled = enabled; + } + + virtual TrexStatelessCpToDpMsgBase * clone(); + + virtual bool handle(TrexStatelessDpCore *dp_core); + +private: + + uint8_t m_port_id; + bool m_enabled; +}; + /************************* messages from DP to CP **********************/ /** |