ns3::MacLowTransmissionParameters Class Reference

control how a packet is transmitted. More...

#include <mac-low.h>

List of all members.

Public Member Functions

void EnableAck (void)
void EnableFastAck (void)
void EnableSuperFastAck (void)
void EnableRts (void)
void EnableNextData (uint32_t size)
void EnableOverrideDurationId (Time durationId)
void DisableAck (void)
void DisableRts (void)
void DisableNextData (void)
void DisableOverrideDurationId (void)
bool MustWaitAck (void) const
bool MustWaitNormalAck (void) const
bool MustWaitFastAck (void) const
bool MustWaitSuperFastAck (void) const
bool MustSendRts (void) const
bool HasDurationId (void) const
Time GetDurationId (void) const
bool HasNextPacket (void) const
uint32_t GetNextPacketSize (void) const


Detailed Description

control how a packet is transmitted.

The ns3::MacLow::StartTransmission method expects an instance of this class to describe how the packet should be transmitted.


Member Function Documentation

void ns3::MacLowTransmissionParameters::DisableAck ( void   ) 

Do not wait for Ack after data transmission. Typically used for Broadcast and multicast frames.

void ns3::MacLowTransmissionParameters::DisableNextData ( void   ) 

Do not attempt to send data burst after current transmission

void ns3::MacLowTransmissionParameters::DisableOverrideDurationId ( void   ) 

Do not force the duration/id field of the packet: its value is automatically calculated by the MacLow before calling WifiPhy::Send.

void ns3::MacLowTransmissionParameters::DisableRts ( void   ) 

Do not send rts and wait for cts before sending data.

void ns3::MacLowTransmissionParameters::EnableAck ( void   ) 

Wait ACKTimeout for an ACK. If we get an ACK on time, call MacLowTransmissionListener::GotAck. Call MacLowTransmissionListener::MissedAck otherwise.

void ns3::MacLowTransmissionParameters::EnableFastAck ( void   ) 

This is really complicated but it is needed for proper HCCA support.

void ns3::MacLowTransmissionParameters::EnableNextData ( uint32_t  size  ) 

Parameters:
size size of next data to send after current packet is sent.
Add the transmission duration of the next data to the durationId of the outgoing packet and call MacLowTransmissionListener::StartNext at the end of the current transmission + SIFS.

void ns3::MacLowTransmissionParameters::EnableOverrideDurationId ( Time  durationId  ) 

Parameters:
durationId the value to set in the duration/Id field of the outgoing packet.
Ignore all other durationId calculation and simply force the packet's durationId field to this value.

void ns3::MacLowTransmissionParameters::EnableRts ( void   ) 

Send a RTS, and wait CTSTimeout for a CTS. If we get a CTS on time, call MacLowTransmissionListener::GotCts and send data. Otherwise, call MacLowTransmissionListener::MissedCts and do not send data.

void ns3::MacLowTransmissionParameters::EnableSuperFastAck ( void   ) 

Time ns3::MacLowTransmissionParameters::GetDurationId ( void   )  const

Returns:
the duration/id forced by EnableOverrideDurationId

uint32_t ns3::MacLowTransmissionParameters::GetNextPacketSize ( void   )  const

Returns:
the size specified by EnableNextData.

bool ns3::MacLowTransmissionParameters::HasDurationId ( void   )  const

Returns:
true if a duration/id was forced with EnableOverrideDurationId, false otherwise.

bool ns3::MacLowTransmissionParameters::HasNextPacket ( void   )  const

Returns:
true if EnableNextData was called, false otherwise.

bool ns3::MacLowTransmissionParameters::MustSendRts ( void   )  const

Returns:
true if RTS should be sent and CTS waited for before sending data, false otherwise.

bool ns3::MacLowTransmissionParameters::MustWaitAck ( void   )  const

Returns:
true if must wait for ACK after data transmission, false otherwise.
This methods returns true when any of MustWaitNormalAck, MustWaitFastAck, or MustWaitSuperFastAck return true.

bool ns3::MacLowTransmissionParameters::MustWaitFastAck ( void   )  const

Returns:
true if fast ack protocol should be used, false otherwise.
See also:
EnableFastAck

bool ns3::MacLowTransmissionParameters::MustWaitNormalAck ( void   )  const

Returns:
true if normal ACK protocol should be used, false otherwise.
See also:
EnableAck

bool ns3::MacLowTransmissionParameters::MustWaitSuperFastAck ( void   )  const

Returns:
true if super fast ack protocol should be used, false otherwise.
See also:
EnableSuperFastAck


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

Generated on Fri Apr 9 15:01:09 2010 for NS-3 by  doxygen 1.5.8