summaryrefslogtreecommitdiffstats
path: root/src/stateless/messaging/trex_stateless_messaging.h
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2015-10-27 19:25:03 +0200
committerimarom <imarom@cisco.com>2015-10-27 19:27:57 +0200
commitea0b6efc3a41f425e46d81f4b6b8bbbf3238add1 (patch)
treea566d14e5869fd71068912438b9ec88d9fde12b5 /src/stateless/messaging/trex_stateless_messaging.h
parent99109fa49c9a4d09a69172367911758892203ee2 (diff)
working cont. stream on 1 core
Diffstat (limited to 'src/stateless/messaging/trex_stateless_messaging.h')
-rw-r--r--src/stateless/messaging/trex_stateless_messaging.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/stateless/messaging/trex_stateless_messaging.h b/src/stateless/messaging/trex_stateless_messaging.h
new file mode 100644
index 00000000..af05aa4c
--- /dev/null
+++ b/src/stateless/messaging/trex_stateless_messaging.h
@@ -0,0 +1,88 @@
+/*
+ Itay Marom
+ Cisco Systems, Inc.
+*/
+
+/*
+Copyright (c) 2015-2015 Cisco Systems, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+#ifndef __TREX_STATELESS_MESSAGING_H__
+#define __TREX_STATELESS_MESSAGING_H__
+
+#include <msg_manager.h>
+
+class TrexStatelessDpCore;
+
+/**
+ * defines the base class for CP to DP messages
+ *
+ * @author imarom (27-Oct-15)
+ */
+class TrexStatelessCpToDpMsgBase {
+public:
+
+ TrexStatelessCpToDpMsgBase() {
+ }
+
+ virtual ~TrexStatelessCpToDpMsgBase() {
+ }
+
+ /**
+ * virtual function to handle a message
+ *
+ */
+ virtual bool handle(TrexStatelessDpCore *dp_core) = 0;
+};
+
+/**
+ * a message to start traffic
+ *
+ * @author imarom (27-Oct-15)
+ */
+class TrexStatelessDpStart : public TrexStatelessCpToDpMsgBase {
+public:
+
+ TrexStatelessDpStart(const uint8_t *pkt, uint16_t pkt_len, double pps);
+
+ ~TrexStatelessDpStart();
+
+ const uint8_t * get_pkt() {
+ return m_pkt;
+ }
+
+ uint16_t get_pkt_len() {
+ return m_pkt_len;
+ }
+
+ virtual bool handle(TrexStatelessDpCore *dp_core);
+
+private:
+ uint8_t *m_pkt;
+ uint16_t m_pkt_len;
+ double m_pps;
+};
+
+/**
+ * a message to stop traffic
+ *
+ * @author imarom (27-Oct-15)
+ */
+class TrexStatelessDpStop : public TrexStatelessCpToDpMsgBase {
+public:
+ virtual bool handle(TrexStatelessDpCore *dp_core);
+};
+
+
+#endif /* __TREX_STATELESS_MESSAGING_H__ */