ns3::PointToPointHelper Class Reference

build a set of PointToPointNetDevice objects More...

#include <point-to-point-helper.h>

Collaboration diagram for ns3::PointToPointHelper:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PointToPointHelper ()
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 name, const AttributeValue &value)
void SetChannelAttribute (std::string name, const AttributeValue &value)
void SetDeviceParameter (std::string name, const AttributeValue &value) NS_DEPRECATED
void SetChannelParameter (std::string name, const AttributeValue &value) NS_DEPRECATED
NetDeviceContainer Install (NodeContainer c)
NetDeviceContainer Install (Ptr< Node > a, Ptr< Node > b)
void InstallStar (Ptr< Node > hub, 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)
static void EnablePcap (std::string filename, NetDeviceContainer d)
static void EnablePcap (std::string filename, NodeContainer n)
static void EnablePcapAll (std::string filename)
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 Member Functions

void EnablePcap (Ptr< Node > node, Ptr< NetDevice > device, Ptr< Queue > queue)
void EnableAscii (Ptr< Node > node, Ptr< NetDevice > device)

Static Private Member Functions

static void RxEvent (Ptr< PcapWriter > writer, Ptr< const Packet > packet)
static void EnqueueEvent (Ptr< PcapWriter > writer, Ptr< const Packet > packet)
static void AsciiEnqueueEvent (std::ostream *os, std::string path, Ptr< const Packet > packet)
static void AsciiDequeueEvent (std::ostream *os, std::string path, Ptr< const Packet > packet)
static void AsciiDropEvent (std::ostream *os, std::string path, Ptr< const Packet > packet)
static void AsciiRxEvent (std::ostream *os, std::string path, Ptr< const Packet > packet)

Private Attributes

ObjectFactory m_queueFactory
ObjectFactory m_channelFactory
ObjectFactory m_deviceFactory

Detailed Description

build a set of PointToPointNetDevice objects

Definition at line 39 of file point-to-point-helper.h.


Constructor & Destructor Documentation

ns3::PointToPointHelper::PointToPointHelper (  ) 

Definition at line 24 of file point-to-point-helper.cc.


Member Function Documentation

void ns3::PointToPointHelper::AsciiDequeueEvent ( std::ostream *  os,
std::string  path,
Ptr< const Packet packet 
) [static, private]

Definition at line 227 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::AsciiDropEvent ( std::ostream *  os,
std::string  path,
Ptr< const Packet packet 
) [static, private]

Definition at line 233 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::AsciiEnqueueEvent ( std::ostream *  os,
std::string  path,
Ptr< const Packet packet 
) [static, private]

Definition at line 221 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::AsciiRxEvent ( std::ostream *  os,
std::string  path,
Ptr< const Packet packet 
) [static, private]

Definition at line 239 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::EnableAscii ( Ptr< Node node,
Ptr< NetDevice device 
) [private]
void ns3::PointToPointHelper::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::PointToPointNetDevice type and which is located in one of the input node and dump that to the specified stdc++ output stream.

Definition at line 147 of file point-to-point-helper.cc.

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

Referenced by EnableAscii().

void ns3::PointToPointHelper::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::PointToPointNetDevice type and which is located in the input device container and dump that to the specified stdc++ output stream.

Definition at line 138 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::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::PointToPointNetDevice and dump that to the specified stdc++ output stream.

Definition at line 121 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::EnableAsciiAll ( std::ostream &  os  )  [static]
Parameters:
os output stream

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

Definition at line 162 of file point-to-point-helper.cc.

References ns3::NetDeviceContainer::Add().

void ns3::PointToPointHelper::EnablePcap ( Ptr< Node node,
Ptr< NetDevice device,
Ptr< Queue queue 
) [private]
void ns3::PointToPointHelper::EnablePcap ( std::string  filename,
NodeContainer  n 
) [static]
Parameters:
filename filename prefix to use for pcap files.
n container of nodes.

