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::physicallayer::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) const override
 Prints this object to the provided output stream. More...
 
virtual const IIeee80211PreambleMode * getPreambleMode () const override
 
virtual const IIeee80211HeaderMode * getHeaderMode () const override
 
virtual const IIeee80211DataMode * getDataMode () const override
 
virtual Hz getChannelSpacing () const
 
virtual Hz getBandwidth () const
 
virtual const simtime_t getDuration (int dataBitLength) 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::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 Ieee80211DsssPreambleMode * preambleMode
 
const Ieee80211DsssHeaderMode * headerMode
 
const Ieee80211DsssDataMode * 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 Direct Sequence Spread Spectrum PHY mode as described in IEEE 802.11-2012 specification clause 16.

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211DsssMode::Ieee80211DsssMode ( const char *  name,
const Ieee80211DsssPreambleMode *  preambleMode,
const Ieee80211DsssHeaderMode *  headerMode,
const Ieee80211DsssDataMode *  dataMode 
)
34  :
39 {
40 }
std::string name
Definition: Ieee80211ModeBase.h:29
Ieee80211ModeBase(const char *name)
Definition: Ieee80211ModeBase.h:31
const Ieee80211DsssHeaderMode * headerMode
Definition: Ieee80211DSSSMode.h:89
const Ieee80211DsssDataMode * dataMode
Definition: Ieee80211DSSSMode.h:90
const Ieee80211DsssPreambleMode * preambleMode
Definition: Ieee80211DSSSMode.h:88

Member Function Documentation

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

Implements inet::physicallayer::IIeee80211Mode.

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

Implements inet::physicallayer::IIeee80211Mode.

103 { return dataMode; }
const Ieee80211DsssDataMode * dataMode
Definition: Ieee80211DSSSMode.h:90
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getDuration ( int  dataBitLength) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

108 { return preambleMode->getDuration() + headerMode->getDuration() + dataMode->getDuration(dataBitLength); }
const Ieee80211DsssHeaderMode * headerMode
Definition: Ieee80211DSSSMode.h:89
virtual const simtime_t getDuration() const override
Definition: Ieee80211DSSSMode.h:61
virtual const simtime_t getDuration() const override
Definition: Ieee80211DSSSMode.h:44
virtual const simtime_t getDuration(int bitLength) const override
Definition: Ieee80211DSSSMode.cc:29
const Ieee80211DsssDataMode * dataMode
Definition: Ieee80211DSSSMode.h:90
const Ieee80211DsssPreambleMode * preambleMode
Definition: Ieee80211DSSSMode.h:88
virtual const IIeee80211HeaderMode* inet::physicallayer::Ieee80211DsssMode::getHeaderMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

102 { return headerMode; }
const Ieee80211DsssHeaderMode * headerMode
Definition: Ieee80211DSSSMode.h:89
virtual int inet::physicallayer::Ieee80211DsssMode::getLegacyCwMax ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

94 { return 1023; }
virtual int inet::physicallayer::Ieee80211DsssMode::getLegacyCwMin ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

93 { return 31; }
virtual int inet::physicallayer::Ieee80211DsssMode::getMpduMaxLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

120 { return 8191; }
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getPhyRxStartDelay ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

116 { return 192E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getPlcpHeaderLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

119 { return headerMode->getDuration(); }
const Ieee80211DsssHeaderMode * headerMode
Definition: Ieee80211DSSSMode.h:89
virtual const simtime_t getDuration() const override
Definition: Ieee80211DSSSMode.h:61
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getPreambleLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

118 { return preambleMode->getDuration(); }
virtual const simtime_t getDuration() const override
Definition: Ieee80211DSSSMode.h:44
const Ieee80211DsssPreambleMode * preambleMode
Definition: Ieee80211DSSSMode.h:88
virtual const IIeee80211PreambleMode* inet::physicallayer::Ieee80211DsssMode::getPreambleMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

101 { return preambleMode; }
const Ieee80211DsssPreambleMode * preambleMode
Definition: Ieee80211DSSSMode.h:88
const simtime_t inet::physicallayer::Ieee80211DsssMode::getRifsTime ( ) const
overridevirtual

Implements inet::physicallayer::IIeee80211Mode.

57 {
58  throw cRuntimeError("Undefined physical layer parameter");
59  return SIMTIME_ZERO;
60 
61 }
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getRxTxTurnaroundTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

117 { return 5E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getShortSlotTime ( ) const
inlinevirtual
112 { return 9E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211DsssMode::getSifsTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

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

Implements inet::physicallayer::IIeee80211Mode.

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

99 { return stream << "Ieee80211DsssMode"; }

Member Data Documentation

const Ieee80211DsssDataMode* inet::physicallayer::Ieee80211DsssMode::dataMode
protected
const Ieee80211DsssHeaderMode* inet::physicallayer::Ieee80211DsssMode::headerMode
protected
const Ieee80211DsssPreambleMode* inet::physicallayer::Ieee80211DsssMode::preambleMode
protected

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