22 #include "ns3/simulator.h" 
   23 #include "ns3/pointer.h" 
   24 #include "ns3/mesh-point-device.h" 
   25 #include "ns3/dca-txop.h" 
   26 #include "ns3/edca-txop-n.h" 
   27 #include "ns3/wifi-net-device.h" 
   28 #include "ns3/minstrel-wifi-manager.h" 
   29 #include "ns3/mesh-wifi-interface-mac.h" 
   34   m_spreadChannelPolicy (ZERO_CHANNEL),
 
  105           mp->AddInterface (iface);
 
  107       if (!
m_stack->InstallStack (mp))
 
  180   mac->SetSsid (
Ssid ());
 
  187   device->SetMac (mac);
 
  188   device->SetPhy (phy);
 
  189   device->SetRemoteStationManager (manager);
 
  191   mac->SwitchFrequencyChannel (channelId);
 
  200   std::vector<Ptr<NetDevice> > ifaces = mp->GetInterfaces ();
 
  204   os << 
"</MeshPointDevice>\n";
 
  217   int64_t currentStream = stream;
 
  228           std::vector<Ptr<NetDevice> > ifaces = mpd->GetInterfaces ();
 
  229           for (std::vector<
Ptr<NetDevice> >::iterator i = ifaces.begin (); i != ifaces.end (); i++)
 
  231               wifi = DynamicCast<WifiNetDevice> (*i);
 
  234               currentStream += wifi->GetPhy ()->AssignStreams (currentStream);
 
  241                   currentStream += minstrel->AssignStreams (currentStream);
 
  244               mac = DynamicCast<MeshWifiInterfaceMac> (wifi->GetMac ());
 
  247                   currentStream += mac->AssignStreams (currentStream);
 
  253                   rmac->GetAttribute (
"DcaTxop", ptr);
 
  255                   currentStream += dcaTxop->AssignStreams (currentStream);
 
  257                   rmac->GetAttribute (
"VO_EdcaTxopN", ptr);
 
  259                   currentStream += vo_edcaTxopN->
AssignStreams (currentStream);
 
  261                   rmac->GetAttribute (
"VI_EdcaTxopN", ptr);
 
  263                   currentStream += vi_edcaTxopN->
AssignStreams (currentStream);
 
  265                   rmac->GetAttribute (
"BE_EdcaTxopN", ptr);
 
  267                   currentStream += be_edcaTxopN->
AssignStreams (currentStream);
 
  269                   rmac->GetAttribute (
"BK_EdcaTxopN", ptr);
 
  271                   currentStream += bk_edcaTxopN->
AssignStreams (currentStream);
 
  276   return (currentStream - stream);
 
Iterator Begin(void) const 
Get an iterator which refers to the first NetDevice in the container. 
 
std::vector< Ptr< Node > >::const_iterator Iterator
Node container iterator. 
 
Ptr< T > GetObject(void) const 
Get a pointer to the requested aggregated Object. 
 
Hold a value for an Attribute. 
 
void Report(const ns3::Ptr< ns3::NetDevice > &device, std::ostream &os)
Print statistics. 
 
void SetRemoteStationManager(std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
 
ChannelPolicy m_spreadChannelPolicy
spread channel policy 
 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
 
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory. 
 
Iterator End(void) const 
Get an iterator which indicates past-the-last Node in the container. 
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate. 
 
Ptr< WifiNetDevice > CreateInterface(const WifiPhyHelper &phyHelper, Ptr< Node > node, uint16_t channelId) const 
 
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
 
void SetNumberOfInterfaces(uint32_t nInterfaces)
Set a number of interfaces in a mesh network. 
 
Prototype for class, which helps to install MAC-layer routing stack to ns3::MeshPointDevice. 
 
MeshHelper()
Construct a MeshHelper used to make life easier when creating 802.11s networks. 
 
double GetSeconds(void) const 
Get an approximation of the time stored in this instance in the indicated unit. 
 
WifiPhyStandard
Identifies the PHY specification that a Wifi device is configured to use. 
 
void SetSpreadInterfaceChannels(ChannelPolicy policy)
set the channel policy 
 
This queue contains packets for a particular access class. 
 
ChannelPolicy
Spread/not spread frequency channels of MP interfaces. 
 
uint32_t m_nInterfaces
number of interfaces 
 
static Mac48Address Allocate(void)
Allocate a new Mac48Address. 
 
Ptr< Object > Create(void) const 
Create an Object instance of the configured TypeId. 
 
void Add(NetDeviceContainer other)
Append the contents of another NetDeviceContainer to the end of this container. 
 
ObjectFactory m_mac
the MAC 
 
holds a vector of ns3::NetDevice pointers 
 
ObjectFactory m_stackFactory
stack factory 
 
Ptr< MeshStack > m_stack
stack 
 
hold a list of per-remote-station state. 
 
void SetMacType(std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
 
static Mac48Address ConvertFrom(const Address &address)
 
OFDM PHY for the 5 GHz band (Clause 17) 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
keep track of a set of node pointers. 
 
Hold objects of type Ptr. 
 
ObjectFactory m_stationManager
the station manager 
 
Iterator Begin(void) const 
Get an iterator which refers to the first Node in the container. 
 
void ResetStats(const ns3::Ptr< ns3::NetDevice > &device)
Reset statistics. 
 
void Set(std::string name, const AttributeValue &value)
Set an attribute to be set during construction. 
 
static Time Now(void)
Return the current simulation virtual time. 
 
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
 
void SetStackInstaller(std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
 
Virtual net device modeling mesh point. 
 
The IEEE 802.11 SSID Information Element. 
 
void SetStandard(enum WifiPhyStandard standard)
Set PHY standard. 
 
Instantiate subclasses of ns3::Object. 
 
virtual Ptr< WifiPhy > Create(Ptr< Node > node, Ptr< NetDevice > device) const =0
 
uint32_t AddDevice(Ptr< NetDevice > device)
Associate a NetDevice to this node. 
 
NetDeviceContainer Install(const WifiPhyHelper &phyHelper, NodeContainer c) const 
Install 802.11s mesh device & protocols on given node list. 
 
std::vector< Ptr< NetDevice > >::const_iterator Iterator
NetDevice container iterator. 
 
static MeshHelper Default()
Set the helper to the default values for the MAC type, remote station manager and channel policy...
 
Helper to create IEEE 802.11s mesh networks. 
 
virtual void ConfigureStandard(WifiPhyStandard standard)
Configure the PHY-level parameters for different Wi-Fi standard. 
 
enum WifiPhyStandard m_standard
phy standard 
 
~MeshHelper()
Destroy a MeshHelper. 
 
Iterator End(void) const 
Get an iterator which indicates past-the-last NetDevice in the container. 
 
handle packet fragmentation and retransmissions. 
 
Basic MAC of mesh point Wi-Fi interface.