build a set of PointToPointNetDevice objects More...
#include <point-to-point-helper.h>
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 |
build a set of PointToPointNetDevice objects
Definition at line 39 of file point-to-point-helper.h.
ns3::PointToPointHelper::PointToPointHelper | ( | ) |
Definition at line 24 of file point-to-point-helper.cc.
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 | ( | std::ostream & | os, | |
NodeContainer | n | |||
) | [static] |
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] |
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] |
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] |
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] |
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] |
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] |
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] |
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] |
Definition at line 211 of file point-to-point-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), and Install().
NetDeviceContainer ns3::PointToPointHelper::Install | ( | Ptr< Node > | a, | |
Ptr< Node > | b | |||
) |
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 | ) |
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].
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 | |||
) |
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 | |||
) |
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 () | |||
) |
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().
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().