INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee80211HrDsssMode Class Reference

Represents a High Rate Direct Sequence Spread Spectrum PHY mode as described in the IEEE 802.11-2012 specification clause 17. More...

#include <Ieee80211HRDSSSMode.h>

Inheritance diagram for inet::physicallayer::Ieee80211HrDsssMode:
inet::physicallayer::Ieee80211ModeBase inet::physicallayer::IIeee80211Mode inet::physicallayer::IPrintableObject

Public Member Functions

 Ieee80211HrDsssMode (const char *name, const Ieee80211HrDsssPreambleMode *preambleMode, const Ieee80211HrDsssHeaderMode *headerMode, const Ieee80211HrDsssDataMode *dataMode)
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const override
 Prints this object to the provided output stream. More...
 
Hz getChannelSpacing () const
 
Hz getBandwidth () const
 
virtual const IIeee80211PreambleModegetPreambleMode () const override
 
virtual const IIeee80211HeaderModegetHeaderMode () const override
 
virtual const IIeee80211DataModegetDataMode () const override
 
virtual const simtime_t getDuration (int dataBitLength) const override
 
virtual const simtime_t getSlotTime () const override
 
virtual const simtime_t getSifsTime () const override
 
virtual const simtime_t getCcaTime () const override
 
virtual const simtime_t getRifsTime () const override
 
virtual const simtime_t getPhyRxStartDelay () const override
 
virtual const simtime_t getRxTxTurnaroundTime () const override
 
virtual const simtime_t getPreambleLength () const override
 
virtual const simtime_t getPlcpHeaderLength () const override
 
virtual int getMpduMaxLength () const override
 
- Public Member Functions inherited from inet::physicallayer::Ieee80211ModeBase
 Ieee80211ModeBase (const char *name)
 
virtual const char * getName () const override
 
- Public Member Functions inherited from inet::physicallayer::IIeee80211Mode
IIeee80211PreambleMode_getPreambleMode () const
 
IIeee80211HeaderMode_getHeaderMode () const
 
IIeee80211DataMode_getDataMode () const
 
- Public Member Functions inherited from inet::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string getInfoStringRepresentation () const
 
virtual std::string getDetailStringRepresentation () const
 
virtual std::string getDebugStringRepresentation () const
 
virtual std::string getTraceStringRepresentation () const
 
virtual std::string getCompleteStringRepresentation () const
 

Protected Member Functions

virtual int getLegacyCwMin () const override
 
virtual int getLegacyCwMax () const override
 

Protected Attributes

const Ieee80211HrDsssPreambleModepreambleMode
 
const Ieee80211HrDsssHeaderModeheaderMode
 
const Ieee80211HrDsssDataModedataMode
 

Additional Inherited Members

- Public Types inherited from inet::physicallayer::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 

Detailed Description

Represents a High Rate Direct Sequence Spread Spectrum PHY mode as described in the IEEE 802.11-2012 specification clause 17.

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211HrDsssMode::Ieee80211HrDsssMode ( const char *  name,
const Ieee80211HrDsssPreambleMode preambleMode,
const Ieee80211HrDsssHeaderMode headerMode,
const Ieee80211HrDsssDataMode dataMode 
)
44  :
49 {
50 }
std::string name
Definition: Ieee80211ModeBase.h:29
Ieee80211ModeBase(const char *name)
Definition: Ieee80211ModeBase.h:31
const Ieee80211HrDsssHeaderMode * headerMode
Definition: Ieee80211HRDSSSMode.h:98
const Ieee80211HrDsssPreambleMode * preambleMode
Definition: Ieee80211HRDSSSMode.h:97
const Ieee80211HrDsssDataMode * dataMode
Definition: Ieee80211HRDSSSMode.h:99

Member Function Documentation

Hz inet::physicallayer::Ieee80211HrDsssMode::getBandwidth ( ) const
inline
111 { return MHz(22); }
mega< Hz >::type MHz
Definition: Units.h:906
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getCcaTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

