ns-3
ns3::CsmaHelper Class Reference

build a set of CsmaNetDevice objects More...

#include <csma-helper.h>

Inheritance diagram for ns3::CsmaHelper:
Collaboration diagram for ns3::CsmaHelper:

List of all members.

Public Member Functions

 CsmaHelper ()
void SetQueue (std::string type, 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())
void SetDeviceAttribute (std::string n1, const AttributeValue &v1)
void SetChannelAttribute (std::string n1, const AttributeValue &v1)
NetDeviceContainer Install (Ptr< Node > node) const
NetDeviceContainer Install (std::string name) const
NetDeviceContainer Install (Ptr< Node > node, Ptr< CsmaChannel > channel) const
NetDeviceContainer Install (Ptr< Node > node, std::string channelName) const
NetDeviceContainer Install (std::string nodeName, Ptr< CsmaChannel > channel) const
NetDeviceContainer Install (std::string nodeName, std::string channelName) const
NetDeviceContainer Install (const NodeContainer &c) const
NetDeviceContainer Install (const NodeContainer &c, Ptr< CsmaChannel > channel) const
NetDeviceContainer Install (const NodeContainer &c, std::string channelName) const
- Public Member Functions inherited from ns3::PcapHelperForDevice
 PcapHelperForDevice ()
 Construct a PcapHelperForDevice.
virtual ~PcapHelperForDevice ()
 Destroy a PcapHelperForDevice.
void EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false)
 Enable pcap output the indicated net device.
void EnablePcap (std::string prefix, std::string ndName, bool promiscuous=false, bool explicitFilename=false)
 Enable pcap output the indicated net device using a device previously named using the ns-3 object name service.
void EnablePcap (std::string prefix, NetDeviceContainer d, bool promiscuous=false)
 Enable pcap output on each device in the container which is of the appropriate type.
void EnablePcap (std::string prefix, NodeContainer n, bool promiscuous=false)
 Enable pcap output on each device (which is of the appropriate type) in the nodes provided in the container.
void EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool promiscuous=false)
 Enable pcap output on the device specified by a global node-id (of a previously created node) and associated device-id.
void EnablePcapAll (std::string prefix, bool promiscuous=false)
 Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created in the simulation.
- Public Member Functions inherited from ns3::AsciiTraceHelperForDevice
 AsciiTraceHelperForDevice ()
 Construct an AsciiTraceHelperForDevice.
virtual ~AsciiTraceHelperForDevice ()
 Destroy an AsciiTraceHelperForDevice.
void EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false)
 Enable ascii trace output on the indicated net device.
void EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd)
 Enable ascii trace output on the indicated net device.
void EnableAscii (std::string prefix, std::string ndName, bool explicitFilename=false)
 Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service.
void EnableAscii (Ptr< OutputStreamWrapper > stream, std::string ndName)
 Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service.
void EnableAscii (std::string prefix, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type.
void EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type.
void EnableAscii (std::string prefix, NodeContainer n)
 Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container.
void EnableAscii (Ptr< OutputStreamWrapper > stream, NodeContainer n)
 Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container.
void EnableAsciiAll (std::string prefix)
 Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation.
void EnableAsciiAll (Ptr< OutputStreamWrapper > stream)
 Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation.
void EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool explicitFilename)
 Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id.
void EnableAscii (Ptr< OutputStreamWrapper > stream, uint32_t nodeid, uint32_t deviceid)
 Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id.

Detailed Description

build a set of CsmaNetDevice objects

Normally we eschew multiple inheritance, however, the classes PcapUserHelperForDevice and AsciiTraceUserHelperForDevice are treated as "mixins". A mixin is a self-contained class that encapsulates a general attribute or a set of functionality that may be of interest to many other classes.


Constructor & Destructor Documentation

ns3::CsmaHelper::CsmaHelper ( )

Construct a CsmaHelper.

References ns3::ObjectFactory::SetTypeId().


Member Function Documentation

NetDeviceContainer ns3::CsmaHelper::Install ( Ptr< Node node) const

This method creates an ns3::CsmaChannel with the attributes configured by CsmaHelper::SetChannelAttribute, an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the channel to the device.

Parameters:
nodeThe node to install the device in
Returns:
A container holding the added net device.

References ns3::ObjectFactory::Create(), and ns3::Object::GetObject().

Referenced by ns3::CsmaStarHelper::CsmaStarHelper(), and Install().

