EMANE  1.0.1
EMANE::Models::IEEE80211ABG Namespace Reference

Classes

struct  AccessCategory
 Defines an access category container. More...
 
class  BroadcastPostTxState
 class used to define the transitions for the mac broadcast post tx state More...
 
class  BroadcastPreTxState
 class used to define the transitions for the mac broadcast pre tx state More...
 
class  BroadcastTxState
 class used to define the transitions for the mac broadcast tx state More...
 
class  CollisionTable
 Defines a collision table based on contention window and number of neighbors. More...
 
struct  ConfigItems
 mac configuration items. More...
 
class  DownstreamQueue
 class used to define the mac downstream packet queue More...
 
struct  DownstreamQueueEntry
 structure defines the mac downstream packet queue entry More...
 
class  IdleTxState
 class used to define the transitions for the mac idle tx state More...
 
class  MACConfig
 class used to define the mac layer configuration items More...
 
class  MACHeaderMessage
 
class  MACHeaderParams
 high fidelity mac header. More...
 
class  MACHeaderParamsFormatter
 
class  MACLayer
 IEEE 80211 ABG MAC implementation. More...
 
class  MACStatistics
 class used to define the mac layer statistic items More...
 
class  ModeTimingParameters
 class used to define timing parameters More...
 
class  Neighbor2HopEntry
 Defines a 2 hop nbr and its bandwidth utilization. More...
 
class  NeighborEntry
 Defines a 1 hop nbr and its bandwidth utilization. More...
 
class  NeighborManager
 Defines the ieee 80211 abg 1 and 2 hop neighbor manager. More...
 
class  OneHopNeighborsEvent
 
class  PCRManager
 provides access to the pcr curves More...
 
struct  SequenceEntry
 structure used to define parameters to detect duplicate frames More...
 
class  TransmissionTxState
 base class used to define the transitions for the mac tx states More...
 
class  UnicastPostTxState
 class used to define the transitions for the mac unicast post tx state More...
 
class  UnicastPreTxState
 class used to define the transitions for the mac unicast pre tx state More...
 
class  UnicastRtsCtsPostTxState
 class used to define the transitions for the mac unicast rts cts post tx state More...
 
class  UnicastRtsCtsPreTxState
 class used to define the transitions for the mac unicast rts cts pre tx state More...
 
class  UnicastRtsCtsTxState
 class used to define the transitions for the mac unicast rts cts tx state More...
 
class  UnicastTxState
 class used to define the transitions for the mac unicast tx state More...
 
class  WMMManager
 Defines the WMM manager. More...
 

Typedefs

typedef std::queue< DownstreamQueueEntryIEEE80211abgDownstreamPacketQueue
 
using BroadcastPostTxStateSingleton = BroadcastPostTxState
 
using BroadcastPreTxStateSingleton = BroadcastPreTxState
 
using BroadcastTxStateSingleton = BroadcastTxState
 
using IdleTxStateSingleton = IdleTxState
 
typedef std::vector< float > CWRatioVector
 
typedef std::vector< CWRatioVectorCWRatioTable
 
using SequenceVector = std::vector< SequenceEntry >
 
using DuplicateMap = std::map< NEMId, SequenceVector >
 
typedef std::set< EMANE::NEMIdNbrSet
 
typedef NbrSet::iterator NbrSetIter
 
typedef NbrSet::const_iterator NbrSetConstIter
 
using UnicastPostTxStateSingleton = UnicastPostTxState
 
using UnicastPreTxStateSingleton = UnicastPreTxState
 
using UnicastRtsCtsPostTxStateSingleton = UnicastRtsCtsPostTxState
 
using UnicastRtsCtsPreTxStateSingleton = UnicastRtsCtsPreTxState
 
using UnicastRtsCtsTxStateSingleton = UnicastRtsCtsTxState
 
using UnicastTxStateSingleton = UnicastTxState
 

Enumerations

enum  MODULATION_TYPE { MODULATION_TYPE_DEFAULT = 0x0, MODULATION_TYPE_80211A = 0x1, MODULATION_TYPE_80211B = 0x2, MODULATION_TYPE_80211BG = 0x3 }
 
enum  NBR_TYPE { NBR_TYPE_INVALID = 0x00, NBR_TYPE_SELF = 0x01, NBR_TYPE_ONE_HOP = 0x02, NBR_TYPE_TWO_HOP = 0x04 }
 

Functions

std::pair< std::string, bool > configurationValidator (const ConfigurationUpdate &updates) noexcept
 
std::string nbrTypeToString (NBR_TYPE nbrType)
 
std::uint64_t FACTORIAL (int x)
 
Microseconds TimePointToMicroseconds (const TimePoint &tp)
 
float getRatio (const EMANE::Microseconds &d1, const EMANE::Microseconds d2)
 

Variables

const std::uint8_t MAX_ACCESS_CATEGORIES {4}
 
const std::uint8_t QUEUE_SIZE_DEFAULT {255}
 
const std::uint16_t MAX_PACKET_SIZE {0xFFFF}
 
const std::uint8_t MODULATION_TYPE_INDEX_MIN {0}
 
const std::uint8_t MODULATION_TYPE_INDEX_MAX {3}
 
const std::uint8_t MSG_TYPE_NONE {0x00}
 
const std::uint8_t MSG_TYPE_BROADCAST_DATA {0x01}
 
const std::uint8_t MSG_TYPE_UNICAST_DATA {0x02}
 
const std::uint8_t MSG_TYPE_UNICAST_RTS_CTS_DATA {0x04}
 
const std::uint8_t MSG_TYPE_UNICAST_CTS_CTRL {0x08}
 
const std::uint8_t MSG_TYPE_MASK_BROADCAST {0x01}
 
