ns3::CsmaHelper Class Reference

build a set of CsmaNetDevice objects More...

#include <csma-helper.h>

Collaboration diagram for ns3::CsmaHelper:

Collaboration graph
[legend]

List of all members.

Public Member Functions

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
void InstallStar (Ptr< Node > hub, NodeContainer spokes, NetDeviceContainer &hubDevices, NetDeviceContainer &spokeDevices)
 Make a star network topology.
void InstallStar (std::string hubName, NodeContainer spokes, NetDeviceContainer &hubDevices, NetDeviceContainer &spokeDevices)
 Make a star network topology.

Static Public Member Functions

static void EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid, bool promiscuous)
static void EnablePcap (std::string filename, Ptr< NetDevice > nd, bool promiscuous)
static void EnablePcap (std::string filename, std::string ndName, bool promiscuous)
static void EnablePcap (std::string filename, NetDeviceContainer d, bool promiscuous)
static void EnablePcap (std::string filename, NodeContainer n, bool promiscuous)
static void EnablePcapAll (std::string filename, bool promiscuous)
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)


Detailed Description

build a set of CsmaNetDevice objects

Member Function Documentation

static void ns3::CsmaHelper::EnableAscii ( std::ostream &  os,
NodeContainer  n 
) [static]

Parameters:
os output stream
n node container
Enable ascii output on each device which is of the ns3::CsmaNetDevice type and which is located in one of the input node and dump that to the specified stdc++ output stream.

static void ns3::CsmaHelper::EnableAscii ( std::ostream &  os,
NetDeviceContainer  d 
) [static]

Parameters:
os output stream
d device container
Enable ascii output on each device which is of the ns3::CsmaNetDevice type and which is located in the input device container and dump that to the specified stdc++ output stream.

static void ns3::CsmaHelper::EnableAscii ( std::ostream &  os,
uint32_t  nodeid,
uint32_t  deviceid 
) [static]

Parameters:
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.
Enable ascii output on the specified deviceid within the specified nodeid if it is of type ns3::CsmaNetDevice and dump that to the specified stdc++ output stream.

static void ns3::CsmaHelper::EnableAsciiAll ( std::ostream &  os  )  [static]

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

static void ns3::CsmaHelper::EnablePcap ( std::string  filename,
NodeContainer  n,
bool  promiscuous 
) [static]

Parameters:
filename filename prefix to use for pcap files.
n container of nodes.
promiscuous If true capture all possible packets available at the device.
Enable pcap output on each device which is of the ns3::CsmaNetDevice type and which is located in one of the input nodes.

static void ns3::CsmaHelper::EnablePcap ( std::string  filename,
NetDeviceContainer  d,
bool  promiscuous 
) [static]

Parameters:
filename filename prefix to use for pcap files.
d container of devices of type ns3::CsmaNetDevice
promiscuous If true capture all possible packets available at the device.
Enable pcap output on each input device which is of the ns3::CsmaNetDevice type.

static void ns3::CsmaHelper::EnablePcap ( std::string  filename,
std::string  ndName,
bool  promiscuous 
) [static]

Parameters:
filename filename prefix to use for pcap files.
ndName The name of the net device in which you want to enable tracing.
promiscuous If true capture all possible packets available at the device.
Enable pcap output the indicated net device.

static void ns3::CsmaHelper::EnablePcap ( std::string  filename,
Ptr< NetDevice nd,
bool  promiscuous 
) [static]

Parameters:
filename filename prefix to use for pcap files.
nd Net device in which you want to enable tracing.
promiscuous If true capture all possible packets available at the device.
Enable pcap output the indicated net device.

static void ns3::CsmaHelper::EnablePcap ( std::string  filename,
uint32_t  nodeid,
uint32_t  deviceid,
bool  promiscuous 
) [static]

Parameters:
filename filename prefix to use for pcap files.
nodeid the id of the node to generate pcap output for.
deviceid the id of the device to generate pcap output for.
promiscuous If true capture all possible packets available at the device.
Generate a pcap file which contains the link-level data observed by the specified deviceid within the specified nodeid. The pcap data is stored in the file prefix-nodeid-deviceid.pcap.

This method should be invoked after the network topology has been fully constructed.

static void ns3::CsmaHelper::EnablePcapAll ( std::string  filename,
bool  promiscuous 
) [static]