NetDeviceContainer ns3::CsmaHelper::Install ( std::string  name) const

This method creates an ns3::CsmaChannel with the attributes configured by CsmaHelper::SetChannelAttribute, an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the channel to the device.

Parameters:
nameThe name of the node to install the device in
Returns:
A container holding the added net device.

References Install().

NetDeviceContainer ns3::CsmaHelper::Install ( Ptr< Node node,
Ptr< CsmaChannel channel 
) const

This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.

Parameters:
nodeThe node to install the device in
channelThe channel to attach to the device.
Returns:
A container holding the added net device.
NetDeviceContainer ns3::CsmaHelper::Install ( Ptr< Node node,
std::string  channelName 
) const

This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.

Parameters:
nodeThe node to install the device in
channelNameThe name of the channel to attach to the device.
Returns:
A container holding the added net device.
NetDeviceContainer ns3::CsmaHelper::Install ( std::string  nodeName,
Ptr< CsmaChannel channel 
) const

This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.

Parameters:
nodeNameThe name of the node to install the device in
channelThe channel to attach to the device.
Returns:
A container holding the added net device.
NetDeviceContainer ns3::CsmaHelper::Install ( std::string  nodeName,
std::string  channelName 
) const

This method creates an ns3::CsmaNetDevice with the attributes configured by CsmaHelper::SetDeviceAttribute and then adds the device to the node and attaches the provided channel to the device.

Parameters:
nodeNameThe name of the node to install the device in
channelNameThe name of the channel to attach to the device.
Returns:
A container holding the added net device.
NetDeviceContainer ns3::CsmaHelper::Install ( const NodeContainer c) const

This method creates an ns3::CsmaChannel with the attributes configured by CsmaHelper::SetChannelAttribute. For each Ptr<node> in the provided container: it creates an ns3::CsmaNetDevice (with the attributes configured by CsmaHelper::SetDeviceAttribute); adds the device to the node; and attaches the channel to the device.

Parameters:
cThe NodeContainer holding the nodes to be changed.
Returns:
A container holding the added net devices.

References ns3::ObjectFactory::Create(), ns3::Object::GetObject(), and Install().

NetDeviceContainer ns3::CsmaHelper::Install ( const NodeContainer c,
Ptr< CsmaChannel channel 
) const

For each Ptr<node> in the provided container, this method creates an ns3::CsmaNetDevice (with the attributes configured by CsmaHelper::SetDeviceAttribute); adds the device to the node; and attaches the provided channel to the device.

Parameters:
cThe NodeContainer holding the nodes to be changed.
channelThe channel to attach to the devices.
Returns:
A container holding the added net devices.

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

NetDeviceContainer ns3::CsmaHelper::Install ( const NodeContainer c,
std::string  channelName 
) const

For each Ptr<node> in the provided container, this method creates an ns3::CsmaNetDevice (with the attributes configured by CsmaHelper::SetDeviceAttribute); adds the device to the node; and attaches the provided channel to the device.

Parameters:
cThe NodeContainer holding the nodes to be changed.
channelNameThe name of the channel to attach to the devices.
Returns:
A container holding the added net devices.

References Install().

void ns3::CsmaHelper::SetChannelAttribute ( std::string  n1,
const AttributeValue v1 
)
Parameters:
n1the name of the attribute to set
v1the value of the attribute to set

Set these attributes on each ns3::CsmaChannel created by CsmaHelper::Install

References ns3::ObjectFactory::Set().

void ns3::CsmaHelper::SetDeviceAttribute ( std::string  n1,
const AttributeValue v1 
)
Parameters:
n1the name of the attribute to set
v1the value of the attribute to set

Set these attributes on each ns3::CsmaNetDevice created by CsmaHelper::Install

References ns3::ObjectFactory::Set().

void ns3::CsmaHelper::SetQueue ( std::string  type,
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 () 
)
Parameters:
typethe type of queue
n1the name of the attribute to set on the queue
v1the value of the attribute to set on the queue
n2the name of the attribute to set on the queue
v2the value of the attribute to set on the queue
n3the name of the attribute to set on the queue
v3the value of the attribute to set on the queue
n4the name of the attribute to set on the queue
v4the value of the attribute to set on the queue

Set the type of queue to create and associated to each CsmaNetDevice created through CsmaHelper::Install.

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


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