#include <Ieee80211ModeSet.h>
inet::physicallayer::Ieee80211ModeSet::Ieee80211ModeSet |
( |
const char * |
name, |
|
|
const std::vector< Entry > |
entries |
|
) |
| |
156 std::vector<Entry> *nonConstEntries =
const_cast<std::vector<Entry> *
>(&this->
entries);
157 std::stable_sort(nonConstEntries->begin(), nonConstEntries->end(), EntryNetBitrateComparator());
158 auto referenceMode =
entries[0].mode;
160 auto mode = entry.mode;
161 if (mode->getSifsTime() != referenceMode->getSifsTime() ||
162 mode->getSlotTime() != referenceMode->getSlotTime() ||
163 mode->getPhyRxStartDelay() != referenceMode->getPhyRxStartDelay())
std::string name
Definition: Ieee80211ModeSet.h:43
const std::vector< Entry > entries
Definition: Ieee80211ModeSet.h:44
IIeee80211Mode* inet::physicallayer::Ieee80211ModeSet::_getFastestMandatoryMode |
( |
| ) |
const |
|
inline |
const IIeee80211Mode * getFastestMandatoryMode() const
Definition: Ieee80211ModeSet.cc:247
IIeee80211Mode* inet::physicallayer::Ieee80211ModeSet::_getFastestMode |
( |
| ) |
const |
|
inline |
const IIeee80211Mode * getFastestMode() const
Definition: Ieee80211ModeSet.cc:216
IIeee80211Mode* inet::physicallayer::Ieee80211ModeSet::_getSlowestMandatoryMode |
( |
| ) |
const |
|
inline |
const IIeee80211Mode * getSlowestMandatoryMode() const
Definition: Ieee80211ModeSet.cc:239
IIeee80211Mode* inet::physicallayer::Ieee80211ModeSet::_getSlowestMode |
( |
| ) |
const |
|
inline |
const IIeee80211Mode * getSlowestMode() const
Definition: Ieee80211ModeSet.cc:211
bool inet::physicallayer::Ieee80211ModeSet::containsMode |
( |
const IIeee80211Mode * |
mode | ) |
const |
|
inline |
const IIeee80211Mode * inet::physicallayer::Ieee80211ModeSet::findMode |
( |
bps |
bitrate | ) |
const |
int inet::physicallayer::Ieee80211ModeSet::findModeIndex |
( |
const IIeee80211Mode * |
mode | ) |
const |
|
protected |
const Ieee80211ModeSet * inet::physicallayer::Ieee80211ModeSet::findModeSet |
( |
const char * |
mode | ) |
|
|
static |
Referenced by getModeSet().
277 for (
int index = 0; index < (int)(&
modeSets)->size(); index++) {
279 if (strcmp(modeSet->getName(), mode) == 0)
static const DelayedInitializer< std::vector< Ieee80211ModeSet > > modeSets
Definition: Ieee80211ModeSet.h:47
Ieee80211ModeSet(const char *name, const std::vector< Entry > entries)
Definition: Ieee80211ModeSet.cc:152
int inet::physicallayer::Ieee80211ModeSet::getCwMax |
( |
| ) |
const |
|
inline |
int inet::physicallayer::Ieee80211ModeSet::getCwMin |
( |
| ) |
const |
|
inline |
269 for (
int i = index+1; i < (int)
entries.size(); i++)
int findModeIndex(const IIeee80211Mode *mode) const
Definition: Ieee80211ModeSet.cc:170
const std::vector< Entry > entries
Definition: Ieee80211ModeSet.h:44
const IIeee80211Mode * inet::physicallayer::Ieee80211ModeSet::getFastestMandatoryMode |
( |
| ) |
const |
const IIeee80211Mode * inet::physicallayer::Ieee80211ModeSet::getFastestMode |
( |
| ) |
const |
const std::vector< Entry > entries
Definition: Ieee80211ModeSet.h:44
bool inet::physicallayer::Ieee80211ModeSet::getIsMandatory |
( |
const IIeee80211Mode * |
mode | ) |
const |
const IIeee80211Mode * inet::physicallayer::Ieee80211ModeSet::getMode |
( |
bps |
bitrate | ) |
const |
int inet::physicallayer::Ieee80211ModeSet::getModeIndex |
( |
const IIeee80211Mode * |
mode | ) |
const |
|
protected |
Referenced by getIsMandatory().
182 throw cRuntimeError(
"Unknown mode");
int findModeIndex(const IIeee80211Mode *mode) const
Definition: Ieee80211ModeSet.cc:170
const Ieee80211ModeSet * inet::physicallayer::Ieee80211ModeSet::getModeSet |
( |
const char * |
mode | ) |
|
|
static |
const char* inet::physicallayer::Ieee80211ModeSet::getName |
( |
| ) |
const |
|
inlineoverride |
simtime_t inet::physicallayer::Ieee80211ModeSet::getPhyRxStartDelay |
( |
| ) |
const |
|
inline |
79 {
return entries[0].mode->getPhyRxStartDelay(); }
const std::vector< Entry > entries
Definition: Ieee80211ModeSet.h:44
simtime_t inet::physicallayer::Ieee80211ModeSet::getSifsTime |
( |
| ) |
const |
|
inline |
Referenced by inet::ieee80211::Dcaf::calculateTimingParameters(), inet::ieee80211::Edcaf::calculateTimingParameters(), inet::ieee80211::RecipientAckPolicy::computeAckDurationField(), inet::ieee80211::RecipientQoSAckPolicy::computeAckDurationField(), inet::ieee80211::RecipientQoSAckPolicy::computeBasicBlockAckDurationField(), inet::ieee80211::SingleProtectionMechanism::computeBlockAckReqDurationField(), inet::ieee80211::QoSCtsPolicy::computeCtsDurationField(), inet::ieee80211::CtsPolicy::computeCtsDurationField(), inet::ieee80211::OriginatorProtectionMechanism::computeDataFrameDurationField(), inet::ieee80211::SingleProtectionMechanism::computeDataOrMgmtFrameDurationField(), inet::ieee80211::OriginatorProtectionMechanism::computeMgmtFrameDurationField(), inet::ieee80211::OriginatorProtectionMechanism::computeRtsDurationField(), inet::ieee80211::SingleProtectionMechanism::computeRtsDurationField(), inet::ieee80211::OriginatorAckPolicy::getAckTimeout(), inet::ieee80211::OriginatorQoSAckPolicy::getAckTimeout(), inet::ieee80211::OriginatorQoSAckPolicy::getBlockAckTimeout(), inet::ieee80211::RtsPolicy::getCtsTimeout(), inet::ieee80211::QoSRtsPolicy::getCtsTimeout(), inet::ieee80211::FrameSequenceContext::getIfs(), inet::ieee80211::Dcf::transmitControlResponseFrame(), and inet::ieee80211::Hcf::transmitControlResponseFrame().
77 {
return entries[0].mode->getSifsTime(); }
const std::vector< Entry > entries
Definition: Ieee80211ModeSet.h:44
simtime_t inet::physicallayer::Ieee80211ModeSet::getSlotTime |
( |
| ) |
const |
|
inline |
const IIeee80211Mode * inet::physicallayer::Ieee80211ModeSet::getSlowestMandatoryMode |
( |
| ) |
const |
const IIeee80211Mode * inet::physicallayer::Ieee80211ModeSet::getSlowestMode |
( |
| ) |
const |
const std::vector< Entry > entries
Definition: Ieee80211ModeSet.h:44
virtual std::ostream& inet::physicallayer::Ieee80211ModeSet::printToStream |
( |
std::ostream & |
stream, |
|
|
int |
level |
|
) |
| const |
|
inlineoverridevirtual |
Prints this object to the provided output stream.
Function calls to operator<< with pointers or references either const or not are all forwarded to this function.
Reimplemented from inet::physicallayer::IPrintableObject.
56 {
return stream <<
"Ieee80211ModeSet, name = " <<
name; }
std::string name
Definition: Ieee80211ModeSet.h:43
const std::vector<Entry> inet::physicallayer::Ieee80211ModeSet::entries |
|
protected |
Referenced by findMode(), findModeIndex(), getFasterMandatoryMode(), getFasterMode(), getFastestMandatoryMode(), getFastestMode(), getIsMandatory(), getSlowerMandatoryMode(), getSlowerMode(), getSlowestMandatoryMode(), getSlowestMode(), and Ieee80211ModeSet().
std::string inet::physicallayer::Ieee80211ModeSet::name |
|
protected |
The documentation for this class was generated from the following files: