ns-3
ns3::UanHelper Class Reference

List of all members.

Public Member Functions

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

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)

Member Function Documentation

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.

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.

References ns3::NetDeviceContainer::Begin(), EnableAscii(), ns3::NetDeviceContainer::End(), ns3::Node::GetId(), ns3::NetDevice::GetIfIndex(), and ns3::NetDevice::GetNode().

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.

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.

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.

References ns3::UanChannel::SetNoiseModel(), and ns3::UanChannel::SetPropagationModel().

Referenced by 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.

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.

References ns3::Node::AddDevice(), ns3::UanAddress::Allocate(), ns3::ObjectFactory::Create(), ns3::UanNetDevice::SetChannel(), ns3::UanNetDevice::SetMac(), ns3::UanNetDevice::SetPhy(), and ns3::UanNetDevice::SetTransducer().

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.

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.

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.

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


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