base class for all MAC-level wifi objects.
More...
#include <wifi-mac.h>
List of all members.
Detailed Description
base class for all MAC-level wifi objects.
This class encapsulates all the low-level MAC functionality DCA, EDCA, etc) and all the high-level MAC functionality (association/disassociation state machines).
Member Function Documentation
- Parameters:
-
| packet | the packet to send. |
| to | the address to which the packet should be sent. |
| from | the address from which the packet should be sent. |
The packet should be enqueued in a tx queue, and should be dequeued as soon as the DCF function determines that access it granted to this MAC. The extra parameter "from" allows this device to operate in a bridged mode, forwarding received frames without altering the source addresss.
Implemented in ns3::AdhocWifiMac, ns3::NqapWifiMac, and ns3::NqstaWifiMac.
virtual void ns3::WifiMac::Enqueue |
( |
Ptr< const Packet > |
packet, |
|
|
Mac48Address |
to | |
|
) |
| | [private, pure virtual] |
- Parameters:
-
| packet | the packet to send. |
| to | the address to which the packet should be sent. |
The packet should be enqueued in a tx queue, and should be dequeued as soon as the DCF function determines that access it granted to this MAC.
Implemented in ns3::AdhocWifiMac, ns3::NqapWifiMac, and ns3::NqstaWifiMac.
virtual Time ns3::WifiMac::GetAckTimeout |
( |
void |
|
) |
const [pure virtual] |
virtual Mac48Address ns3::WifiMac::GetAddress |
( |
void |
|
) |
const [pure virtual] |
virtual Time ns3::WifiMac::GetCtsTimeout |
( |
void |
|
) |
const [pure virtual] |
virtual Time ns3::WifiMac::GetEifsNoDifs |
( |
void |
|
) |
const [pure virtual] |
uint32_t ns3::WifiMac::GetMaxMsduSize |
( |
void |
|
) |
const |
- Returns:
- the maximum size of a MAC-level data payload.
Time ns3::WifiMac::GetMaxPropagationDelay |
( |
void |
|
) |
const |
Time ns3::WifiMac::GetMsduLifetime |
( |
void |
|
) |
const |
virtual Time ns3::WifiMac::GetPifs |
( |
void |
|
) |
const [pure virtual] |
virtual Time ns3::WifiMac::GetSifs |
( |
void |
|
) |
const [pure virtual] |
virtual Time ns3::WifiMac::GetSlot |
( |
void |
|
) |
const [pure virtual] |
virtual Ssid ns3::WifiMac::GetSsid |
( |
void |
|
) |
const [pure virtual] |
static TypeId ns3::WifiMac::GetTypeId |
( |
void |
|
) |
[static] |
This method returns the TypeId associated to ns3::WifiMac.
This object is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/DeviceList/[i]/$ns3WifiNetDevice/Mac
Attributes defined for this type:
-
CtsTimeout: When this timeout expires, the RTS/CTS handshake has failed.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 75666ns
-
Flags: construct write read
-
AckTimeout: When this timeout expires, the DATA/ACK handshake has failed.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 75666ns
-
Flags: construct write read
-
Sifs: The value of the SIFS constant.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 16000ns
-
Flags: construct write read
-
EifsNoDifs: The value of EIFS-DIFS
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 60000ns
-
Flags: construct write read
-
Slot: The duration of a Slot.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 9000ns
-
Flags: construct write read
-
Pifs: The value of the PIFS constant.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 25000ns
-
Flags: construct write read
-
MaxPropagationDelay: The maximum propagation delay. Unused for now.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 3333ns
-
Flags: construct write read
-
MaxMsduSize: The maximum size of an MSDU accepted by the MAC layer.This value conforms to the specification.
-
Ssid: The ssid we want to belong to.
-
Set with class: SsidValue
-
Underlying type: Ssid
-
Initial value: default
-
Flags: construct write read
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Reimplemented in ns3::AdhocWifiMac, ns3::NqapWifiMac, and ns3::NqstaWifiMac.
virtual void ns3::WifiMac::SetAckTimeout |
( |
Time |
ackTimeout |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetAddress |
( |
Mac48Address |
address |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetCtsTimeout |
( |
Time |
ctsTimeout |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetEifsNoDifs |
( |
Time |
eifsNoDifs |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetLinkDownCallback |
( |
Callback< void > |
linkDown |
) |
[private, pure virtual] |
virtual void ns3::WifiMac::SetLinkUpCallback |
( |
Callback< void > |
linkUp |
) |
[private, pure virtual] |
void ns3::WifiMac::SetMaxPropagationDelay |
( |
Time |
delay |
) |
|
- Parameters:
-
| delay | the max propagation delay. |
Unused for now.
virtual void ns3::WifiMac::SetPifs |
( |
Time |
pifs |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetSifs |
( |
Time |
sifs |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetSlot |
( |
Time |
slotTime |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetSsid |
( |
Ssid |
ssid |
) |
[pure virtual] |
virtual void ns3::WifiMac::SetWifiPhy |
( |
Ptr< WifiPhy > |
phy |
) |
[private, pure virtual] |
The documentation for this class was generated from the following files:
- src/devices/wifi/wifi-mac.h
- doc/introspected-doxygen.h