Build a set of PointToPointNetDevice objects. More...
#include "point-to-point-helper.h"
 Inheritance diagram for ns3::PointToPointHelper:
 Inheritance diagram for ns3::PointToPointHelper:| Public Member Functions | |
| PointToPointHelper () | |
| Create a PointToPointHelper to make life easier when creating point to point networks.  More... | |
| virtual | ~PointToPointHelper () | 
| NetDeviceContainer | Install (NodeContainer c) | 
| NetDeviceContainer | Install (Ptr< Node > a, Ptr< Node > b) | 
| NetDeviceContainer | Install (Ptr< Node > a, std::string bName) | 
| NetDeviceContainer | Install (std::string aName, Ptr< Node > b) | 
| NetDeviceContainer | Install (std::string aNode, std::string bNode) | 
| void | SetChannelAttribute (std::string name, const AttributeValue &value) | 
| Set an attribute value to be propagated to each Channel created by the helper.  More... | |
| void | SetDeviceAttribute (std::string name, const AttributeValue &value) | 
| Set an attribute value to be propagated to each NetDevice created by the helper.  More... | |
| 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()) | 
| Each point to point net device must have a queue to pass packets through.  More... | |
|  Public Member Functions inherited from ns3::PcapHelperForDevice | |
| PcapHelperForDevice () | |
| Construct a PcapHelperForDevice.  More... | |
| virtual | ~PcapHelperForDevice () | 
| Destroy a PcapHelperForDevice.  More... | |
| void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) | 
| Enable pcap output the indicated net device.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
|  Public Member Functions inherited from ns3::AsciiTraceHelperForDevice | |
| AsciiTraceHelperForDevice () | |
| Construct an AsciiTraceHelperForDevice.  More... | |
| virtual | ~AsciiTraceHelperForDevice () | 
| Destroy an AsciiTraceHelperForDevice.  More... | |
| void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) | 
| Enable ascii trace output on the indicated net device.  More... | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) | 
| Enable ascii trace output on the indicated net device.  More... | |
| 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.  More... | |
| 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.  More... | |
| void | EnableAscii (std::string prefix, NetDeviceContainer d) | 
| Enable ascii trace output on each device in the container which is of the appropriate type.  More... | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) | 
| Enable ascii trace output on each device in the container which is of the appropriate type.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| Private Member Functions | |
| virtual void | EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename) | 
| Enable ascii trace output on the indicated net device.  More... | |
| virtual void | EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename) | 
| Enable pcap output the indicated net device.  More... | |
| Private Attributes | |
| ObjectFactory | m_channelFactory | 
| Channel Factory.  More... | |
| ObjectFactory | m_deviceFactory | 
| Device Factory.  More... | |
| ObjectFactory | m_queueFactory | 
| Queue Factory.  More... | |
| ObjectFactory | m_remoteChannelFactory | 
| Remote Channel Factory.  More... | |
Build a set of PointToPointNetDevice objects.
Normally we eschew multiple inheritance, however, the classes PcapUserHelperForDevice and AsciiTraceUserHelperForDevice are "mixins".
Definition at line 43 of file point-to-point-helper.h.
| ns3::PointToPointHelper::PointToPointHelper | ( | ) | 
Create a PointToPointHelper to make life easier when creating point to point networks.
Definition at line 41 of file point-to-point-helper.cc.
References m_channelFactory, m_deviceFactory, m_queueFactory, m_remoteChannelFactory, and ns3::ObjectFactory::SetTypeId().
| 
 | inlinevirtual | 
Definition at line 52 of file point-to-point-helper.h.
| 
 | privatevirtual | 
