RINASim  October 2016
Documentation of framework for OMNeT++
MM_maxPST_Out.h
Go to the documentation of this file.
1 //
2 // Copyright © 2014 - 2015 PRISTINE Consortium (http://ict-pristine.eu)
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public License
15 // along with this program. If not, see http://www.gnu.org/licenses/.
16 //
17 
18 #pragma once
19 
20 #include "Int_MM_Out_Module.h"
21 
22 #include <string>
23 #include <map>
24 #include <vector>
25 #include <list>
26 
27 namespace MM_maxPST_Out {
28 
29 using namespace std;
30 
32 {
33  public:
34  ~MM_maxPST_Out();
35  void finish();
36 
37  void pduInsertered(RMTQueue *, RMTPort *);
38  void pduDropped(RMTQueue *, const cPacket *, RMTPort *);
39  void pduReleased(RMTQueue *, RMTPort *);
40  void queueCreated(RMTQueue *, RMTPort *);
41 
42  RMTQueue * getnextQueue(RMTPort *);
43  simtime_t getnextTime(RMTPort *);
44 
45  protected:
46  map<string , int> qName2Threshold, qName2PrePrio, qName2PostPrio;
47  map<RMTQueue * , int> qThreshold, qPrePrio, qPostPrio;
48 
49  map<RMTPort* , set<RMTQueue*> > portQueues;
50  map<RMTPort* , long > portTime;
51  map<RMTQueue* , list<long> > queueInTime;
52 
53  int maxTH, margin;
54 
55  void initialize();
56 };
57 
58 }
map< RMTQueue *, list< long > > queueInTime
Definition: MM_maxPST_Out.h:51
map< RMTPort *, set< RMTQueue * > > portQueues
Definition: MM_maxPST_Out.h:49
map< RMTPort *, long > portTime
Definition: MM_maxPST_Out.h:50
map< RMTQueue *, int > qThreshold
Definition: MM_maxPST_Out.h:47
map< string, int > qName2Threshold
Definition: MM_maxPST_Out.h:46