#include <mac_protocol.hpp>
Inheritance diagram for SlottedMac:

Public Types | |
|
typedef boost::shared_ptr< SlottedMac > | SlottedMacPtr |
| Smart pointer that clients should use. | |
Public Member Functions | |
| virtual | ~SlottedMac () |
| A destructor. | |
Protected Member Functions | |
| SlottedMac (NodePtr node) | |
| A constructor. | |
| virtual void | beginSlotEvent ()=0 |
| This function is called whenever a slot begins. | |
| void | setSlotTime (const SimTime &slotTime) |
| Set the time per slot. | |
| SimTime | getSlotTime () const |
| Get the time per slot. | |
| bool | inContentionCycle () const |
| Determine whether the node is currently engaged in a contention cycle. | |
| void | stopContentionCycle () |
| Stops a contention cycle by reseting the appropriate state variables to zero. | |
Protected Attributes | |
| TimerPtr | m_slotTimer |
| A timer for when each slot begins. | |
| t_uint | m_currentSlotNumber |
| The current slot number in the cycle. | |
| t_uint | m_txSlotNumber |
| This object's chosen transmission slot. | |
| t_uint | m_numberOfSlots |
| The number of slots in the current contention cycle. | |
| PacketPtr | m_packetToTransmit |
| A pointer to the packet to transmit in the chosen slot. | |
Static Protected Attributes | |
| static const double | m_DEFAULT_SLOT_TIME = 2.0e-3 |
| The default time per slot. | |
Friends | |
| class | SlottedMacSlotEvent |
Definition at line 182 of file mac_protocol.hpp.
| SimTime SlottedMac::getSlotTime | ( | ) | const [inline, protected] |
Get the time per slot.
Definition at line 237 of file mac_protocol.hpp.
Referenced by RfidTagMac::beginSlotEvent(), and RfidReaderMac::beginSlotEvent().
| bool SlottedMac::inContentionCycle | ( | ) | const [inline, protected] |
Determine whether the node is currently engaged in a contention cycle.
Definition at line 247 of file mac_protocol.hpp.
References m_currentSlotNumber, and m_numberOfSlots.
Referenced by RfidReaderMac::endRequestCycleEvent(), RfidTagMac::handleRecvdUpperLayerPacket(), and RfidTagMac::handleRequestPacket().
| void SlottedMac::setSlotTime | ( | const SimTime & | slotTime | ) | [inline, protected] |
Set the time per slot.
| slotTime | the new time per slot. |
Definition at line 228 of file mac_protocol.hpp.
Referenced by RfidReaderMac::RfidReaderMac(), and RfidTagMac::RfidTagMac().
t_uint SlottedMac::m_numberOfSlots [protected] |
The number of slots in the current contention cycle.
If m_currentSlotNumber < m_numberOfSlots, then the node is not currently engaged in a contention cycle.
Definition at line 208 of file mac_protocol.hpp.
Referenced by RfidTagMac::beginSlotEvent(), RfidReaderMac::beginSlotEvent(), RfidReaderMac::handlePacketSent(), RfidTagMac::handleRecvdUpperLayerPacket(), RfidTagMac::handleRequestPacket(), inContentionCycle(), RfidReaderMac::startNextContentionCycle(), and stopContentionCycle().
1.4.7