RINASim
October 2016
Documentation of framework for OMNeT++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
QoSDomainGenerator.h
Go to the documentation of this file.
1
// The MIT License (MIT)
2
//
3
// Copyright (c) 2014-2016 Brno University of Technology, PRISTINE project
4
//
5
// Permission is hereby granted, free of charge, to any person obtaining a copy
6
// of this software and associated documentation files (the "Software"), to deal
7
// in the Software without restriction, including without limitation the rights
8
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
// copies of the Software, and to permit persons to whom the Software is
10
// furnished to do so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in
13
// all copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
// THE SOFTWARE.
22
23
#ifndef QoSDomainGenerator_H_
24
#define QoSDomainGenerator_H_
25
26
#include "
Utils.h
"
27
#include <
IntPDUFG.h
>
28
#include <
QoSTable/QoSTable.h
>
29
#include <
DomainRouting/Routing.h
>
30
#include "
QoSCube.h
"
31
#include "
RA.h
"
32
#include "
MultilevelQoS.h
"
33
34
35
#include <map>
36
#include <set>
37
38
namespace
QoSDomainGenerator
{
39
40
typedef
std::set<RMTPort*>
PortsSet
;
41
typedef
std::map<std::string, PortsSet>
NTable
;
42
typedef
std::map<std::string, NTable>
QNTable
;
43
44
typedef
PortsSet::iterator
PortsSetIt
;
45
typedef
NTable::iterator
NTableIt
;
46
typedef
QNTable::iterator
QNTableIt
;
47
48
49
class
QoSDomainGenerator
:
public
IntPDUFG
{
50
public
:
51
// A new flow has been inserted/or removed
52
// A new flow has been inserted/or removed
53
virtual
void
insertedFlow(
const
Address
& addr,
const
QoSCube
& qos,
RMTPort
* port);
54
virtual
void
removedFlow(
const
Address
&addr,
const
QoSCube
& qos,
RMTPort
* port);
55
56
//Routing has processes a routing update
57
virtual
void
routingUpdated();
58
59
protected
:
60
// Called after initialize
61
virtual
void
onPolicyInit();
62
63
private
:
64
DA
*
difA
;
65
QoSTable::QoSTable
*
fwd
;
66
DMRnms::Routing
*
rt
;
67
//FIXME: Vesely: Unused variable commented
68
//int nDom;
69
70
QNTable
neighbours
;
71
QoSCubeSet
cubes
;
72
MultilevelQoS
*
comparer
;
73
};
74
75
}
76
77
#endif
/* STATICGENERATOR_H_ */
QoSCube.h
QoSDomainGenerator
Definition:
QoSDomainGenerator.cc:31
IntPDUFG
Definition:
IntPDUFG.h:38
QoSDomainGenerator::PortsSet
std::set< RMTPort * > PortsSet
Definition:
QoSDomainGenerator.h:40
QoSDomainGenerator::QoSDomainGenerator::difA
DA * difA
Definition:
QoSDomainGenerator.h:64
QoSDomainGenerator::QoSDomainGenerator::neighbours
QNTable neighbours
Definition:
QoSDomainGenerator.h:70
QoSDomainGenerator::QoSDomainGenerator::comparer
MultilevelQoS * comparer
Definition:
QoSDomainGenerator.h:72
MultilevelQoS.h
QoSDomainGenerator::QNTable
std::map< std::string, NTable > QNTable
Definition:
QoSDomainGenerator.h:42
Routing.h
QoSTable.h
DMRnms::Routing
Definition:
Routing.h:49
QoSDomainGenerator::QoSDomainGenerator::fwd
QoSTable::QoSTable * fwd
Definition:
QoSDomainGenerator.h:65
RA.h
Monitoring and adjustment of IPC process operations .
QoSDomainGenerator::QoSDomainGenerator::cubes
QoSCubeSet cubes
Definition:
QoSDomainGenerator.h:71
Utils.h
QoSDomainGenerator::QoSDomainGenerator::rt
DMRnms::Routing * rt
Definition:
QoSDomainGenerator.h:66
QoSDomainGenerator::QNTableIt
QNTable::iterator QNTableIt
Definition:
QoSDomainGenerator.h:46
DA
Definition:
DA.h:43
QoSCubeSet
std::list< QoSCube > QoSCubeSet
Definition:
RABase.h:33
MultilevelQoS
Definition:
MultilevelQoS.h:31
QoSCube
Class representing QoSCube with all its properties that is primarily used by FA, RMT and RA Specifica...
Definition:
QoSCube.h:57
QoSDomainGenerator::PortsSetIt
PortsSet::iterator PortsSetIt
Definition:
QoSDomainGenerator.h:44
QoSTable::QoSTable
Definition:
QoSTable.h:42
RMTPort
Definition:
RMTPort.h:36
IntPDUFG.h
Address
Address class holds IPC Process identification.
Definition:
Address.h:42
QoSDomainGenerator::NTable
std::map< std::string, PortsSet > NTable
Definition:
QoSDomainGenerator.h:41
QoSDomainGenerator::NTableIt
NTable::iterator NTableIt
Definition:
QoSDomainGenerator.h:45
policies
DIF
RA
PDUFG
QoSDomainGenerator
QoSDomainGenerator.h
Generated on Tue Oct 25 2016 21:08:52 for RINASim by
1.8.10