diff options
author | imarom <imarom@cisco.com> | 2015-10-27 19:25:03 +0200 |
---|---|---|
committer | imarom <imarom@cisco.com> | 2015-10-27 19:27:57 +0200 |
commit | ea0b6efc3a41f425e46d81f4b6b8bbbf3238add1 (patch) | |
tree | a566d14e5869fd71068912438b9ec88d9fde12b5 /src/stateless/messaging/trex_stateless_messaging.h | |
parent | 99109fa49c9a4d09a69172367911758892203ee2 (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.h | 88 |
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__ */ |