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

Represents a Direct Sequence Spread Spectrum PHY mode as described in IEEE 802.11-2012 specification clause 16. More...

#include <Ieee80211DsssMode.h>

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

Public Member Functions

 Ieee80211DsssMode (const char *name, const Ieee80211DsssPreambleMode *preambleMode, const Ieee80211DsssHeaderMode *headerMode, const Ieee80211DsssDataMode *dataMode)
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual const IIeee80211PreambleModegetPreambleMode () const override
 
virtual const IIeee80211HeaderModegetHeaderMode () const override
 
virtual const IIeee80211DataModegetDataMode () const override
 
virtual Hz getChannelSpacing () const
 
virtual Hz getBandwidth () const
 
virtual const simtime_t getDuration (b dataLength) const override
 
virtual const simtime_t getSlotTime () const override
 
virtual const simtime_t getShortSlotTime () const
 
virtual const simtime_t getSifsTime () const override
 
virtual const simtime_t getRifsTime () const override
 
virtual const simtime_t getCcaTime () 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::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Protected Member Functions

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

Protected Attributes

const Ieee80211DsssPreambleModepreambleMode
 
const Ieee80211DsssHeaderModeheaderMode
 
const Ieee80211DsssDataModedataMode
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 

Detailed Description

Represents a Direct Sequence Spread Spectrum PHY mode as described in IEEE 802.11-2012 specification clause 16.

Constructor & Destructor Documentation

◆ Ieee80211DsssMode()

inet::physicallayer::Ieee80211DsssMode::Ieee80211DsssMode ( const char *  name,
const Ieee80211DsssPreambleMode preambleMode,
const Ieee80211DsssHeaderMode headerMode,
const Ieee80211DsssDataMode dataMode 
)
24  :
29 {
30 }

Member Function Documentation

◆ getBandwidth()

virtual Hz inet::physicallayer::Ieee80211DsssMode::getBandwidth ( ) const
inlinevirtual
101 { return MHz(22); }

◆ getCcaTime()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getCcaTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

110 { return 15E-6; }

◆ getChannelSpacing()

virtual Hz inet::physicallayer::Ieee80211DsssMode::getChannelSpacing ( ) const
inlinevirtual
100 { return MHz(5); }

◆ getDataMode()

virtual const IIeee80211DataMode* inet::physicallayer::Ieee80211DsssMode::getDataMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

98 { return dataMode; }

◆ getDuration()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getDuration ( b  dataLength) const
inlineoverridevirtual

◆ getHeaderMode()

virtual const IIeee80211HeaderMode* inet::physicallayer::Ieee80211DsssMode::getHeaderMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

97 { return headerMode; }

◆ getLegacyCwMax()

virtual int inet::physicallayer::Ieee80211DsssMode::getLegacyCwMax ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

89 { return 1023; }

◆ getLegacyCwMin()

virtual int inet::physicallayer::Ieee80211DsssMode::getLegacyCwMin ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

88 { return 31; }

◆ getMpduMaxLength()

virtual int inet::physicallayer::Ieee80211DsssMode::getMpduMaxLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

115 { return 8191; }

◆ getPhyRxStartDelay()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getPhyRxStartDelay ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

111 { return 192E-6; }

◆ getPlcpHeaderLength()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getPlcpHeaderLength ( ) const
inlineoverridevirtual

◆ getPreambleLength()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getPreambleLength ( ) const
inlineoverridevirtual

◆ getPreambleMode()

virtual const IIeee80211PreambleMode* inet::physicallayer::Ieee80211DsssMode::getPreambleMode ( ) const
inlineoverridevirtual

◆ getRifsTime()

const simtime_t inet::physicallayer::Ieee80211DsssMode::getRifsTime ( ) const
overridevirtual

Implements inet::physicallayer::IIeee80211Mode.

47 {
48  return -1;
49 }

◆ getRxTxTurnaroundTime()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getRxTxTurnaroundTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

112 { return 5E-6; }

◆ getShortSlotTime()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getShortSlotTime ( ) const
inlinevirtual
107 { return 9E-6; }

◆ getSifsTime()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getSifsTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

108 { return 10E-6; }

◆ getSlotTime()

virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getSlotTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

106 { return 20E-6; }

◆ printToStream()

virtual std::ostream& inet::physicallayer::Ieee80211DsssMode::printToStream ( std::ostream &  stream,
int  level,
int  evFlags = 0 
) const
inlineoverridevirtual

Prints this object to the provided output stream.

Reimplemented from inet::IPrintableObject.

94 { return stream << "Ieee80211DsssMode"; }

Member Data Documentation

◆ dataMode

const Ieee80211DsssDataMode* inet::physicallayer::Ieee80211DsssMode::dataMode
protected

◆ headerMode

const Ieee80211DsssHeaderMode* inet::physicallayer::Ieee80211DsssMode::headerMode
protected

◆ preambleMode

const Ieee80211DsssPreambleMode* inet::physicallayer::Ieee80211DsssMode::preambleMode
protected

The documentation for this class was generated from the following files:
inet::physicallayer::Ieee80211DsssDataMode::getDuration
virtual const simtime_t getDuration(b length) const override
Definition: Ieee80211DsssMode.cc:19
inet::physicallayer::Ieee80211DsssMode::preambleMode
const Ieee80211DsssPreambleMode * preambleMode
Definition: Ieee80211DsssMode.h:83
inet::physicallayer::Ieee80211DsssHeaderMode::getDuration
virtual const simtime_t getDuration() const override
Definition: Ieee80211DsssMode.h:52
inet::physicallayer::Ieee80211ModeBase::name
std::string name
Definition: Ieee80211ModeBase.h:19
inet::physicallayer::Ieee80211DsssMode::dataMode
const Ieee80211DsssDataMode * dataMode
Definition: Ieee80211DsssMode.h:85
inet::physicallayer::Ieee80211DsssPreambleMode::getDuration
virtual const simtime_t getDuration() const override
Definition: Ieee80211DsssMode.h:33
inet::physicallayer::Ieee80211DsssMode::headerMode
const Ieee80211DsssHeaderMode * headerMode
Definition: Ieee80211DsssMode.h:84
inet::physicallayer::Ieee80211ModeBase::Ieee80211ModeBase
Ieee80211ModeBase(const char *name)
Definition: Ieee80211ModeBase.h:22
inet::units::units::MHz
mega< Hz >::type MHz
Definition: Units.h:1083