23 #ifndef LR_WPAN_CSMACA_H    24 #define LR_WPAN_CSMACA_H    26 #include <ns3/object.h>    27 #include <ns3/event-id.h>    28 #include <ns3/lr-wpan-mac.h>   241   uint8_t 
GetNB (
void);
 static TypeId GetTypeId(void)
Get the type ID. 
 
Simulation virtual time values and global simulation resolution. 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
LrWpanCsmaCa & operator=(LrWpanCsmaCa const &)
Copy constructor - defined and not implemented. 
 
void SetMacMinBE(uint8_t macMinBE)
Set the minimum backoff exponent value. 
 
void PlmeCcaConfirm(LrWpanPhyEnumeration status)
IEEE 802.15.4-2006 section 6.2.2.2 PLME-CCA.confirm status. 
 
uint8_t m_CW
Contention window length (used in slotted ver only). 
 
void SetMac(Ptr< LrWpanMac > mac)
Set the MAC to which this CSMA/CA implementation is attached to. 
 
uint8_t GetMacMinBE(void) const
Get the minimum backoff exponent value. 
 
uint8_t GetMacMaxBE(void) const
Get the maximum backoff exponent value. 
 
uint8_t m_NB
Number of backoffs for the current transmission. 
 
uint8_t GetNB(void)
Get the number of CSMA retries. 
 
void SetUnitBackoffPeriod(uint64_t unitBackoffPeriod)
Set the number of symbols forming the basic time period used by the CSMA-CA algorithm. 
 
Callback< void, LrWpanMacState > LrWpanMacStateCallback
This method informs the MAC whether the channel is idle or busy. 
 
uint8_t m_macMinBE
Minimum backoff exponent. 
 
LrWpanMacStateCallback m_lrWpanMacStateCallback
The callback to inform the configured MAC of the CSMA/CA result. 
 
uint8_t GetMacMaxCSMABackoffs(void) const
Get the maximum number of backoffs. 
 
void SetMacMaxBE(uint8_t macMaxBE)
Set the maximum backoff exponent value. 
 
void SetUnSlottedCsmaCa(void)
Configure for the use of the unslotted CSMA/CA version. 
 
void RequestCCA(void)
Request the Phy to perform CCA (Step 3) 
 
virtual void DoDispose(void)
Destructor implementation. 
 
void RandomBackoffDelay(void)
In step 2 of the CSMA-CA, perform a random backoff in the range of 0 to 2^BE -1. 
 
void Start(void)
Start CSMA-CA algorithm (step 1), initialize NB, BE for both slotted and unslotted CSMA-CA...
 
void Cancel(void)
Cancel CSMA-CA algorithm. 
 
uint64_t m_aUnitBackoffPeriod
Number of symbols per CSMA/CA time unit, default 20 symbols. 
 
LrWpanCsmaCa(void)
Default constructor. 
 
bool m_BLE
Battery Life Extension. 
 
Ptr< LrWpanMac > m_mac
The MAC instance for which this CSMAĆ/CA implementation is configured. 
 
uint64_t GetUnitBackoffPeriod(void) const
Get the number of symbols forming the basic time period used by the CSMA-CA algorithm. 
 
bool m_ccaRequestRunning
Flag indicating that the PHY is currently running a CCA. 
 
void SetLrWpanMacStateCallback(LrWpanMacStateCallback macState)
Set the callback function to the MAC. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
Ptr< UniformRandomVariable > m_random
Uniform random variable stream. 
 
Time GetTimeToNextSlot(void) const
Get the amount of time from now to the beginning of the next slot. 
 
bool IsUnSlottedCsmaCa(void) const
Check if the unslotted CSMA/CA version is being used. 
 
bool m_isSlotted
Beacon-enabled slotted or nonbeacon-enabled unslotted CSMA-CA. 
 
uint8_t m_macMaxBE
Maximum backoff exponent. 
 
EventId m_randomBackoffEvent
Scheduler event for the start of the next random backoff/slot. 
 
void SetSlottedCsmaCa(void)
Configure for the use of the slotted CSMA/CA version. 
 
An identifier for simulation events. 
 
void CanProceed(void)
In the slotted CSMA-CA, after random backoff, determine if the remaining CSMA-CA operation can procee...
 
virtual ~LrWpanCsmaCa(void)
 
uint8_t m_BE
Backoff exponent. 
 
EventId m_canProceedEvent
Scheduler event for checking if we can complete the transmission before the end of the CAP...
 
This class is a helper for the LrWpanMac to manage the Csma/CA state machine according to IEEE 802...
 
void SetMacMaxCSMABackoffs(uint8_t macMaxCSMABackoffs)
Set the maximum number of backoffs. 
 
bool IsSlottedCsmaCa(void) const
Check if the slotted CSMA/CA version is being used. 
 
LrWpanPhyEnumeration
IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3. 
 
A base class which provides memory management and object aggregation. 
 
EventId m_requestCcaEvent
Scheduler event when to start the CCA after a random backoff. 
 
Ptr< LrWpanMac > GetMac(void) const
Get the MAC to which this CSMA/CA implementation is attached to. 
 
a unique identifier for an interface. 
 
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
 
uint8_t m_macMaxCSMABackoffs
Maximum number of backoffs.