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

Represents a Frequency-Hopping Spread Spectrum PHY mode as described in IEEE 802.11-2012 specification clause 14. More...

#include <Ieee80211FHSSMode.h>

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

Public Member Functions

 Ieee80211FhssMode (const char *name, const Ieee80211FhssPreambleMode *preambleMode, const Ieee80211FhssHeaderMode *headerMode, const Ieee80211FhssDataMode *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 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 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 Ieee80211FhssPreambleMode * preambleMode
 
const Ieee80211FhssHeaderMode * headerMode
 
const Ieee80211FhssDataMode * 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 Frequency-Hopping Spread Spectrum PHY mode as described in IEEE 802.11-2012 specification clause 14.

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211FhssMode::Ieee80211FhssMode ( const char *  name,
const Ieee80211FhssPreambleMode *  preambleMode,
const Ieee80211FhssHeaderMode *  headerMode,
const Ieee80211FhssDataMode *  dataMode 
)
31  :
36 {
37 }
std::string name
Definition: Ieee80211ModeBase.h:29
Ieee80211ModeBase(const char *name)
Definition: Ieee80211ModeBase.h:31
const Ieee80211FhssPreambleMode * preambleMode
Definition: Ieee80211FHSSMode.h:81
const Ieee80211FhssHeaderMode * headerMode
Definition: Ieee80211FHSSMode.h:82
const Ieee80211FhssDataMode * dataMode
Definition: Ieee80211FHSSMode.h:83

Member Function Documentation

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

Implements inet::physicallayer::IIeee80211Mode.

104 { return 27E-6; }
virtual const IIeee80211DataMode* inet::physicallayer::Ieee80211FhssMode::getDataMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

96 { return dataMode; }
const Ieee80211FhssDataMode * dataMode
Definition: Ieee80211FHSSMode.h:83
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getDuration ( int  dataBitLength) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

98 { return preambleMode->getDuration() + headerMode->getDuration() + dataMode->getDuration(dataBitLength); }
virtual const simtime_t getDuration() const override
Definition: Ieee80211FHSSMode.h:54
const Ieee80211FhssPreambleMode * preambleMode
Definition: Ieee80211FHSSMode.h:81
const Ieee80211FhssHeaderMode * headerMode
Definition: Ieee80211FHSSMode.h:82
virtual const simtime_t getDuration() const override
Definition: Ieee80211FHSSMode.h:39
const Ieee80211FhssDataMode * dataMode
Definition: Ieee80211FHSSMode.h:83
virtual const simtime_t getDuration(int bitLength) const override
Definition: Ieee80211FHSSMode.h:69
virtual const IIeee80211HeaderMode* inet::physicallayer::Ieee80211FhssMode::getHeaderMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

95 { return headerMode; }
const Ieee80211FhssHeaderMode * headerMode
Definition: Ieee80211FHSSMode.h:82
virtual int inet::physicallayer::Ieee80211FhssMode::getLegacyCwMax ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

87 { return 1023; }
virtual int inet::physicallayer::Ieee80211FhssMode::getLegacyCwMin ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

86 { return 15; }
virtual int inet::physicallayer::Ieee80211FhssMode::getMpduMaxLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

109 { return 4095; }
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getPhyRxStartDelay ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

105 { return 128E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getPlcpHeaderLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

108 { return headerMode->getDuration(); }
virtual const simtime_t getDuration() const override
Definition: Ieee80211FHSSMode.h:54
const Ieee80211FhssHeaderMode * headerMode
Definition: Ieee80211FHSSMode.h:82
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getPreambleLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

107 { return preambleMode->getDuration(); }
const Ieee80211FhssPreambleMode * preambleMode
Definition: Ieee80211FHSSMode.h:81
virtual const simtime_t getDuration() const override
Definition: Ieee80211FHSSMode.h:39
virtual const IIeee80211PreambleMode* inet::physicallayer::Ieee80211FhssMode::getPreambleMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

94 { return preambleMode; }
const Ieee80211FhssPreambleMode * preambleMode
Definition: Ieee80211FHSSMode.h:81
const simtime_t inet::physicallayer::Ieee80211FhssMode::getRifsTime ( ) const
overridevirtual

Implements inet::physicallayer::IIeee80211Mode.

54 {
55  throw cRuntimeError("Undefined physical layer parameter");
56  return SIMTIME_ZERO;
57 }
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getRxTxTurnaroundTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

106 { return 20E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getSifsTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

102 { return 28E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211FhssMode::getSlotTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

101 { return 50E-6; }
virtual std::ostream& inet::physicallayer::Ieee80211FhssMode::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.

92 { return stream << "Ieee80211FhssMode"; }

Member Data Documentation

const Ieee80211FhssDataMode* inet::physicallayer::Ieee80211FhssMode::dataMode
protected
const Ieee80211FhssHeaderMode* inet::physicallayer::Ieee80211FhssMode::headerMode
protected
const Ieee80211FhssPreambleMode* inet::physicallayer::Ieee80211FhssMode::preambleMode
protected

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