TTEthernet Model for INET Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
QueueBuffer.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_QUEUEBUFFER_H_
17 #define __TTETHERNETMODELV2_QUEUEBUFFER_H_
18 
19 #include <omnetpp.h>
20 #include <TTBuffer.h>
21 
22 namespace TTEthernetModel {
23 
35 class QueueBuffer : public virtual Buffer
36 {
37  public:
45  QueueBuffer();
49  ~QueueBuffer();
50 
51  private:
55  cQueue frames;
56 
57  private:
61  virtual void initializeStatistics();
62  protected:
68  virtual void enqueue(EtherFrame *newFrame);
69 
75  virtual EtherFrame* dequeue();
76 
77  protected:
82  static simsignal_t queueLengthSignal;
88  static simsignal_t ctDroppedSignal;
89 };
90 
91 } //namespace
92 
93 #endif