Parameters:
filename filename prefix to use for pcap files.
promiscuous If true capture all possible packets available at the device.
Enable pcap output on each device which is of the ns3::CsmaNetDevice type

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:
c The NodeContainer holding the nodes to be changed.
channelName The name of the channel to attach to the devices.
Returns:
A containter holding the added net devices.

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:
c The NodeContainer holding the nodes to be changed.
channel The channel to attach to the devices.
Returns:
A containter holding the added net devices.

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:
c The NodeContainer holding the nodes to be changed.
Returns:
A containter holding the added net devices.

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:
nodeName The name of the node to install the device in
channelName The name of the chanel to attach to the device.
Returns:
A containter 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:
nodeName The name of the node to install the device in
channel The chanel to attach to the device.
Returns:
A containter 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:
node The node to install the device in
channelName The name of the channel to attach to the device.
Returns:
A containter holding the added net device.

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:
node The node to install the device in
channel The channel to attach to the device.
Returns:
A containter holding the added net device.

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:
name The name of the node to install the device in
Returns:
A containter holding the added net device.

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:
node The node to install the device in
Returns:
A containter holding the added net device.

void ns3::CsmaHelper::InstallStar ( std::string  hubName,
NodeContainer  spokes,
NetDeviceContainer hubDevices,
NetDeviceContainer spokeDevices 
)

Make a star network topology.

Given a pointer to a node that will become the hub of the star, and a NodeContainer containing pointers to the nodes that will become the spokes; we construct CSMA net devices on the hub (corresponding to the spokes) and store them in the hubDevices NetDeviceContainer. We add a net device to each spoke node and store them in the spokeDevices NetDeviceContainer. A CSMA is created for each spoke.

Usually when one thinks of a star network, one thinks of point-to-point links. We're just using a single pair of devices on a multi-point-to-point network "drops" as the link. You are free to add any number of other devices on the link if you want.

The ordering of the devices in the hubDevices container is according to the order of the spokes container -- that is, hubDevices[0] will be the net device used on the hub that talks to spokes[0]. the container entry spokeDevices[0] will have the device that hubDevices[0] talks to -- those two devices are the ones that connect hub to spokes[0].

Parameters:
hubName The name of the central node of the star network
spokes A NodeContainer of the nodes that will be the spoke (leaf) nodes
hubDevices A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on the hub.
spokeDevices A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on each of the spokes.

void ns3::CsmaHelper::InstallStar ( Ptr< Node hub,
NodeContainer  spokes,
NetDeviceContainer hubDevices,
NetDeviceContainer spokeDevices 
)

Make a star network topology.

Given a pointer to a node that will become the hub of the star, and a NodeContainer containing pointers to the nodes that will become the spokes; we construct CSMA net devices on the hub (corresponding to the spokes) and store them in the hubDevices NetDeviceContainer. We add a net device to each spoke node and store them in the spokeDevices NetDeviceContainer. A CSMA is created for each spoke.

Usually when one thinks of a star network, one thinks of point-to-point links. We're just using a single pair of devices on a multi-point-to-point network "drops" as the link. You are free to add any number of other devices on the link if you want.

The ordering of the devices in the hubDevices container is according to the order of the spokes container -- that is, hubDevices[0] will be the net device used on the hub that talks to spokes[0]. the container entry spokeDevices[0] will have the device that hubDevices[0] talks to -- those two devices are the ones that connect hub to spokes[0].

Parameters:
hub The central node of the star network
spokes A NodeContainer of the nodes that will be the spoke (leaf) nodes
hubDevices A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on the hub.
spokeDevices A NetDeviceContainer that will be filled with pointers to the point-to-point net devices created on each of the spokes.

void ns3::CsmaHelper::SetChannelAttribute ( std::string  n1,
const AttributeValue v1 
)

Parameters:
n1 the name of the attribute to set
v1 the value of the attribute to set
Set these attributes on each ns3::CsmaChannel created by CsmaHelper::Install

void ns3::CsmaHelper::SetDeviceAttribute ( std::string  n1,
const AttributeValue v1 
)

Parameters:
n1 the name of the attribute to set
v1 the value of the attribute to set
Set these attributes on each ns3::CsmaNetDevice created by CsmaHelper::Install

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:
type the type of queue
n1 the name of the attribute to set on the queue
v1 the value of the attribute to set on the queue
n2 the name of the attribute to set on the queue
v2 the value of the attribute to set on the queue
n3 the name of the attribute to set on the queue
v3 the value of the attribute to set on the queue
n4 the name of the attribute to set on the queue
v4 the 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.


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

Generated on Fri Apr 9 15:01:10 2010 for NS-3 by  doxygen 1.5.8