User Manual, Developers Guide and API Documentation

wifimac::lowerMAC::Manager Class Reference

Management Entity for a single IEEE 802.11 transceiver, i.e. the lower MAC. More...

#include <lowerMAC/Manager.hpp>

Inheritance diagram for wifimac::lowerMAC::Manager:

Inheritance graph
[legend]
Collaboration diagram for wifimac::lowerMAC::Manager:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void associateWith (wns::service::dll::UnicastAddress svrAddress)
 Start association of a STA to the AP with svrAddress.
wns::ldk::CompoundPtr createCompound (const wns::service::dll::UnicastAddress transmitterAddress, const wns::service::dll::UnicastAddress receiverAddress, const FrameType type, const wns::simulator::Time frameExchangeDuration, const wns::simulator::Time replyTimeout=0.0)
 Helper function for all FUs in this transceiver to create a new compound with given addresses, type, duration.
wns::ldk::CommandPoolcreateReply (const wns::ldk::CommandPool *original) const
 Create-reply function.
wns::service::dll::UnicastAddress getAssociatedTo () const
 Returns the address of the AP to which the STA is associated.
wns::simulator::Time getExpirationTime (const wns::ldk::CommandPool *commandPool) const
 Returns the expiration time of the msdu.
wns::simulator::Time getFrameExchangeDuration (const wns::ldk::CommandPool *commandPool) const
 Get the frame exchange duration.
wifimac::FrameType getFrameType (const wns::ldk::CommandPool *commandPool) const
 Get the frame type.
wns::service::dll::UnicastAddress getMACAddress () const
 Returns the MAC address is this transceiver. Do not use the similar function from the dll::UpperConvergence - this will give you the MAC address of the complete Layer2.
unsigned int getNumAntennas () const
 Return the number of antennas used for MIMO transmissions.
wifimac::convergence::PhyMode getPhyMode (const wns::ldk::CommandPool *commandPool) const
 Get the PhyMode.
wifimac::convergence::PhyUsergetPhyUser ()
 Returns the phyUser.
wns::service::dll::UnicastAddress getReceiverAddress (const wns::ldk::CommandPool *commandPool) const
 Getter for the receiver address of the compound.
wns::simulator::Time getReplyTimeout (const wns::ldk::CommandPool *commandPool) const
 Get the "requires direct reply" flag.
dll::ILayer2::StationType getStationType () const
 Access the stationType.
wns::service::dll::UnicastAddress getTransmitterAddress (const wns::ldk::CommandPool *commandPool) const
 Getter for the transmitter address of the compound.
bool isForMe (const wns::ldk::CommandPool *commandPool) const
 True if a received frame is intended for me.
bool lifetimeExpired (const wns::ldk::CommandPool *commandPool) const
 Returns if the lifetime limit of the given msdu is expired.
 Manager (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
void processIncoming (const wns::ldk::CompoundPtr &compound)
 Process incoming compounds: Do Nothing at all.
void processOutgoing (const wns::ldk::CompoundPtr &compound)
 Process outgoing compounds: Activate command, set type to DATA and frame exchange duration to SIFS+ACK.
void setFrameExchangeDuration (const wns::ldk::CommandPool *commandPool, const wns::simulator::Time duration)
 Set the frame exchange duration.
void setFrameType (const wns::ldk::CommandPool *commandPool, const FrameType type)
 Set the frame type.
void setPhyMode (const wns::ldk::CommandPool *commandPool, const wifimac::convergence::PhyMode phyMode)
 Set the PhyMode using wifimac::convergence::PhyMode.
void setReplyTimeout (const wns::ldk::CommandPool *commandPool, wns::simulator::Time replyTimeout)
 Set the "requires direct reply" flag.
virtual ~Manager ()

Private Member Functions

virtual void onFUNCreated ()
 Resolve inter-FU dependencies.

Private Attributes

wns::service::dll::UnicastAddress associatedTo
 In case of a STA, the AP to which the STA is associated.
const wns::pyconfig::View config_
struct
wifimac::lowerMAC::Manager::Friends 
friends
wns::logger::Logger logger_
const wns::simulator::Time maximumACKDuration
 Expected duration of an ACK frame.
const wns::simulator::Time msduLifetimeLimit
 Lifetime limit of MSDUs.
const
wns::service::dll::UnicastAddress 
myMACAddress_
 my MAC address, as given by the upper convergence
const unsigned int numAntennas
 Number of antennas of the receiver.
const wns::simulator::Time sifsDuration
 Short Interframce Space duration.
const std::string ucName_
 Name of the upper convergence.

Classes

struct  Friends


Detailed Description

Here, all management information related to a single IEEE 802.11 transceiver is stored and accessible for

Definition at line 111 of file Manager.hpp.


Constructor & Destructor Documentation

Manager::Manager ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config 
)

Definition at line 47 of file Manager.cpp.

Manager::~Manager (  )  [virtual]

Definition at line 64 of file Manager.cpp.


Member Function Documentation

void Manager::associateWith ( wns::service::dll::UnicastAddress  svrAddress  ) 

Definition at line 190 of file Manager.cpp.

wns::ldk::CompoundPtr Manager::createCompound ( const wns::service::dll::UnicastAddress  transmitterAddress,
const wns::service::dll::UnicastAddress  receiverAddress,
const FrameType  type,
const wns::simulator::Time  frameExchangeDuration,
const wns::simulator::Time  replyTimeout = 0.0 
)

Definition at line 272 of file Manager.cpp.

wns::ldk::CommandPool * Manager::createReply ( const wns::ldk::CommandPool original  )  const [virtual]

Implements wns::ldk::CommandTypeSpecifierInterface.

Definition at line 211 of file Manager.cpp.

wns::service::dll::UnicastAddress Manager::getAssociatedTo (  )  const

Definition at line 205 of file Manager.cpp.

wns::simulator::Time Manager::getExpirationTime ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 158 of file Manager.cpp.

wns::simulator::Time Manager::getFrameExchangeDuration ( const wns::ldk::CommandPool commandPool  )  const

The frame exchange duration denotes the expected duration of the complete frame exchange, starting from the successful reception of the compound where this duration is stored. E.g. an RTS contains the sum of SIFS, CTS, SIFS, DATA, ACK. Nodes overhearing this duration will set their NAV accordingly.

The frame exchange duration is also used for the duration field in the preamble

Definition at line 310 of file Manager.cpp.

wifimac::FrameType Manager::getFrameType ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 266 of file Manager.cpp.

wns::service::dll::UnicastAddress Manager::getMACAddress (  )  const

Definition at line 184 of file Manager.cpp.

unsigned int Manager::getNumAntennas (  )  const

Definition at line 334 of file Manager.cpp.

wimemac::convergence::PhyMode Manager::getPhyMode ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 298 of file Manager.cpp.

wimemac::convergence::PhyUser * Manager::getPhyUser (  ) 

Definition at line 164 of file Manager.cpp.

wns::service::dll::UnicastAddress Manager::getReceiverAddress ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 246 of file Manager.cpp.

wns::simulator::Time Manager::getReplyTimeout ( const wns::ldk::CommandPool commandPool  )  const

If a compound requires a direct (i.e. after a short, constant duration) reply, this bit is set. The receiving node must stop all other transmission attempts and generate the accorind reply.

An examples is the RTS (requires a CTS after SIFS)

Definition at line 322 of file Manager.cpp.

dll::Layer2::StationType Manager::getStationType (  )  const

Definition at line 177 of file Manager.cpp.

wns::service::dll::UnicastAddress Manager::getTransmitterAddress ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 240 of file Manager.cpp.

bool Manager::isForMe ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 252 of file Manager.cpp.

bool Manager::lifetimeExpired ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 144 of file Manager.cpp.

void Manager::onFUNCreated (  )  [private, virtual]

Often FunctionalUnits require the collaboration with other FunctionalUnits to accomplish their task. For the collaboration between FunctionalUnits we coined the term "friendship".

The onFUNCreated method is a hook being called after the complete FUN has been set up. FunctionalUnits requiring the collaboration with other FunctionalUnits should resolve these dependencies by implementing this hook accordingly.

Finding friends is usually done calling wns::ldk::fun::FUN::findFriend.

When building reconfigurable FUNs, this method may get called multiple times (e.g., after each FUN reconfiguration). Keep that in mind when allocating resources in your onFUNCreated implementation.

Reimplemented from wns::ldk::FunctionalUnit.

Definition at line 70 of file Manager.cpp.

void Manager::processIncoming ( const wns::ldk::CompoundPtr compound  )  [virtual]

Implements wns::ldk::ProcessorInterface.

Definition at line 110 of file Manager.cpp.

void Manager::processOutgoing ( const wns::ldk::CompoundPtr compound  )  [virtual]

Implements wns::ldk::ProcessorInterface.

Definition at line 116 of file Manager.cpp.

void Manager::setFrameExchangeDuration ( const wns::ldk::CommandPool commandPool,
const wns::simulator::Time  duration 
)

Definition at line 316 of file Manager.cpp.

void Manager::setFrameType ( const wns::ldk::CommandPool commandPool,
const FrameType  type 
)

Definition at line 292 of file Manager.cpp.

void Manager::setPhyMode ( const wns::ldk::CommandPool commandPool,
const wifimac::convergence::PhyMode  phyMode 
)

Definition at line 304 of file Manager.cpp.

void Manager::setReplyTimeout ( const wns::ldk::CommandPool commandPool,
wns::simulator::Time  replyTimeout 
)

Definition at line 328 of file Manager.cpp.


Member Data Documentation

Definition at line 264 of file Manager.hpp.

Definition at line 242 of file Manager.hpp.

Definition at line 243 of file Manager.hpp.

Definition at line 246 of file Manager.hpp.

Definition at line 261 of file Manager.hpp.

Definition at line 252 of file Manager.hpp.

const unsigned int wifimac::lowerMAC::Manager::numAntennas [private]

Definition at line 258 of file Manager.hpp.

Definition at line 249 of file Manager.hpp.

const std::string wifimac::lowerMAC::Manager::ucName_ [private]

Definition at line 255 of file Manager.hpp.


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

Generated on Sat May 26 03:32:42 2012 for openWNS by  doxygen 1.5.5