42 partDeliv(false), incompleteDeliv(false), forceOrder(false),
52 partDeliv(false), incompleteDeliv(false), forceOrder(false),
57 for (cXMLElementList::iterator jt = attrs.begin(); jt != attrs.end(); ++jt)
100 if (undetectedBitErr < 0 || undetectedBitErr > 1)
106 if (pduDropProbability < 0 || pduDropProbability > 1)
133 else if (!strcmp(n->getTagName(),
ELEM_DELAY))
157 else if (!strcmp(n->getTagName(),
ELEM_ATIME))
163 else if (!strcmp(n->getTagName(),
ELEM_RXON))
167 else if (!strcmp(n->getTagName(),
ELEM_WINON))
189 int tavgBand,
int tavgSDUBand,
190 int tpeakBandDuration,
int tpeakSDUBandDuration,
191 int tburstPeriod,
int tburstDuration,
192 double tundetectedBitErr,
double tpduDropProbab,
194 bool tpartDeliv,
bool tincompleteDeliv,
bool tforceOrder,
195 unsigned int tmaxAllowGap,
int tdelay,
int tjitter,
196 int tcosttime,
int tcostbits,
197 double tatime,
bool trxon,
bool twinfcon,
bool tratefcon) :
199 avgBand(tavgBand), avgSDUBand(tavgSDUBand),
200 peakBandDuration(tpeakBandDuration), peakSDUBandDuration(tpeakSDUBandDuration),
201 burstPeriod(tburstPeriod), burstDuration(tburstDuration),
202 undetectedBitErr(tundetectedBitErr), pduDropProbability(tpduDropProbab),
203 maxSDUsize(tmaxSDUsize),
204 partDeliv(tpartDeliv), incompleteDeliv(tincompleteDeliv), forceOrder(tforceOrder),
205 maxAllowGap(tmaxAllowGap), delay(tdelay), jitter(tjitter),
206 costTime(tcosttime), costBits(tcostbits),
207 aTime(tatime), rxOn(trxon), windowFCOn(twinfcon), rateFCOn(tratefcon),
245 0.0,
true,
true,
false
249 return os << cube.
info();
409 std::ostringstream os;
411 os <<
"QoSCube Id> " << this->
getQosId();
413 os <<
"\n average BW = ";
416 os <<
", average SDU BW = ";
419 os <<
"\n peak BW duration = ";
422 os <<
", peak SDU BW duration = ";
425 os <<
"\n burst period = ";
428 os <<
", burst duration = ";
431 os <<
"\n undetect. bit errors = ";
434 os <<
", PDU dropping probability = ";
437 os <<
"\n max SDU Size = ";
446 os <<
"\n max allowed gap = ";
455 os <<
"\n cost-time = ";
458 os <<
", cost-bits = ";
461 os <<
"\n A-Time = ";
464 os <<
"\n resiliency factor = ";
const int VAL_DEFAULT_QOS
static const QoSCube MANAGEMENT
void setMaxAllowGap(int maxAllowGap)
Sets Maximum Allowable Gap in SDUs parameter.
bool isDTCPNeeded() const
Returns true if DTCP module is needed in order to support this QoScube.
virtual ~QoSCube()
Destructor assigning default uninitialized values.
const bool VAL_QOSPARDEFBOOL
int avgBand
Attribute holding average bandwidth.
const char * ELEM_AVGSDUBW
const char * ELEM_EFCPPOL
int getBurstPeriod() const
Gets Burst Period parameter.
void setPartialDelivery(bool partDeliv)
Sets partial delivery flag.
int getBurstDuration() const
Gets Burst Duration parameter.
void setPeakBandDuration(int peakBandDuration)
Sets Peak Band Duration parameter.
const EFCPPolicySet * getEfcpPolicies() const
int getAvgBand() const
Gets Average Bandwidth parameter.
void setAvgSduBand(int avgSduBand)
Sets Average SDU Bandwidth parameter.
void setMaxSduSize(int maxSdUsize)
Sets Maximum SDU Size parameter.
EFCPPolicySet * efcpPolicies
Vector of bound default policies.
double getPduDropProbability() const
Gets PDU Dropping Probability parameter.
QoSCube()
Constructor of QoSCube with undefined values.
int burstDuration
Attribute holding burst durating as usec fraction of burst period.
bool windowFCOn
Attribute holding whether Window-based Flow Control is active.
int jitter
Attribute holding accepted jitter.
int getPeakBandDuration() const
Gets Peak Band Duration parameter.
const char * ELEM_FORCEORDER
void setEfcpPolicies(EFCPPolicySet *efcpPolicies)
int maxAllowGap
Attribute holding maximum allowd gap in SDUs.
const char * ELEM_UNDETECTBITERR
int getJitter() const
Gets Jitter parameter.
int maxSDUsize
Attribute holding maximum SDU size.
const char * ELEM_COSTBITS
double getCostBits() const
Gets Cost-bits parameter.
int peakBandDuration
Attribute holding peak bandwidth duration.
const std::string VAL_MGMTQOSID
void setBurstDuration(int burstDuration)
Sets Burst Duration parameter.
int getMaxSduSize() const
Gets Maximum SDU Size parameter.
double getUndetectedBitErr() const
Gets Undetected Bit Error Rate parameter.
double getATime() const
Gets A-Timer parameter.
void setUndetectedBitErr(double undetectedBitErr)
Sets Undetected Bit Error Rate parameter.
const std::string VAL_UNDEF_QOSID
bool init(cXMLElement *parent)
const char * ELEM_PEAKBWDUR
int peakSDUBandDuration
Attribute holding peak SDU bandwidth duration.
void setDelay(int delay)
Sets Delay parameter.
int getResiliencyFactor() const
Gets Resiliency Factor parameter.
void setATime(double aTime)
Sets A-Timer parameter.
void setJitter(int jitter)
Sets Jitter parameter.
bool isIncompleteDelivery() const
Gets incomplete delivery flag.
void setRateFcOn(bool rateFcOn)
int resiliencyFactor
Attribute holding resiliency information, see PRISTINE D4.3 for more.
const char * ELEM_INCOMPLETEDELIVER
const char * ELEM_COSTTIME
const int VAL_QOSPARDONOTCARE
int delay
Attribute holding accepted delay.
void setCostTime(double costTime)
Sets Cost-time parameter.
std::ostream & operator<<(std::ostream &os, const QoSCube &cube)
void setPduDropProbability(double pduDropProbability)
Sets PDU Dropping Probability parameter.
std::string info() const
Prints QoSCube information as string.
const char * ELEM_MAXALLOWGAP
int burstPeriod
Attribute holding burst period in usecs.
void setIncompleteDelivery(bool incompleteDeliv)
Sets incomplete delivery flag.
int costTime
Attribute holding connection's time price.
int avgSDUBand
Attribute holding average SDU bandwidth.
Class representing QoSCube with all its properties that is primarily used by FA, RMT and RA Specifica...
void setQosId(std::string qoSId)
Sets QoSCube identifier.
double getCostTime() const
Gets Cost-time parameter.
bool isPartialDelivery() const
Gets partial delivery flag.
bool isForceOrder() const
Gets in-order delivery flag.
void setForceOrder(bool forceOrder)
Sets in-order delivery flag.
std::string qoSId
Attribute holding QoSCube identifier. Beaware, value 0 is reserved for Flow QoS demands! ...
const char * ELEM_PEAKSDUBWDUR
std::string getQosId() const
Gets QoSCube identifier.
double undetectedBitErr
Attribute holding probability of undetected bit error rate.
bool rxOn
Attribute holding whether Retransmission Control is active.
const char * ELEM_RESILIENCYFACTOR
const char * ELEM_BURSTDURATION
void setWindowFcOn(bool windowFcOn)
const char * ELEM_PARTIALDELIVER
void setPeakSduBandDuration(int peakSduBandDuration)
Sets Peak SDU Duration parameter.
void setAvgBand(int avgBand)
Sets Average Bandwidth parameter.
bool isWindowFcOn() const
void setCostBits(double costBits)
Sets Cost-bits parameter.
double pduDropProbability
Attribute holding probability of dropping PDUs.
void setBurstPeriod(int burstPeriod)
Sets Burst Period parameter.
int getDelay() const
Gets Delay parameter.
const char * ELEM_BURSTPERIOD
int costBits
Attribute holding connection's transmission size price.
const char * STR_DONOTCARE
const char * ELEM_MAXSDUSIZE
bool partDeliv
Attribute holding partial delivery flag.
double aTime
Attribute holding A-Timer size in ms.
int getPeakSduBandDuration() const
Gets Peak SDU Duration parameter.
bool forceOrder
Attribute holding in-order delivery flag.
const char * ELEM_PDUDROPPROBAB
int getAvgSduBand() const
Gets Average SDU Bandwidth parameter.
bool rateFCOn
Attribute holding whether Rate-based Flow Control is active.
bool incompleteDeliv
Attribute holding incomplete delivery flag.
int getMaxAllowGap() const
Gets Maximum Allowable Gap in SDUs parameter.