RINASim  October 2016
Documentation of framework for OMNeT++
FlowParams.cc
Go to the documentation of this file.
1 /*
2  * FlowParams.cc
3  *
4  * Created on: Apr 15, 2015
5  * Author: gaixas1
6  */
7 
9 
10 namespace FWQ {
11 
13  minRate = 0;
14  lastFinTime = 0;
15  prevLastFinTime = 0;
16 }
17 
18 FlowParams::FlowParams(const double &rate) {
19  minRate = rate;
20  lastFinTime = 0;
21  prevLastFinTime = 0;
22 }
23 
25 
26 void FlowParams::setMinRate(const double &rate){
27  minRate = rate;
28 }
29 
30 void FlowParams::insert(const int &size){
31  simtime_t vStartTime = simTime();
32  if(!vFinTimes.empty() && vStartTime<lastFinTime){
33  vStartTime = lastFinTime;
34  }
36  lastFinTime = vStartTime + minRate*size;
37  vFinTimes.push_back(lastFinTime);
38 }
39 
42  vFinTimes.pop_back();
43 }
45  vFinTimes.pop_front();
46 }
47 
49  if(vFinTimes.empty()){
50  return DBL_MAX;
51  } else {
52  return vFinTimes.front();
53  }
54 }
56  if(vFinTimes.empty()){
57  return DBL_MAX;
58  } else {
59  return vFinTimes.back();
60  }
61 }
62 } /* namespace FWQ */
simtime_t getLastFinTime()
Definition: FlowParams.cc:55
void insert(const int &size)
Definition: FlowParams.cc:30
simtime_t lastFinTime
Definition: FlowParams.h:34
void removeLast()
Definition: FlowParams.cc:40
list< simtime_t > vFinTimes
Definition: FlowParams.h:35
simtime_t getFirstFinTime()
Definition: FlowParams.cc:48
virtual ~FlowParams()
Definition: FlowParams.cc:24
void setMinRate(const double &rate)
Definition: FlowParams.cc:26
double minRate
Definition: FlowParams.h:33
void removeFirst()
Definition: FlowParams.cc:44
simtime_t prevLastFinTime
Definition: FlowParams.h:34