A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::UanHelper Class Reference

Public Member Functions

int64_t AssignStreams (NetDeviceContainer c, int64_t stream)
 
NetDeviceContainer Install (NodeContainer c) const
 
NetDeviceContainer Install (NodeContainer c, Ptr< UanChannel > channel) const
 
Ptr< UanNetDeviceInstall (Ptr< Node > node, Ptr< UanChannel > channel) const
 
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())
 
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())
 
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())
 

Static Public Member Functions

static void EnableAscii (std::ostream &os, uint32_t nodeid, uint32_t deviceid)
 
static void EnableAscii (std::ostream &os, NetDeviceContainer d)
 
static void EnableAscii (std::ostream &os, NodeContainer n)
 
static void EnableAsciiAll (std::ostream &os)
 

Private Attributes

ObjectFactory m_device
 
ObjectFactory m_mac
 
ObjectFactory m_phy
 
ObjectFactory m_transducer
 

Detailed Description

Definition at line 34 of file uan-helper.h.

Member Function Documentation

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.

Parameters
cNetDeviceContainer of the set of net devices for which the UanNetDevice should be modified to use a fixed stream
streamfirst stream index to use
Returns
the number of stream indices assigned by this helper

Definition at line 237 of file uan-helper.cc.

References ns3::NetDeviceContainer::Begin(), and ns3::NetDeviceContainer::End().

void ns3::UanHelper::EnableAscii ( std::ostream &  os,
uint32_t  nodeid,
uint32_t  deviceid 
)
static
Parameters
osoutput stream
nodeidthe id of the node to generate ascii output for.
deviceidthe id of the device to generate ascii output for.

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.

Definition at line 144 of file uan-helper.cc.

References ns3::Config::Connect(), and ns3::Packet::EnablePrinting().

Referenced by EnableAscii(), and EnableAsciiAll().

void ns3::UanHelper::EnableAscii ( std::ostream &  os,
NetDeviceContainer  d 
)
static
Parameters
osoutput stream
ddevice container

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.

Definition at line 159 of file uan-helper.cc.

References ns3::NetDeviceContainer::Begin(), EnableAscii(), and ns3::NetDeviceContainer::End().

void ns3::UanHelper::EnableAscii ( std::ostream &  os,
NodeContainer  n 
)
static
Parameters
osoutput stream
nnode container

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.

Definition at line 169 of file uan-helper.cc.

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), EnableAscii(), ns3::NodeContainer::End(), ns3::Node::GetDevice(), and ns3::Node::GetNDevices().

void ns3::UanHelper::EnableAsciiAll ( std::ostream &  os)
static
Parameters
osoutput stream

Enable ascii output on each device which is of the ns3::UanNetDevice type and dump that to the specified stdc++ output stream.

Definition at line 184 of file uan-helper.cc.

References EnableAscii(), and ns3::NodeContainer::GetGlobal().

NetDeviceContainer ns3::UanHelper::Install ( NodeContainer  c) const
Parameters
ca set of nodes

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.

Definition at line 190 of file uan-helper.cc.

Referenced by ns3::AcousticModemEnergyTestCase::DoRun(), ns3::AcousticModemEnergyDepletionTestCase::DoRun(), and Install().

NetDeviceContainer ns3::UanHelper::Install ( NodeContainer  c,
Ptr< UanChannel channel 
) const
Parameters
ca set of nodes
channela channel to use

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.

Definition at line 201 of file uan-helper.cc.

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), ns3::Object::GetObject(), Install(), and NS_LOG_DEBUG.

Ptr< UanNetDevice > ns3::UanHelper::Install ( Ptr< Node node,
Ptr< UanChannel channel 
) const
Parameters
nodea node where to install the uan components
channela channel to use

Create a default uan stack with:

  • default channel, ideal propagation and default noise model
  • default physical layer, with UanPhyGen
  • default transducer, half duplex acoustic modem with UanTransducerHd
  • default MAC layer, with UanMacAloha

Channel, physical layer, transducer and mac layer are added to the UanNetDevice and then added to the node.

Definition at line 217 of file uan-helper.cc.

References ns3::Node::AddDevice(), ns3::UanAddress::Allocate(), and ns3::ObjectFactory::Create().

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 () 
)
Parameters
typethe type of ns3::UanMac to create.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

All the attributes specified in this method should exist in the requested mac.

Definition at line 73 of file uan-helper.cc.

References ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

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 () 
)
Parameters
phyTypethe type of ns3::UanPhy to create.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

All the attributes specified in this method should exist in the requested phy.

Definition at line 96 of file uan-helper.cc.

References ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

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 () 
)
Parameters
typethe type of ns3::Transducer to create
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

All the attributes specified in this method should exist in the requested transducer.

Definition at line 120 of file uan-helper.cc.

References ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().


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