40 partDeliv(false), incompleteDeliv(false), forceOrder(false),
47 int tpeakSDUBandDuration,
int tburstPeriod,
int tburstDuration,
48 double tundetectedBitErr,
double tpduDropProbab,
int tmaxSDUsize,
49 bool tpartDeliv,
bool tincompleteDeliv,
bool tforceOrder,
50 unsigned int tmaxAllowGap,
int tdelay,
int tjitter,
int tcostTime,
71 if (undetectedBitErr < 0 || undetectedBitErr > 1 )
74 if (pduDropProbability < 0 || pduDropProbability > 1 )
102 partDeliv(false), incompleteDeliv(false), forceOrder(false),
106 for (cXMLElementList::iterator jt = attrs.begin(); jt != attrs.end(); ++jt) {
107 cXMLElement* n = *jt;
141 if (undetectedBitErr < 0 || undetectedBitErr > 1 )
146 if (pduDropProbability < 0 || pduDropProbability > 1 )
168 else if (!strcmp(n->getTagName(),
ELEM_DELAY)) {
350 return os << qosreq.
info();
369 std::ostringstream os;
371 os <<
"QoS Requirements List>";
373 os <<
"\n average BW = ";
379 os <<
", average SDU BW = ";
385 os <<
"\n peak BW duration = ";
391 os <<
", peak SDU BW duration = ";
397 os <<
"\n burst period = ";
403 os <<
", burst duration = ";
409 os <<
"\n undetect. bit errors = ";
415 os <<
", PDU dropping probability = ";
421 os <<
"\n max SDU Size = ";
433 os <<
"\n max allowed gap = ";
451 os <<
"\n cost-time = ";
457 os <<
", cost-bits = ";
463 os <<
"\n resiliency factor = ";
double getUndetectedBitErr() const
Gets Undetected Bit Error Rate parameter.
int delay
Attribute holding accepted delay.
const bool VAL_QOSPARDEFBOOL
const char * ELEM_AVGSDUBW
void setMaxAllowGap(int maxAllowGap)
Sets Maximum Allowable Gap in SDUs parameter.
void setJitter(int jitter)
Sets Jitter parameter.
int maxAllowGap
Attribute holding maximum allowd gap in SDUs.
void setUndetectedBitErr(double undetectedBitErr)
Sets Undetected Bit Error Rate parameter.
void setMaxSduSize(int maxSdUsize)
Sets Maximum SDU Size parameter.
const char * ELEM_FORCEORDER
const char * ELEM_UNDETECTBITERR
int maxSDUsize
Attribute holding maximum SDU size.
int costBits
Attribute holding connection's transmission size price.
int jitter
Attribute holding accepted jitter.
void setDelay(int delay)
Sets Delay parameter.
const char * ELEM_COSTBITS
bool isForceOrder() const
Gets in-order delivery flag.
void setIncompleteDelivery(bool incompleteDeliv)
Sets incomplete delivery flag.
QoSReq()
Constructor of QoSReq with undefined values.
void setPeakBandDuration(int peakBandDuration)
Sets Peak Band Duration parameter.
double getPduDropProbability() const
Gets PDU Dropping Probability parameter.
void setAvgBand(int avgBand)
Sets Average Bandwidth parameter.
void setPartialDelivery(bool partDeliv)
Sets partial delivery flag.
double undetectedBitErr
Attribute holding probability of undetected bit error rate.
int costTime
Attribute holding connection's time price.
int avgSDUBand
Attribute holding average SDU bandwidth.
void setBurstDuration(int burstDuration)
Sets Burst Duration parameter.
const char * ELEM_PEAKBWDUR
void setBurstPeriod(int burstPeriod)
Sets Burst Period parameter.
int getMaxSduSize() const
Gets Maximum SDU Size parameter.
int burstDuration
Attribute holding burst durating as usec fraction of burst period.
virtual ~QoSReq()
Destructor assigning default uninitialized values.
bool partDeliv
Attribute holding partial delivery flag.
int peakSDUBandDuration
Attribute holding peak SDU bandwidth duration.
double pduDropProbability
Attribute holding probability of dropping PDUs.
void setCostTime(double costTime)
Sets Cost-time parameter.
void setAvgSduBand(int avgSduBand)
Sets Average SDU Bandwidth parameter.
const char * ELEM_INCOMPLETEDELIVER
const char * ELEM_COSTTIME
std::string info() const
Prints QoSReq information as string.
int burstPeriod
Attribute holding burst period in usecs.
const int VAL_QOSPARDONOTCARE
int getPeakSduBandDuration() const
Gets Peak SDU Duration parameter.
void setPduDropProbability(double pduDropProbability)
Sets PDU Dropping Probability parameter.
int getMaxAllowGap() const
Gets Maximum Allowable Gap in SDUs parameter.
const char * ELEM_MAXALLOWGAP
int getDelay() const
Gets Delay parameter.
bool isPartialDelivery() const
Gets partial delivery flag.
int getJitter() const
Gets Jitter parameter.
std::ostream & operator<<(std::ostream &os, const QoSReq &qosreq)
const char * ELEM_PEAKSDUBWDUR
bool forceOrder
Attribute holding in-order delivery flag.
double getCostTime() const
Gets Cost-time parameter.
const char * ELEM_BURSTDURATION
const char * ELEM_PARTIALDELIVER
Class representing QoSReq with all its properties that is primarily used by FA, RMT and RA Specificat...
bool compare(const QoSReq &other) const
int getPeakBandDuration() const
Gets Peak Band Duration parameter.
double getCostBits() const
Gets Cost-bits parameter.
bool incompleteDeliv
Attribute holding incomplete delivery flag.
void setForceOrder(bool forceOrder)
Sets in-order delivery flag.
int getAvgBand() const
Gets Average Bandwidth parameter.
const char * STR_REQDONOTCARE
const char * ELEM_BURSTPERIOD
int avgBand
Attribute holding average bandwidth.
const char * STR_DONOTCARE
const char * ELEM_MAXSDUSIZE
void setPeakSduBandDuration(int peakSduBandDuration)
Sets Peak SDU Duration parameter.
int getBurstDuration() const
Gets Burst Duration parameter.
const char * ELEM_PDUDROPPROBAB
int getAvgSduBand() const
Gets Average SDU Bandwidth parameter.
int getResiliencyFactor() const
Gets Resiliency Factor parameter.
int peakBandDuration
Attribute holding peak bandwidth duration.
int getBurstPeriod() const
Gets Burst Period parameter.
bool isIncompleteDelivery() const
Gets incomplete delivery flag.
static const QoSReq MANAGEMENT
void setCostBits(double costBits)
Sets Cost-bits parameter.