Enable pcap output on each device which is of the ns3::PointToPointNetDevice type and which is located in one of the input nodes.

Definition at line 100 of file point-to-point-helper.cc.

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

void ns3::PointToPointHelper::EnablePcap ( std::string  filename,
NetDeviceContainer  d 
) [static]
Parameters:
filename filename prefix to use for pcap files.
d container of devices of type ns3::PointToPointNetDevice

Enable pcap output on each input device which is of the ns3::PointToPointNetDevice type.

Definition at line 91 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::EnablePcap ( std::string  filename,
uint32_t  nodeid,
uint32_t  deviceid 
) [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.

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.

Definition at line 69 of file point-to-point-helper.cc.

Referenced by EnablePcap().

void ns3::PointToPointHelper::EnablePcapAll ( std::string  filename  )  [static]
Parameters:
filename filename prefix to use for pcap files.

Enable pcap output on each device which is of the ns3::PointToPointNetDevice type

Definition at line 115 of file point-to-point-helper.cc.

References ns3::NetDeviceContainer::Add().

void ns3::PointToPointHelper::EnqueueEvent ( Ptr< PcapWriter writer,
Ptr< const Packet packet 
) [static, private]
NetDeviceContainer ns3::PointToPointHelper::Install ( Ptr< Node a,
Ptr< Node b 
)
Parameters:
a first node
b second node

Saves you from having to construct a temporary NodeContainer.

Definition at line 175 of file point-to-point-helper.cc.

References ns3::NodeContainer::Get(), ns3::NodeContainer::GetN(), Install(), and NS_ASSERT.

Referenced by Install().

NetDeviceContainer ns3::PointToPointHelper::Install ( NodeContainer  c  ) 
Parameters:
c a set of nodes

This method creates a ns3::PointToPointChannel with the attributes configured by PointToPointHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::PointToPointNetDevice with the requested attributes, a queue for this ns3::NetDevice, and associate the resulting ns3::NetDevice with the ns3::Node and ns3::PointToPointChannel.

Definition at line 168 of file point-to-point-helper.cc.

Referenced by EnqueueEvent().

void ns3::PointToPointHelper::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 point to point 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 point-to-point channel is created for each spoke.

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.

Definition at line 199 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::RxEvent ( Ptr< PcapWriter writer,
Ptr< const Packet packet 
) [static, private]

Definition at line 216 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::SetChannelAttribute ( std::string  name,
const AttributeValue value 
)
Parameters:
name the name of the attribute to set
value the value of the attribute to set

Set these attribute on each ns3::PointToPointChannel created by PointToPointHelper::Install

Definition at line 52 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::SetChannelParameter ( std::string  name,
const AttributeValue value 
)

Definition at line 63 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::SetDeviceAttribute ( std::string  name,
const AttributeValue value 
)
Parameters:
name the name of the attribute to set
value the value of the attribute to set

Set these attributes on each ns3::PointToPointNetDevice created by PointToPointHelper::Install

Definition at line 46 of file point-to-point-helper.cc.

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

void ns3::PointToPointHelper::SetDeviceParameter ( std::string  name,
const AttributeValue value 
)

Definition at line 58 of file point-to-point-helper.cc.

void ns3::PointToPointHelper::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 PointToPointNetDevice created through PointToPointHelper::Install.

Definition at line 32 of file point-to-point-helper.cc.

References m_channelFactory, m_deviceFactory, m_queueFactory, and ns3::ObjectFactory::SetTypeId().


Member Data Documentation

Definition at line 220 of file point-to-point-helper.h.

Referenced by SetQueue().

Definition at line 221 of file point-to-point-helper.h.

Referenced by SetQueue().

Definition at line 219 of file point-to-point-helper.h.

Referenced by SetDeviceAttribute(), and SetQueue().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:11:33 2009 for NS-3 by  doxygen 1.6.3