const std::uint8_t MSG_TYPE_MASK_UNICAST {0x02}
 
const std::uint8_t MSG_TYPE_MASK_ALL_DATA {0x07}
 
const std::uint8_t MSG_TYPE_MASK_ALL {0x0F}
 

Typedef Documentation

◆ BroadcastPostTxStateSingleton

◆ BroadcastPreTxStateSingleton

◆ BroadcastTxStateSingleton

◆ CWRatioTable

Definition at line 76 of file macconfig.h.

◆ CWRatioVector

typedef std::vector<float> EMANE::Models::IEEE80211ABG::CWRatioVector

Definition at line 75 of file macconfig.h.

◆ DuplicateMap

◆ IdleTxStateSingleton

◆ IEEE80211abgDownstreamPacketQueue

◆ NbrSet

Definition at line 47 of file neighbortype.h.

◆ NbrSetConstIter

typedef NbrSet::const_iterator EMANE::Models::IEEE80211ABG::NbrSetConstIter

Definition at line 49 of file neighbortype.h.

◆ NbrSetIter

typedef NbrSet::iterator EMANE::Models::IEEE80211ABG::NbrSetIter

Definition at line 48 of file neighbortype.h.

◆ SequenceVector

Definition at line 92 of file models/mac/ieee80211abg/maclayer.h.

◆ UnicastPostTxStateSingleton

◆ UnicastPreTxStateSingleton

◆ UnicastRtsCtsPostTxStateSingleton

◆ UnicastRtsCtsPreTxStateSingleton

◆ UnicastRtsCtsTxStateSingleton

◆ UnicastTxStateSingleton

Enumeration Type Documentation

◆ MODULATION_TYPE

Enumerator
MODULATION_TYPE_DEFAULT 
MODULATION_TYPE_80211A 
MODULATION_TYPE_80211B 
MODULATION_TYPE_80211BG 

Definition at line 55 of file macconfig.h.

◆ NBR_TYPE

Enumerator
NBR_TYPE_INVALID 
NBR_TYPE_SELF 
NBR_TYPE_ONE_HOP 
NBR_TYPE_TWO_HOP 

Definition at line 51 of file neighbortype.h.

Function Documentation

◆ configurationValidator()

std::pair< std::string, bool > EMANE::Models::IEEE80211ABG::configurationValidator ( const ConfigurationUpdate updates)
noexcept

Definition at line 38 of file configurationvalidator.cc.

◆ FACTORIAL()

std::uint64_t EMANE::Models::IEEE80211ABG::FACTORIAL ( int  x)
inline

Definition at line 47 of file utils.h.

◆ getRatio()

float EMANE::Models::IEEE80211ABG::getRatio ( const EMANE::Microseconds d1,
const EMANE::Microseconds  d2 
)
inline

Definition at line 65 of file utils.h.

◆ nbrTypeToString()

std::string EMANE::Models::IEEE80211ABG::nbrTypeToString ( NBR_TYPE  nbrType)
inline

Definition at line 36 of file neighbortype.inl.

◆ TimePointToMicroseconds()

Microseconds EMANE::Models::IEEE80211ABG::TimePointToMicroseconds ( const TimePoint tp)
inline

Definition at line 60 of file utils.h.

Variable Documentation

◆ MAX_ACCESS_CATEGORIES

const std::uint8_t EMANE::Models::IEEE80211ABG::MAX_ACCESS_CATEGORIES {4}

Definition at line 63 of file macconfig.h.

◆ MAX_PACKET_SIZE

const std::uint16_t EMANE::Models::IEEE80211ABG::MAX_PACKET_SIZE {0xFFFF}

Definition at line 68 of file macconfig.h.

◆ MODULATION_TYPE_INDEX_MAX

const std::uint8_t EMANE::Models::IEEE80211ABG::MODULATION_TYPE_INDEX_MAX {3}

Definition at line 72 of file macconfig.h.

◆ MODULATION_TYPE_INDEX_MIN

const std::uint8_t EMANE::Models::IEEE80211ABG::MODULATION_TYPE_INDEX_MIN {0}

Definition at line 71 of file macconfig.h.

◆ MSG_TYPE_BROADCAST_DATA

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_BROADCAST_DATA {0x01}

Definition at line 45 of file msgtypes.h.

◆ MSG_TYPE_MASK_ALL

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_MASK_ALL {0x0F}

Definition at line 53 of file msgtypes.h.

◆ MSG_TYPE_MASK_ALL_DATA

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_MASK_ALL_DATA {0x07}

Definition at line 52 of file msgtypes.h.

◆ MSG_TYPE_MASK_BROADCAST

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_MASK_BROADCAST {0x01}

Definition at line 50 of file msgtypes.h.

◆ MSG_TYPE_MASK_UNICAST

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_MASK_UNICAST {0x02}

Definition at line 51 of file msgtypes.h.

◆ MSG_TYPE_NONE

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_NONE {0x00}

Definition at line 44 of file msgtypes.h.

◆ MSG_TYPE_UNICAST_CTS_CTRL

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_UNICAST_CTS_CTRL {0x08}

Definition at line 48 of file msgtypes.h.

◆ MSG_TYPE_UNICAST_DATA

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_UNICAST_DATA {0x02}

Definition at line 46 of file msgtypes.h.

◆ MSG_TYPE_UNICAST_RTS_CTS_DATA

const std::uint8_t EMANE::Models::IEEE80211ABG::MSG_TYPE_UNICAST_RTS_CTS_DATA {0x04}

Definition at line 47 of file msgtypes.h.

◆ QUEUE_SIZE_DEFAULT

const std::uint8_t EMANE::Models::IEEE80211ABG::QUEUE_SIZE_DEFAULT {255}

Definition at line 65 of file macconfig.h.