A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
sta-wifi-mac.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2006, 2009 INRIA
4
* Copyright (c) 2009 MIRKO BANCHI
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation;
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
*
19
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
20
* Author: Mirko Banchi <mk.banchi@gmail.com>
21
*/
22
#ifndef STA_WIFI_MAC_H
23
#define STA_WIFI_MAC_H
24
25
#include "
regular-wifi-mac.h
"
26
27
#include "ns3/event-id.h"
28
#include "ns3/packet.h"
29
#include "ns3/traced-callback.h"
30
31
#include "
supported-rates.h
"
32
#include "
amsdu-subframe-header.h
"
33
34
namespace
ns3 {
35
36
class
MgtAddBaRequestHeader;
37
43
class
StaWifiMac
:
public
RegularWifiMac
44
{
45
public
:
46
static
TypeId
GetTypeId
(
void
);
47
48
StaWifiMac
();
49
virtual
~StaWifiMac
();
50
59
virtual
void
Enqueue
(
Ptr<const Packet>
packet,
Mac48Address
to);
60
65
void
SetMaxMissedBeacons
(uint32_t missed);
72
void
SetProbeRequestTimeout
(
Time
timeout
);
79
void
SetAssocRequestTimeout
(
Time
timeout);
80
84
void
StartActiveAssociation
(
void
);
85
86
private
:
87
enum
MacState
88
{
89
ASSOCIATED
,
90
WAIT_PROBE_RESP
,
91
WAIT_ASSOC_RESP
,
92
BEACON_MISSED
,
93
REFUSED
94
};
95
96
void
SetActiveProbing
(
bool
enable);
97
bool
GetActiveProbing
(
void
)
const
;
98
virtual
void
Receive
(
Ptr<Packet>
packet,
const
WifiMacHeader
*hdr);
99
void
SendProbeRequest
(
void
);
100
void
SendAssociationRequest
(
void
);
101
void
TryToEnsureAssociated
(
void
);
102
void
AssocRequestTimeout
(
void
);
103
void
ProbeRequestTimeout
(
void
);
104
bool
IsAssociated
(
void
)
const
;
105
bool
IsWaitAssocResp
(
void
)
const
;
106
void
MissedBeacons
(
void
);
107
void
RestartBeaconWatchdog
(
Time
delay);
108
SupportedRates
GetSupportedRates
(
void
)
const
;
109
void
SetState
(
enum
MacState
value);
110
111
HtCapabilities
GetHtCapabilities
(
void
)
const
;
112
113
114
enum
MacState
m_state
;
115
Time
m_probeRequestTimeout
;
116
Time
m_assocRequestTimeout
;
117
EventId
m_probeRequestEvent
;
118
EventId
m_assocRequestEvent
;
119
EventId
m_beaconWatchdog
;
120
Time
m_beaconWatchdogEnd
;
121
uint32_t
m_maxMissedBeacons
;
122
123
TracedCallback<Mac48Address>
m_assocLogger
;
124
TracedCallback<Mac48Address>
m_deAssocLogger
;
125
};
126
127
}
// namespace ns3
128
129
#endif
/* STA_WIFI_MAC_H */
ns3::StaWifiMac::IsWaitAssocResp
bool IsWaitAssocResp(void) const
Definition:
sta-wifi-mac.cc:327
regular-wifi-mac.h
ns3::StaWifiMac::m_deAssocLogger
TracedCallback< Mac48Address > m_deAssocLogger
Definition:
sta-wifi-mac.h:124
ns3::StaWifiMac::GetSupportedRates
SupportedRates GetSupportedRates(void) const
Definition:
sta-wifi-mac.cc:601
ns3::Time
keep track of time values and allow control of global simulation resolution
Definition:
nstime.h:81
ns3::StaWifiMac::m_assocRequestTimeout
Time m_assocRequestTimeout
Definition:
sta-wifi-mac.h:116
ns3::Ptr< const Packet >
ns3::StaWifiMac::Receive
virtual void Receive(Ptr< Packet > packet, const WifiMacHeader *hdr)
Definition:
sta-wifi-mac.cc:403
amsdu-subframe-header.h
ns3::StaWifiMac::SendAssociationRequest
void SendAssociationRequest(void)
Definition:
sta-wifi-mac.cc:195
ns3::StaWifiMac::WAIT_PROBE_RESP
Definition:
sta-wifi-mac.h:90
ns3::StaWifiMac::AssocRequestTimeout
void AssocRequestTimeout(void)
Definition:
sta-wifi-mac.cc:273
ns3::StaWifiMac::m_probeRequestTimeout
Time m_probeRequestTimeout
Definition:
sta-wifi-mac.h:115
ns3::StaWifiMac::SetProbeRequestTimeout
void SetProbeRequestTimeout(Time timeout)
Definition:
sta-wifi-mac.cc:123
ns3::TracedCallback
forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a norma...
Definition:
traced-callback.h:43
ns3::HtCapabilities
The Ht Capabilities Information ElementThis class knows how to serialise and deserialise the Ht Capab...
Definition:
ht-capabilities.h:42
ns3::StaWifiMac::m_assocLogger
TracedCallback< Mac48Address > m_assocLogger
Definition:
sta-wifi-mac.h:123
ns3::StaWifiMac::m_assocRequestEvent
EventId m_assocRequestEvent
Definition:
sta-wifi-mac.h:118
timeout
ns3::Time timeout
Definition:
openflow-switch.cc:52
ns3::SupportedRates
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
Definition:
supported-rates.h:92
ns3::StaWifiMac::SetAssocRequestTimeout
void SetAssocRequestTimeout(Time timeout)
Definition:
sta-wifi-mac.cc:130
ns3::StaWifiMac::MacState
MacState
Definition:
sta-wifi-mac.h:87
ns3::StaWifiMac::SendProbeRequest
void SendProbeRequest(void)
Definition:
sta-wifi-mac.cc:158
supported-rates.h
ns3::RegularWifiMac
base class for all MAC-level wifi objects.This class encapsulates all the low-level MAC functionality...
Definition:
regular-wifi-mac.h:50
ns3::StaWifiMac::ProbeRequestTimeout
void ProbeRequestTimeout(void)
Definition:
sta-wifi-mac.cc:281
ns3::StaWifiMac::MissedBeacons
void MissedBeacons(void)
Definition:
sta-wifi-mac.cc:289
ns3::StaWifiMac::BEACON_MISSED
Definition:
sta-wifi-mac.h:92
ns3::StaWifiMac::GetActiveProbing
bool GetActiveProbing(void) const
ns3::StaWifiMac::SetState
void SetState(enum MacState value)
Definition:
sta-wifi-mac.cc:633
ns3::StaWifiMac::REFUSED
Definition:
sta-wifi-mac.h:93
ns3::StaWifiMac::WAIT_ASSOC_RESP
Definition:
sta-wifi-mac.h:91
ns3::StaWifiMac::GetHtCapabilities
HtCapabilities GetHtCapabilities(void) const
Definition:
sta-wifi-mac.cc:619
ns3::StaWifiMac::StaWifiMac
StaWifiMac()
Definition:
sta-wifi-mac.cc:97
ns3::StaWifiMac::m_maxMissedBeacons
uint32_t m_maxMissedBeacons
Definition:
sta-wifi-mac.h:121
ns3::StaWifiMac::ASSOCIATED
Definition:
sta-wifi-mac.h:89
ns3::StaWifiMac::StartActiveAssociation
void StartActiveAssociation(void)
Definition:
sta-wifi-mac.cc:137
ns3::StaWifiMac::SetMaxMissedBeacons
void SetMaxMissedBeacons(uint32_t missed)
Definition:
sta-wifi-mac.cc:116
ns3::StaWifiMac::m_beaconWatchdog
EventId m_beaconWatchdog
Definition:
sta-wifi-mac.h:119
ns3::StaWifiMac::~StaWifiMac
virtual ~StaWifiMac()
Definition:
sta-wifi-mac.cc:110
ns3::StaWifiMac::GetTypeId
static TypeId GetTypeId(void)
Definition:
sta-wifi-mac.cc:66
ns3::Mac48Address
an EUI-48 address
Definition:
mac48-address.h:41
ns3::StaWifiMac::RestartBeaconWatchdog
void RestartBeaconWatchdog(Time delay)
Definition:
sta-wifi-mac.cc:308
ns3::StaWifiMac::TryToEnsureAssociated
void TryToEnsureAssociated(void)
Definition:
sta-wifi-mac.cc:232
ns3::StaWifiMac::SetActiveProbing
void SetActiveProbing(bool enable)
Definition:
sta-wifi-mac.cc:144
ns3::EventId
an identifier for simulation events.
Definition:
event-id.h:46
ns3::StaWifiMac::Enqueue
virtual void Enqueue(Ptr< const Packet > packet, Mac48Address to)
Definition:
sta-wifi-mac.cc:333
ns3::StaWifiMac::m_state
enum MacState m_state
Definition:
sta-wifi-mac.h:114
ns3::StaWifiMac::m_beaconWatchdogEnd
Time m_beaconWatchdogEnd
Definition:
sta-wifi-mac.h:120
ns3::StaWifiMac::m_probeRequestEvent
EventId m_probeRequestEvent
Definition:
sta-wifi-mac.h:117
ns3::StaWifiMac::IsAssociated
bool IsAssociated(void) const
Definition:
sta-wifi-mac.cc:321
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::WifiMacHeader
Definition:
wifi-mac-header.h:77
ns3::StaWifiMac
Definition:
sta-wifi-mac.h:43
src
wifi
model
sta-wifi-mac.h
Generated on Sun Apr 20 2014 11:15:05 for ns-3 by
1.8.6