--- a/src/DAF/AE/AEBase.cc
+++ b/src/DAF/AE/AEBase.cc
@@ -24,6 +24,7 @@
const char* PAR_BURSTPERIOD = "burstPeriod";
const char* PAR_BURSTDURATION = "burstDuration";
const char* PAR_UNDETECTBITERR = "undetectedBitErr";
+const char* PAR_PDUDROPPROBAB = "pduDroppingProbability";
const char* PAR_MAXSDUSIZE = "maxSDUsize";
const char* PAR_PARTIALDELIVER = "partialDelivery";
const char* PAR_INCOMPLETEDELIVER = "incompleteDelivery";
@@ -43,14 +44,6 @@
this->apni = apni;
}
-const Flows& AEBase::getFlows() const {
- return flows;
-}
-
-void AEBase::setFlows(const Flows& flows) {
- this->flows = flows;
-}
-
const int AEBase::getAuthType(){
return authType;
}
@@ -140,6 +133,7 @@
hasPar(PAR_BURSTPERIOD) &&
hasPar(PAR_BURSTDURATION) &&
hasPar(PAR_UNDETECTBITERR) &&
+ hasPar(PAR_PDUDROPPROBAB) &&
hasPar(PAR_MAXSDUSIZE) &&
hasPar(PAR_PARTIALDELIVER) &&
hasPar(PAR_INCOMPLETEDELIVER) &&
@@ -167,7 +161,8 @@
int peakSDUBandDuration = VAL_QOSPARDONOTCARE; //Peak SDU bandwidth-duration (measured in SDUs/sec);
int burstPeriod = VAL_QOSPARDONOTCARE; //Burst period measured in useconds
int burstDuration = VAL_QOSPARDONOTCARE; //Burst duration, measured in usecs fraction of Burst Period
- int undetectedBitErr = VAL_QOSPARDONOTCARE; //Undetected bit error rate measured as a probability
+ double undetectedBitErr = VAL_QOSPARDONOTCARE; //Undetected bit error rate measured as a probability
+ double pduDropProbab = VAL_QOSPARDONOTCARE;
int maxSDUsize = VAL_QOSPARDONOTCARE; //MaxSDUSize measured in bytes
bool partDeliv = VAL_QOSPARDEFBOOL; //Partial Delivery - Can SDUs be delivered in pieces rather than all at once?
bool incompleteDeliv = VAL_QOSPARDEFBOOL; //Incomplete Delivery - Can SDUs with missing pieces be delivered?
@@ -197,9 +192,12 @@
burstDuration = par(PAR_BURSTDURATION);
if (burstDuration < 0)
burstDuration = VAL_QOSPARDONOTCARE;
- undetectedBitErr = par(PAR_UNDETECTBITERR);
+ undetectedBitErr = par(PAR_UNDETECTBITERR).doubleValue();
if (undetectedBitErr < 0 || undetectedBitErr > 1 )
undetectedBitErr = VAL_QOSPARDONOTCARE;
+ pduDropProbab = par(PAR_PDUDROPPROBAB).doubleValue();
+ if (pduDropProbab < 0 || pduDropProbab > 1 )
+ pduDropProbab = VAL_QOSPARDONOTCARE;
maxSDUsize = par(PAR_MAXSDUSIZE);
if (maxSDUsize < 0)
maxSDUsize = VAL_QOSPARDONOTCARE;
@@ -221,7 +219,7 @@
costbits = par(PAR_COSTBITS);
if (costbits < 0)
costbits = VAL_QOSPARDONOTCARE;
- aTime = par(PAR_ATIME);
+ aTime = par(PAR_ATIME).doubleValue();
if (aTime < 0)
aTime = VAL_QOSPARDONOTCARE;
@@ -255,14 +253,15 @@
// TODO - Generated method body
}
-void AEBase::insertFlow(Flow& flow) {
- flows.push_back(flow);
+Flow* AEBase::getFlowObject() const {
+ return FlowObject;
+}
+
+void AEBase::setFlowObject(Flow* flowObject) {
+ FlowObject = flowObject;
}
bool AEBase::hasFlow(const Flow* flow) {
- for (TFlowsIter it = flows.begin(); it != flows.end(); ++it) {
- if (*it == *flow)
- return true;
- }
- return false;
-}
+ return FlowObject ? *FlowObject == *flow : false;
+}
+