RINASim
October 2016
Documentation of framework for OMNeT++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
BiDomainGenerator.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 BiDomainGenerator_H_
24
#define BiDomainGenerator_H_
25
26
#include <
IntPDUFG.h
>
27
#include <
DomainTable/DomainTable.h
>
28
#include <
DomainRouting/Routing.h
>
29
30
#include <map>
31
#include <set>
32
33
namespace
BiDomainGenerator
{
34
35
36
struct
pAddr
{
37
std::string
domain
;
38
std::string
addr
;
39
pAddr
(
const
std::string &_domain,
const
std::string &_addr)
40
: domain(_domain), addr(_addr) {}
41
};
42
43
typedef
std::set<RMTPort*>
PortsSet
;
44
typedef
std::map<std::string, PortsSet>
NTable
;
45
46
typedef
PortsSet::iterator
PortsSetIt
;
47
typedef
NTable::iterator
NTableIt
;
48
49
50
class
BiDomainGenerator
:
public
IntPDUFG
{
51
public
:
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
DomainTable::DomainTable
*
fwd
;
66
DMRnms::Routing
*
rt
;
67
68
std::string
myPrefix
;
69
std::string
mySufix
;
70
pAddr
parseAddr(
const
std::string &addr);
71
72
NTable
neighbours
;
73
};
74
75
}
76
77
#endif
/* STATICGENERATOR_H_ */
DomainTable::DomainTable
Definition:
DomainTable.h:59
IntPDUFG
Definition:
IntPDUFG.h:38
BiDomainGenerator::pAddr
Definition:
BiDomainGenerator.h:36
BiDomainGenerator::BiDomainGenerator::neighbours
NTable neighbours
Definition:
BiDomainGenerator.h:72
BiDomainGenerator::BiDomainGenerator::difA
DA * difA
Definition:
BiDomainGenerator.h:64
Routing.h
BiDomainGenerator::BiDomainGenerator::fwd
DomainTable::DomainTable * fwd
Definition:
BiDomainGenerator.h:65
BiDomainGenerator
Definition:
BiDomainGenerator.cc:29
DMRnms::Routing
Definition:
Routing.h:49
BiDomainGenerator::BiDomainGenerator::rt
DMRnms::Routing * rt
Definition:
BiDomainGenerator.h:66
BiDomainGenerator::NTableIt
NTable::iterator NTableIt
Definition:
BiDomainGenerator.h:47
DA
Definition:
DA.h:43
BiDomainGenerator::PortsSet
std::set< RMTPort * > PortsSet
Definition:
BiDomainGenerator.h:43
QoSCube
Class representing QoSCube with all its properties that is primarily used by FA, RMT and RA Specifica...
Definition:
QoSCube.h:57
BiDomainGenerator::BiDomainGenerator::mySufix
std::string mySufix
Definition:
BiDomainGenerator.h:69
BiDomainGenerator::pAddr::addr
std::string addr
Definition:
BiDomainGenerator.h:38
BiDomainGenerator::NTable
std::map< std::string, PortsSet > NTable
Definition:
BiDomainGenerator.h:44
RMTPort
Definition:
RMTPort.h:36
IntPDUFG.h
BiDomainGenerator::pAddr::domain
std::string domain
Definition:
BiDomainGenerator.h:37
DomainTable.h
BiDomainGenerator::pAddr::pAddr
pAddr(const std::string &_domain, const std::string &_addr)
Definition:
BiDomainGenerator.h:39
Address
Address class holds IPC Process identification.
Definition:
Address.h:42
BiDomainGenerator::BiDomainGenerator::myPrefix
std::string myPrefix
Definition:
BiDomainGenerator.h:68
BiDomainGenerator::PortsSetIt
PortsSet::iterator PortsSetIt
Definition:
BiDomainGenerator.h:46
policies
DIF
RA
PDUFG
BiDomainGenerator
BiDomainGenerator.h
Generated on Tue Oct 25 2016 21:08:51 for RINASim by
1.8.10