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

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


Member Function Documentation

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.

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().

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: