TTEthernet Model for INET Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
TTEInput.h
Go to the documentation of this file.
1 //
2 // This program is free software: you can redistribute it and/or modify
3 // it under the terms of the GNU Lesser General Public License as published by
4 // the Free Software Foundation, either version 3 of the License, or
5 // (at your option) any later version.
6 //
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU Lesser General Public License for more details.
11 //
12 // You should have received a copy of the GNU Lesser General Public License
13 // along with this program. If not, see http://www.gnu.org/licenses/.
14 //
15 
16 #ifndef __TTETHERNETMODELV2_TTEINPUT_H_
17 #define __TTETHERNETMODELV2_TTEINPUT_H_
18 
19 #include <omnetpp.h>
20 
21 #include <ctc/Incoming.h>
22 #include <EtherFrame_m.h>
23 
24 #include "HelperFunctions.h"
25 
26 #include <map>
27 #include <list>
28 
29 
30 namespace TTEthernetModel {
31 
39 class TTEInput : public cSimpleModule
40 {
41  private:
45  std::map<uint16_t, std::list<Incoming*> > incomings;
46 
50  uint32_t ctMask;
54  uint32_t ctMarker;
59  protected:
63  bool hadError;
69  static simsignal_t ctDroppedSignal;
70  public:
74  TTEInput();
75 // /**
76 // * @brief Adds an incoming module to the list.
77 // *
78 // * @param ctID critical traffic id of the incoming module
79 // * @param incoming Pointer to the Incoming module
80 // */
81 // virtual void addIncoming(uint16 ctID, Incoming *incoming);
82  protected:
86  virtual void initialize();
87 
98  virtual void handleMessage(cMessage *msg);
99  public:
105  virtual void handleParameterChange(const char* parname);
106  private:
113  virtual bool isCT(EtherFrame *frame);
114 
126  virtual uint16_t getCTID(EtherFrame *frame);
127 };
128 }
129 
130 #endif