ns3::Backoff Class Reference

The backoff class is used for calculating backoff times when many net devices can write to the same channel. More...

#include <backoff.h>

Collaboration diagram for ns3::Backoff:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Backoff (void)
 Backoff (Time slotTime, uint32_t minSlots, uint32_t maxSlots, uint32_t ceiling, uint32_t maxRetries)
Time GetBackoffTime ()
void ResetBackoffTime (void)
bool MaxRetriesReached (void)
void IncrNumRetries (void)

Public Attributes

uint32_t m_minSlots
uint32_t m_maxSlots
uint32_t m_ceiling
uint32_t m_maxRetries
Time m_slotTime

Private Attributes

uint32_t m_numBackoffRetries

Detailed Description

The backoff class is used for calculating backoff times when many net devices can write to the same channel.

Definition at line 37 of file backoff.h.


Constructor & Destructor Documentation

ns3::Backoff::Backoff ( void   ) 
ns3::Backoff::Backoff ( Time  slotTime,
uint32_t  minSlots,
uint32_t  maxSlots,
uint32_t  ceiling,
uint32_t  maxRetries 
)

Definition at line 35 of file backoff.cc.

References m_ceiling, m_maxRetries, m_maxSlots, m_minSlots, and m_slotTime.


Member Function Documentation

Time ns3::Backoff::GetBackoffTime ( void   ) 
Returns:
The amount of time that the net device should wait before trying to retransmit the packet

Definition at line 45 of file backoff.cc.

References ns3::UniformVariable::GetSingleValue(), m_ceiling, m_maxSlots, m_minSlots, m_numBackoffRetries, and m_slotTime.

Referenced by ns3::CsmaNetDevice::TransmitStart().

void ns3::Backoff::IncrNumRetries ( void   ) 

Increments the number of retries by 1.

Definition at line 85 of file backoff.cc.

References m_numBackoffRetries.

Referenced by ns3::CsmaNetDevice::TransmitStart().

bool ns3::Backoff::MaxRetriesReached ( void   ) 
Returns:
True if the maximum number of retries has been reached

Definition at line 79 of file backoff.cc.

References m_maxRetries, and m_numBackoffRetries.

Referenced by ns3::CsmaNetDevice::TransmitStart().

void ns3::Backoff::ResetBackoffTime ( void   ) 

Indicates to the backoff object that the last packet was successfully transmitted and that the number of retries should be reset to 0.

Definition at line 73 of file backoff.cc.

References m_numBackoffRetries.

Referenced by Backoff(), ns3::CsmaNetDevice::TransmitAbort(), and ns3::CsmaNetDevice::TransmitStart().


Member Data Documentation

Caps the exponential function when the number of retries reaches m_ceiling.

Definition at line 52 of file backoff.h.

Referenced by Backoff(), GetBackoffTime(), and ns3::CsmaNetDevice::SetBackoffParams().

Maximum number of transmission retries before the packet is dropped.

Definition at line 57 of file backoff.h.

Referenced by Backoff(), MaxRetriesReached(), and ns3::CsmaNetDevice::SetBackoffParams().

Maximim number of backoff slots (when multiplied by m_slotTime, determines maximum backoff time)

Definition at line 47 of file backoff.h.

Referenced by Backoff(), GetBackoffTime(), and ns3::CsmaNetDevice::SetBackoffParams().

Minimum number of backoff slots (when multiplied by m_slotTime, determines minimum backoff time)

Definition at line 42 of file backoff.h.

Referenced by Backoff(), GetBackoffTime(), and ns3::CsmaNetDevice::SetBackoffParams().

Number of times that the transmitter has tried to unsuccessfully transmit the current packet.

Definition at line 95 of file backoff.h.

Referenced by GetBackoffTime(), IncrNumRetries(), MaxRetriesReached(), and ResetBackoffTime().

Length of one slot. A slot time, it usually the packet transmission time, if the packet size is fixed.

Definition at line 62 of file backoff.h.

Referenced by Backoff(), GetBackoffTime(), and ns3::CsmaNetDevice::SetBackoffParams().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:10:37 2009 for NS-3 by  doxygen 1.6.3