UAN configuration helper. More...
#include "uan-helper.h"
Public Member Functions | |
UanHelper () | |
Default constructor. More... | |
virtual | ~UanHelper () |
Destructor. More... | |
int64_t | AssignStreams (NetDeviceContainer c, int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
NetDeviceContainer | Install (NodeContainer c) const |
This method creates a simple ns3::UanChannel (with a default ns3::UanNoiseModelDefault and ns3::UanPropModelIdeal) and creates, for each of the input nodes, a new ns3::UanNetDevice attached to this shared channel. More... | |
NetDeviceContainer | Install (NodeContainer c, Ptr< UanChannel > channel) const |
For each of the input nodes, a new ns3::UanNetDevice is attached to the shared input channel. More... | |
Ptr< UanNetDevice > | Install (Ptr< Node > node, Ptr< UanChannel > channel) const |
Create a default an stack. More... | |
void | SetMac (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()) |
Set MAC attributes. More... | |
void | SetPhy (std::string phyType, 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()) |
Set PHY attributes. More... | |
void | SetTransducer (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()) |
Set the transducer attributes. More... | |
Static Public Member Functions | |
static void | EnableAscii (std::ostream &os, NetDeviceContainer d) |
Enable ascii output on each device which is of the ns3::UanNetDevice type and which is located in the input device container and dump that to the specified stdc++ output stream. More... | |
static void | EnableAscii (std::ostream &os, NodeContainer n) |
Enable ascii output on each device which is of the ns3::UanNetDevice type and which is located in one of the input node and dump that to the specified stdc++ output stream. More... | |
static void | EnableAscii (std::ostream &os, uint32_t nodeid, uint32_t deviceid) |
Enable ascii output on the specified deviceid within the specified nodeid if it is of type ns3::UanNetDevice and dump that to the specified stdc++ output stream. More... | |
static void | EnableAsciiAll (std::ostream &os) |
Enable ascii output on each device which is of the ns3::UanNetDevice type and dump that to the specified stdc++ output stream. More... | |
Private Attributes | |
ObjectFactory | m_device |
The device. More... | |
ObjectFactory | m_mac |
The MAC layer. More... | |
ObjectFactory | m_phy |
The PHY layer. More... | |
ObjectFactory | m_transducer |
The transducer. More... | |
UAN configuration helper.
Definition at line 40 of file uan-helper.h.
ns3::UanHelper::UanHelper | ( | ) |
Default constructor.
Definition at line 80 of file uan-helper.cc.
References m_mac, m_phy, m_transducer, and ns3::ObjectFactory::SetTypeId().
|
virtual |
Destructor.
Definition at line 88 of file uan-helper.cc.
int64_t ns3::UanHelper::AssignStreams | ( | NetDeviceContainer | c, |
int64_t | stream | ||
) |
Assign a fixed random variable stream number to the random variables used by this model.
Return the number of streams (possibly zero) that have been assigned. The Install() method should have previously been called by the user.
c | NetDeviceContainer of the set of net devices for which the UanNetDevice should be modified to use a fixed stream. |
stream | First stream index to use. |
Definition at line 259 of file uan-helper.cc.
References ns3::NetDeviceContainer::Begin(), and ns3::NetDeviceContainer::End().
|
static |
Enable ascii output on each device which is of the ns3::UanNetDevice type and which is located in the input device container and dump that to the specified stdc++ output stream.
os | Output stream. |
d | Device container. |
Definition at line 181 of file uan-helper.cc.
References ns3::NetDeviceContainer::Begin(), EnableAscii(), ns3::NetDeviceContainer::End(), ns3::Node::GetId(), ns3::NetDevice::GetIfIndex(), and ns3::NetDevice::GetNode().
|
static |
Enable ascii output on each device which is of the ns3::UanNetDevice type and which is located in one of the input node and dump that to the specified stdc++ output stream.
os | Output stream. |
n | Node container. |
Definition at line 191 of file uan-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), EnableAscii(), ns3::NodeContainer::End(), ns3::Node::GetDevice(), and ns3::Node::GetNDevices().
|
static |
Enable ascii output on the specified deviceid within the specified nodeid if it is of type ns3::UanNetDevice and dump that to the specified stdc++ output stream.
os | Output stream. |
nodeid | The id of the node to generate ascii output for. |
deviceid | The id of the device to generate ascii output for. |
Definition at line 166 of file uan-helper.cc.
References ns3::AsciiPhyRxOkEvent(), ns3::AsciiPhyTxEvent(), ns3::Config::Connect(), ns3::Packet::EnablePrinting(), and ns3::MakeBoundCallback().
Referenced by EnableAscii(), and EnableAsciiAll().
|
static |
Enable ascii output on each device which is of the ns3::UanNetDevice type and dump that to the specified stdc++ output stream.
os | Output stream. |
Definition at line 206 of file uan-helper.cc.
References EnableAscii(), and ns3::NodeContainer::GetGlobal().
Referenced by Experiment::Run().
NetDeviceContainer ns3::UanHelper::Install | ( | NodeContainer | c | ) | const |
This method creates a simple ns3::UanChannel (with a default ns3::UanNoiseModelDefault and ns3::UanPropModelIdeal) and creates, for each of the input nodes, a new ns3::UanNetDevice attached to this shared channel.
Each ns3::UanNetDevice is also configured with an ns3::UanTransducerHd, ns3::UanMac, and, ns3::UanPhy, all of which are created based on the user-specified attributes specified in UanHelper::SetTransducer, UanHelper::SetMac, and, UanHelper::SetPhy.
c | A set of nodes. |
Definition at line 212 of file uan-helper.cc.
References third::channel.
Referenced by AcousticModemEnergyTestCase::DoRun(), AcousticModemEnergyDepletionTestCase::DoRun(), Install(), NetAnimExperiment::Run(), Experiment::Run(), and UanExperiment::SetupCommunications().
NetDeviceContainer ns3::UanHelper::Install | ( | NodeContainer | c, |
Ptr< UanChannel > | channel | ||
) | const |
For each of the input nodes, a new ns3::UanNetDevice is attached to the shared input channel.
Each ns3::UanNetDevice is also configured with an ns3::UanTransducerHd, a ns3::UanMac, and ns3::UanPhy, all of which are created based on the user-specified attributes specified in UanHelper::SetTransducer, UanHelper::SetMac, and UanHelper::SetPhy.
c | A set of nodes. |
channel | A channel to use. |
Definition at line 223 of file uan-helper.cc.
References ns3::NodeContainer::Begin(), third::channel, first::devices, ns3::NodeContainer::End(), ns3::Object::GetObject(), Install(), and NS_LOG_DEBUG.
Ptr< UanNetDevice > ns3::UanHelper::Install | ( | Ptr< Node > | node, |
Ptr< UanChannel > | channel | ||
) | const |
Create a default an stack.
The stack includes:
Channel, physical layer, transducer and mac layer are added to the UanNetDevice and then added to the node.
node | A node where to install the uan components. |
channel | A channel to use. |
Definition at line 239 of file uan-helper.cc.
References ns3::Node::AddDevice(), ns3::Mac8Address::Allocate(), third::channel, ns3::ObjectFactory::Create(), m_mac, m_phy, m_transducer, third::mac, and third::phy.
void ns3::UanHelper::SetMac | ( | 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 () |
||
) |
Set MAC attributes.
type | The type of ns3::UanMac to create. |
n0 | The name of the attribute to set. |
v0 | The value of the attribute to set. |
n1 | The name of the attribute to set. |
v1 | The value of the attribute to set. |
n2 | The name of the attribute to set. |
v2 | The value of the attribute to set. |
n3 | The name of the attribute to set. |
v3 | The value of the attribute to set. |
n4 | The name of the attribute to set. |
v4 | The value of the attribute to set. |
n5 | The name of the attribute to set. |
v5 | The value of the attribute to set. |
n6 | The name of the attribute to set. |
v6 | The value of the attribute to set. |
n7 | The name of the attribute to set. |
v7 | The value of the attribute to set. |
All the attributes specified in this method should exist in the requested mac.
Definition at line 95 of file uan-helper.cc.
References m_mac, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
Referenced by NetAnimExperiment::Run(), and Experiment::Run().
void ns3::UanHelper::SetPhy | ( | std::string | phyType, |
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 () |
||
) |
Set PHY attributes.
phyType | The type of ns3::UanPhy to create. |
n0 | The name of the attribute to set. |
v0 | The value of the attribute to set. |
n1 | The name of the attribute to set. |
v1 | The value of the attribute to set. |
n2 | The name of the attribute to set. |
v2 | The value of the attribute to set. |
n3 | The name of the attribute to set. |
v3 | The value of the attribute to set. |
n4 | The name of the attribute to set. |
v4 | The value of the attribute to set. |
n5 | The name of the attribute to set. |
v5 | The value of the attribute to set. |
n6 | The name of the attribute to set. |
v6 | The value of the attribute to set. |
n7 | The name of the attribute to set. |
v7 | The value of the attribute to set. |
All the attributes specified in this method should exist in the requested Phy.
Definition at line 118 of file uan-helper.cc.
References m_phy, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
Referenced by Experiment::Run().
void ns3::UanHelper::SetTransducer | ( | 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 () |
||
) |
Set the transducer attributes.
type | The type of ns3::Transducer to create. |
n0 | The name of the attribute to set. |
v0 | The value of the attribute to set. |
n1 | The name of the attribute to set. |
v1 | The value of the attribute to set. |
n2 | The name of the attribute to set. |
v2 | The value of the attribute to set. |
n3 | The name of the attribute to set. |
v3 | The value of the attribute to set. |
n4 | The name of the attribute to set. |
v4 | The value of the attribute to set. |
n5 | The name of the attribute to set. |
v5 | The value of the attribute to set. |
n6 | The name of the attribute to set. |
v6 | The value of the attribute to set. |
n7 | The name of the attribute to set. |
v7 | The value of the attribute to set. |
All the attributes specified in this method should exist in the requested transducer.
Definition at line 142 of file uan-helper.cc.
References m_transducer, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
|
private |
The device.
Definition at line 249 of file uan-helper.h.
|
private |
The MAC layer.
Definition at line 250 of file uan-helper.h.
Referenced by UanHelper(), Install(), and SetMac().
|
private |
The PHY layer.
Definition at line 251 of file uan-helper.h.
Referenced by UanHelper(), Install(), and SetPhy().
|
private |
The transducer.
Definition at line 252 of file uan-helper.h.
Referenced by UanHelper(), Install(), and SetTransducer().