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 IIeee80211PreambleMode * getPreambleMode () const override
 
virtual const IIeee80211HeaderMode * getHeaderMode () const override
 
virtual const IIeee80211DataMode * getDataMode () 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 Ieee80211HrDsssPreambleMode * preambleMode
 
const Ieee80211HrDsssHeaderMode * headerMode
 
const Ieee80211HrDsssDataMode * dataMode
 

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: