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

Represents an Infrared PHY mode as described in IEEE 802.11-2012 specification clause 15. More...

#include <Ieee80211IRMode.h>

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

Public Member Functions

 Ieee80211IrMode (const char *name, const Ieee80211IrPreambleMode *preambleMode, const Ieee80211IrHeaderMode *headerMode, const Ieee80211IrDataMode *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 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 Ieee80211IrPreambleMode * preambleMode
 
const Ieee80211IrHeaderMode * headerMode
 
const Ieee80211IrDataMode * 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 an Infrared PHY mode as described in IEEE 802.11-2012 specification clause 15.

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211IrMode::Ieee80211IrMode ( const char *  name,
const Ieee80211IrPreambleMode *  preambleMode,
const Ieee80211IrHeaderMode *  headerMode,
const Ieee80211IrDataMode *  dataMode 
)
41  :
46 {
47 }
std::string name
Definition: Ieee80211ModeBase.h:29
Ieee80211ModeBase(const char *name)
Definition: Ieee80211ModeBase.h:31
const Ieee80211IrHeaderMode * headerMode
Definition: Ieee80211IRMode.h:90
const Ieee80211IrPreambleMode * preambleMode
Definition: Ieee80211IRMode.h:89
const Ieee80211IrDataMode * dataMode
Definition: Ieee80211IRMode.h:91

Member Function Documentation

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

Implements inet::physicallayer::IIeee80211Mode.

111 { return 5E-6; }
virtual const IIeee80211DataMode* inet::physicallayer::Ieee80211IrMode::getDataMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

104 { return dataMode; }
const Ieee80211IrDataMode * dataMode
Definition: Ieee80211IRMode.h:91
virtual const simtime_t inet::physicallayer::Ieee80211IrMode::getDuration ( int  dataBitLength) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

106 { return preambleMode->getDuration() + headerMode->getDuration() + dataMode->getDuration(dataBitLength); }
const Ieee80211IrHeaderMode * headerMode
Definition: Ieee80211IRMode.h:90
virtual const simtime_t getDuration(int bitLength) const override
Definition: Ieee80211IRMode.h:77
virtual const simtime_t getDuration() const override
Definition: Ieee80211IRMode.h:41
const Ieee80211IrPreambleMode * preambleMode
Definition: Ieee80211IRMode.h:89
const Ieee80211IrDataMode * dataMode
Definition: Ieee80211IRMode.h:91
virtual const simtime_t getDuration() const override
Definition: Ieee80211IRMode.h:62
virtual const IIeee80211HeaderMode* inet::physicallayer::Ieee80211IrMode::getHeaderMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

103 { return headerMode; }
const Ieee80211IrHeaderMode * headerMode
Definition: Ieee80211IRMode.h:90
virtual int inet::physicallayer::Ieee80211IrMode::getLegacyCwMax ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

95 { return 1023; }
virtual int inet::physicallayer::Ieee80211IrMode::getLegacyCwMin ( ) const
inlineoverrideprotectedvirtual

Implements inet::physicallayer::IIeee80211Mode.

94 { return 63; }
virtual int inet::physicallayer::Ieee80211IrMode::getMpduMaxLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

117 { return 2500; }
virtual const simtime_t inet::physicallayer::Ieee80211IrMode::getPhyRxStartDelay ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

113 { return 57E-6; }
virtual const simtime_t inet::physicallayer::Ieee80211IrMode::getPlcpHeaderLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

116 { return headerMode->getDuration(); }
const Ieee80211IrHeaderMode * headerMode
Definition: Ieee80211IRMode.h:90
virtual const simtime_t getDuration() const override
Definition: Ieee80211IRMode.h:62
virtual const simtime_t inet::physicallayer::Ieee80211IrMode::getPreambleLength ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

115 { return preambleMode->getDuration(); }
virtual const simtime_t getDuration() const override
Definition: Ieee80211IRMode.h:41
const Ieee80211IrPreambleMode * preambleMode
Definition: Ieee80211IRMode.h:89
virtual const IIeee80211PreambleMode* inet::physicallayer::Ieee80211IrMode::getPreambleMode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

102 { return preambleMode; }
const Ieee80211IrPreambleMode * preambleMode
Definition: Ieee80211IRMode.h:89
const simtime_t inet::physicallayer::Ieee80211IrMode::getRifsTime ( ) const
overridevirtual

Implements inet::physicallayer::IIeee80211Mode.

65 {
66  throw cRuntimeError("Undefined physical layer parameter");
67  return SIMTIME_ZERO;
68 }
virtual const simtime_t inet::physicallayer::Ieee80211IrMode::getRxTxTurnaroundTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

114 { return 0; }
virtual const simtime_t inet::physicallayer::Ieee80211IrMode::getSifsTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Mode.

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

Implements inet::physicallayer::IIeee80211Mode.

109 { return 8E-6; }
virtual std::ostream& inet::physicallayer::Ieee80211IrMode::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.

100 { return stream << "Ieee80211IrMode"; }

Member Data Documentation

const Ieee80211IrDataMode* inet::physicallayer::Ieee80211IrMode::dataMode
protected
const Ieee80211IrHeaderMode* inet::physicallayer::Ieee80211IrMode::headerMode
protected
const Ieee80211IrPreambleMode* inet::physicallayer::Ieee80211IrMode::preambleMode
protected

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