Enable ascii trace output on the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
| stream | The output stream object to use when logging ascii traces. | 
| prefix | Filename prefix to use for ascii trace files. | 
| nd | Net device for which you want to enable tracing. | 
| explicitFilename | Treat the prefix as an explicit filename if true | 
Implements ns3::AsciiTraceHelperForDevice.
Definition at line 111 of file point-to-point-helper.cc.
References ns3::Config::Connect(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::AsciiTraceHelper::DefaultDequeueSinkWithContext(), ns3::AsciiTraceHelper::DefaultDropSinkWithContext(), ns3::AsciiTraceHelper::DefaultEnqueueSinkWithContext(), ns3::AsciiTraceHelper::DefaultReceiveSinkWithContext(), ns3::Packet::EnablePrinting(), ns3::AsciiTraceHelper::GetFilenameFromDevice(), ns3::PointToPointNetDevice::GetQueue(), ns3::AsciiTraceHelper::HookDefaultDequeueSinkWithoutContext(), ns3::AsciiTraceHelper::HookDefaultDropSinkWithoutContext(), ns3::AsciiTraceHelper::HookDefaultEnqueueSinkWithoutContext(), ns3::AsciiTraceHelper::HookDefaultReceiveSinkWithoutContext(), ns3::MakeBoundCallback(), and NS_LOG_INFO.
| 
 | privatevirtual | 
Enable pcap output the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
| prefix | Filename prefix to use for pcap files. | 
| nd | Net device for which you want to enable tracing. | 
| promiscuous | If true capture all possible packets available at the device. | 
| explicitFilename | Treat the prefix as an explicit filename if true | 
Implements ns3::PcapHelperForDevice.
Definition at line 79 of file point-to-point-helper.cc.
References ns3::PcapHelper::CreateFile(), ns3::PcapHelper::DLT_PPP, anonymous_namespace{print-introspected-doxygen.cc}::file, ns3::PcapHelper::GetFilenameFromDevice(), ns3::PcapHelper::HookDefaultSink(), and NS_LOG_INFO.
| 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 220 of file point-to-point-helper.cc.
References ns3::NodeContainer::Get(), ns3::NodeContainer::GetN(), and NS_ASSERT.
Referenced by ns3::PointToPointEpcHelper::AddEnb(), ns3::PointToPointEpcHelper::AddX2Interface(), ns3::BriteTopologyHelper::ConstructTopology(), ns3::LenaDeactivateBearerTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), BriteTopologyFunctionTestCase::DoRun(), LteIpv6RoutingTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), EpcS1uDlTestCase::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LteCellSelectionTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), Ns3TcpCwndTestCase2::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), Install(), ns3::PointToPointDumbbellHelper::PointToPointDumbbellHelper(), and ns3::PointToPointStarHelper::PointToPointStarHelper().
| 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. Also, if MPI is enabled, for distributed simulations, appropriate remote point-to-point channels are created.
Definition at line 227 of file point-to-point-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::Node::AddDevice(), ns3::Mac48Address::Allocate(), third::channel, ns3::ObjectFactory::Create(), ns3::MpiInterface::GetSystemId(), ns3::Node::GetSystemId(), ns3::MpiInterface::IsEnabled(), m_channelFactory, m_deviceFactory, m_queueFactory, m_remoteChannelFactory, ns3::MakeCallback(), and ns3::PointToPointNetDevice::Receive().
| NetDeviceContainer ns3::PointToPointHelper::Install | ( | Ptr< Node > | a, | 
| std::string | bName | ||
| ) | 
| a | first node | 
| bName | name of second node | 
Saves you from having to construct a temporary NodeContainer.
Definition at line 281 of file point-to-point-helper.cc.
References Install().
| NetDeviceContainer ns3::PointToPointHelper::Install | ( | std::string | aName, | 
| Ptr< Node > | b | ||
| ) | 
| aName | Name of first node | 
| b | second node | 
Saves you from having to construct a temporary NodeContainer.
Definition at line 288 of file point-to-point-helper.cc.
References Install().
| NetDeviceContainer ns3::PointToPointHelper::Install | ( | std::string | aNode, | 
| std::string | bNode | ||
| ) | 
| aNode | Name of first node | 
| bNode | Name of second node | 
Saves you from having to construct a temporary NodeContainer.
Definition at line 295 of file point-to-point-helper.cc.
References Install().
| void ns3::PointToPointHelper::SetChannelAttribute | ( | std::string | name, | 
| const AttributeValue & | value | ||
| ) | 
Set an attribute value to be propagated to each Channel created by the helper.
| 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 72 of file point-to-point-helper.cc.
References m_channelFactory, m_remoteChannelFactory, and ns3::ObjectFactory::Set().
Referenced by ns3::PointToPointEpcHelper::AddEnb(), ns3::PointToPointEpcHelper::AddX2Interface(), ns3::BriteTopologyHelper::ConstructTopology(), ns3::LenaDeactivateBearerTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), BriteTopologyFunctionTestCase::DoRun(), LteIpv6RoutingTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LteCellSelectionTestCase::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), Ns3TcpCwndTestCase2::DoRun(), and LteUeMeasurementsHandoverTestCase::DoRun().
| void ns3::PointToPointHelper::SetDeviceAttribute | ( | std::string | name, | 
| const AttributeValue & | value | ||
| ) | 
Set an attribute value to be propagated to each NetDevice created by the helper.
| 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 66 of file point-to-point-helper.cc.
References m_deviceFactory, and ns3::ObjectFactory::Set().
Referenced by ns3::PointToPointEpcHelper::AddEnb(), ns3::PointToPointEpcHelper::AddX2Interface(), ns3::BriteTopologyHelper::ConstructTopology(), ns3::LenaDeactivateBearerTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), BriteTopologyFunctionTestCase::DoRun(), LteIpv6RoutingTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), EpcS1uDlTestCase::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LteCellSelectionTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), Ns3TcpCwndTestCase2::DoRun(), and LteUeMeasurementsHandoverTestCase::DoRun().
| 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 () | ||
| ) | 
Each point to point net device must have a queue to pass packets through.
This method allows one to set the type of the queue that is automatically created when the device is created and attached to a node.
| 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 50 of file point-to-point-helper.cc.
References ns3::QueueBase::AppendItemTypeIfNotPresent(), m_queueFactory, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
| 
 | private | 
Channel Factory.
Definition at line 185 of file point-to-point-helper.h.
Referenced by Install(), PointToPointHelper(), and SetChannelAttribute().
| 
 | private | 
Device Factory.
Definition at line 187 of file point-to-point-helper.h.
Referenced by Install(), PointToPointHelper(), and SetDeviceAttribute().
| 
 | private | 
Queue Factory.
Definition at line 184 of file point-to-point-helper.h.
Referenced by Install(), PointToPointHelper(), and SetQueue().
| 
 | private | 
Remote Channel Factory.
Definition at line 186 of file point-to-point-helper.h.
Referenced by Install(), PointToPointHelper(), and SetChannelAttribute().
 1.8.14
 1.8.14