RINASim
October 2016
Documentation of framework for OMNeT++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
AEBStream.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 __RINA_AEBStream_H_
17
#define __RINA_AEBStream_H_
18
19
#include "
AESInt.h
"
20
#include <vector>
21
22
namespace
AEBStream
{
23
24
using namespace
std
;
25
26
typedef
double (*
RNG_function
)(double, double,
int
rng);
27
28
class
Stream
{
29
public
:
30
Stream
();
31
32
void
setState(
bool
);
33
34
void
setBrt(
double
);
35
36
void
setPduS(
int
);
37
void
setVarPduS(
double
);
38
void
setRNG(
RNG_function
);
39
40
void
setBurstS(
int
);
41
void
setVarBurstS(
double
);
42
void
setBRNG(
RNG_function
);
43
44
void
setBurstProb(
double
);
45
46
int
getid();
47
bool
getState();
48
double
getWt(
int
size);
49
int
getPDU();
50
int
getBurst();
51
double
getBurstProb();
52
53
void
compute();
54
55
56
private
:
57
static
int
nextId
;
58
int
id
;
59
60
bool
state
;
61
62
double
wt
, brt;
63
64
int
pduS
, burstS;
65
double
varPduS
, varBurstS;
66
double
burstProb
;
67
68
int
minPduS
, maxPduS;
69
int
minBurstS
, maxBurstS;
70
71
RNG_function
rng,
rngb
;
72
};
73
74
typedef
vector<Stream>
sVec
;
75
typedef
sVec::iterator
sVecIt
;
76
77
78
class
Stream_Timer
:
public
_AESInt_self
{
79
public
:
80
int
streamId
;
81
Stream_Timer
(
int
);
82
};
83
84
class
AEBStream
:
public
AESInt
{
85
protected
:
86
sVec
streams
;
87
simtime_t
startVar
;
88
89
void
doIni();
90
void
doFin();
91
void
iniCom();
92
93
void
processMsg(
_AESInt_self
*);
94
};
95
96
}
97
#endif
AEBStream::Stream::minPduS
int minPduS
Definition:
AEBStream.h:68
AEBStream::Stream::id
int id
Definition:
AEBStream.h:58
AEBStream::Stream::pduS
int pduS
Definition:
AEBStream.h:64
AEBStream::Stream::minBurstS
int minBurstS
Definition:
AEBStream.h:69
AEBStream::Stream_Timer
Definition:
AEBStream.h:78
AEBStream::sVec
vector< Stream > sVec
Definition:
AEBStream.h:74
AEBStream::Stream
Definition:
AEBStream.h:28
std
AEBStream::AEBStream::streams
sVec streams
Definition:
AEBStream.h:86
AESInt
Definition:
AESInt.h:47
AEBStream::Stream::nextId
static int nextId
Definition:
AEBStream.h:57
AEBStream::sVecIt
sVec::iterator sVecIt
Definition:
AEBStream.h:75
_AESInt_self
Definition:
AESInt.h:28
AEBStream::Stream::state
bool state
Definition:
AEBStream.h:60
AESInt.h
AEBStream::Stream_Timer::streamId
int streamId
Definition:
AEBStream.h:80
AEBStream::Stream::wt
double wt
Definition:
AEBStream.h:62
AEBStream::Stream::rngb
RNG_function rngb
Definition:
AEBStream.h:71
AEBStream::AEBStream::startVar
simtime_t startVar
Definition:
AEBStream.h:87
AEBStream
Definition:
AEBStream.cc:18
AEBStream::RNG_function
double(* RNG_function)(double, double, int rng)
Definition:
AEBStream.h:26
AEBStream::Stream::burstProb
double burstProb
Definition:
AEBStream.h:66
AEBStream::Stream::varPduS
double varPduS
Definition:
AEBStream.h:65
src
DAF
AE
AEBStream
AEBStream.h
Generated on Tue Oct 25 2016 21:08:59 for RINASim by
1.8.10