122 { return 15E-6; }
Hz inet::physicallayer::Ieee80211HrDsssMode::getChannelSpacing ( ) const
inline
110 { return MHz(5); }
mega< Hz >::type MHz
Definition: Units.h:906
virtual const IIeee80211DataMode* inet::physicallayer::Ieee80211HrDsssMode::getDataMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

115 { return dataMode; }
const Ieee80211HrDsssDataMode * dataMode
Definition: Ieee80211HRDSSSMode.h:99
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getDuration ( int  dataBitLength) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

117 { return preambleMode->getDuration() + headerMode->getDuration() + dataMode->getDuration(dataBitLength); }
virtual const simtime_t getDuration() const override
Definition: Ieee80211HRDSSSMode.h:50
virtual const simtime_t getDuration(int bitLength) const override
Definition: Ieee80211HRDSSSMode.cc:39
const Ieee80211HrDsssHeaderMode * headerMode
Definition: Ieee80211HRDSSSMode.h:98
const Ieee80211HrDsssPreambleMode * preambleMode
Definition: Ieee80211HRDSSSMode.h:97
virtual const simtime_t getDuration() const override
Definition: Ieee80211HRDSSSMode.h:70
const Ieee80211HrDsssDataMode * dataMode
Definition: Ieee80211HRDSSSMode.h:99
virtual const IIeee80211HeaderMode* inet::physicallayer::Ieee80211HrDsssMode::getHeaderMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

114 { return headerMode; }
const Ieee80211HrDsssHeaderMode * headerMode
Definition: Ieee80211HRDSSSMode.h:98
virtual int inet::physicallayer::Ieee80211HrDsssMode::getLegacyCwMax ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

103 { return 1023; }
virtual int inet::physicallayer::Ieee80211HrDsssMode::getLegacyCwMin ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

102 { return 31; }
virtual int inet::physicallayer::Ieee80211HrDsssMode::getMpduMaxLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

128 { return 4095; }
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getPhyRxStartDelay ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

124 { return preambleMode->getPreambleType() == IEEE80211_HRDSSS_PREAMBLE_TYPE_LONG ? 192E-6 : 96E-6; }
const Ieee80211HrDsssPreambleMode * preambleMode
Definition: Ieee80211HRDSSSMode.h:97
Ieee80211HrDsssPreambleType getPreambleType() const
Definition: Ieee80211HRDSSSMode.h:42
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getPlcpHeaderLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

127 { return headerMode->getDuration(); }
const Ieee80211HrDsssHeaderMode * headerMode
Definition: Ieee80211HRDSSSMode.h:98
virtual const simtime_t getDuration() const override
Definition: Ieee80211HRDSSSMode.h:70
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getPreambleLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

126 { return preambleMode->getDuration(); }
virtual const simtime_t getDuration() const override
Definition: Ieee80211HRDSSSMode.h:50
const Ieee80211HrDsssPreambleMode * preambleMode
Definition: Ieee80211HRDSSSMode.h:97
virtual const IIeee80211PreambleMode* inet::physicallayer::Ieee80211HrDsssMode::getPreambleMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

113 { return preambleMode; }
const Ieee80211HrDsssPreambleMode * preambleMode
Definition: Ieee80211HRDSSSMode.h:97
const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getRifsTime ( ) const
overridevirtual

Implements inet::physicallayer::IIeee80211Mode.

88 {
89  throw cRuntimeError("Undefined physical layer parameter");
90  return SIMTIME_ZERO;
91 }
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getRxTxTurnaroundTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

125 { return 5E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getSifsTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

121 { return 10E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211HrDsssMode::getSlotTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

120 { return 20E-6; }
virtual std::ostream& inet::physicallayer::Ieee80211HrDsssMode::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.

108 { return stream << "Ieee80211HrDsssMode"; }

Member Data Documentation

const Ieee80211HrDsssDataMode* inet::physicallayer::Ieee80211HrDsssMode::dataMode
protected
const Ieee80211HrDsssHeaderMode* inet::physicallayer::Ieee80211HrDsssMode::headerMode
protected
const Ieee80211HrDsssPreambleMode* inet::physicallayer::Ieee80211HrDsssMode::preambleMode
protected

The documentation for this class was generated from the following files: