![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <lowerMAC/Manager.hpp>


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::CommandPool * | createReply (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::PhyUser * | getPhyUser () |
| 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 |
Definition at line 111 of file Manager.hpp.
| 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.
| 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] |
| 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] |
| void Manager::processOutgoing | ( | const wns::ldk::CompoundPtr & | compound | ) | [virtual] |
| 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.
Definition at line 264 of file Manager.hpp.
const wns::pyconfig::View wifimac::lowerMAC::Manager::config_ [private] |
Definition at line 242 of file Manager.hpp.
struct wifimac::lowerMAC::Manager::Friends wifimac::lowerMAC::Manager::friends [private] |
Definition at line 243 of file Manager.hpp.
const wns::simulator::Time wifimac::lowerMAC::Manager::maximumACKDuration [private] |
Definition at line 246 of file Manager.hpp.
const wns::simulator::Time wifimac::lowerMAC::Manager::msduLifetimeLimit [private] |
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.
const wns::simulator::Time wifimac::lowerMAC::Manager::sifsDuration [private] |
Definition at line 249 of file Manager.hpp.
const std::string wifimac::lowerMAC::Manager::ucName_ [private] |
Definition at line 255 of file Manager.hpp.
1.5.5