A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::PointToPointStarHelper Class Reference

A helper to make it easier to create a star topology with PointToPoint links. More...

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

+ Collaboration diagram for ns3::PointToPointStarHelper:

Public Member Functions

 PointToPointStarHelper (uint32_t numSpokes, PointToPointHelper p2pHelper)
 ~PointToPointStarHelper ()
void AssignIpv4Addresses (Ipv4AddressHelper address)
void AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix)
void BoundingBox (double ulx, double uly, double lrx, double lry)
Ptr< NodeGetHub () const
Ipv4Address GetHubIpv4Address (uint32_t i) const
Ipv6Address GetHubIpv6Address (uint32_t i) const
Ipv4Address GetSpokeIpv4Address (uint32_t i) const
Ipv6Address GetSpokeIpv6Address (uint32_t i) const
Ptr< NodeGetSpokeNode (uint32_t i) const
void InstallStack (InternetStackHelper stack)
uint32_t SpokeCount () const

Private Attributes

NodeContainer m_hub
NetDeviceContainer m_hubDevices
Ipv4InterfaceContainer m_hubInterfaces
Ipv6InterfaceContainer m_hubInterfaces6
NetDeviceContainer m_spokeDevices
Ipv4InterfaceContainer m_spokeInterfaces
Ipv6InterfaceContainer m_spokeInterfaces6
NodeContainer m_spokes

Detailed Description

A helper to make it easier to create a star topology with PointToPoint links.

Definition at line 44 of file point-to-point-star.h.

Constructor & Destructor Documentation

ns3::PointToPointStarHelper::PointToPointStarHelper ( uint32_t  numSpokes,
PointToPointHelper  p2pHelper 
)

Create a PointToPointStarHelper in order to easily create star topologies using p2p links

Parameters
numSpokesthe number of links attached to the hub node, creating a total of numSpokes + 1 nodes
p2pHelperthe link helper for p2p links, used to link nodes together

Definition at line 34 of file point-to-point-star.cc.

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Create(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::NodeContainer::GetN(), ns3::PointToPointHelper::Install(), m_hub, m_hubDevices, m_spokeDevices, and m_spokes.

+ Here is the call graph for this function:

ns3::PointToPointStarHelper::~PointToPointStarHelper ( )

Definition at line 48 of file point-to-point-star.cc.

Member Function Documentation

void ns3::PointToPointStarHelper::AssignIpv4Addresses ( Ipv4AddressHelper  address)
Parameters
addressan Ipv4AddressHelper which is used to install Ipv4 addresses on all the node interfaces in the star

Definition at line 102 of file point-to-point-star.cc.

References ns3::Ipv4InterfaceContainer::Add(), ns3::Ipv4AddressHelper::Assign(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::GetN(), m_hubDevices, m_hubInterfaces, m_spokeDevices, m_spokeInterfaces, m_spokes, and ns3::Ipv4AddressHelper::NewNetwork().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::PointToPointStarHelper::AssignIpv6Addresses ( Ipv6Address  network,
Ipv6Prefix  prefix 
)
Parameters
networkan IPv6 address representing the network portion of the IPv6 Address
prefixthe prefix length

Definition at line 113 of file point-to-point-star.cc.

References ns3::Ipv6InterfaceContainer::Add(), ns3::Ipv6AddressHelper::Assign(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::GetN(), ns3::Ipv6AddressGenerator::GetNetwork(), ns3::Ipv6AddressGenerator::Init(), m_hubDevices, m_hubInterfaces6, m_spokeDevices, m_spokeInterfaces6, m_spokes, ns3::Ipv6AddressGenerator::NextNetwork(), and ns3::Ipv6AddressHelper::SetBase().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::PointToPointStarHelper::BoundingBox ( double  ulx,
double  uly,
double  lrx,
double  lry 
)

Sets up the node canvas locations for every node in the star. This is needed for use with the animation interface

Parameters
ulxupper left x value
ulyupper left y value
lrxlower right x value
lrylower right y value

Definition at line 134 of file point-to-point-star.cc.

References ns3::Object::AggregateObject(), ns3::NodeContainer::Get(), ns3::NodeContainer::GetN(), ns3::Object::GetObject(), m_hub, m_spokes, ns3::Vector3D::x, and ns3::Vector3D::y.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< Node > ns3::PointToPointStarHelper::GetHub ( ) const
Returns
a node pointer to the hub node in the star, i.e., the center node

Definition at line 53 of file point-to-point-star.cc.

References ns3::NodeContainer::Get(), and m_hub.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ipv4Address ns3::PointToPointStarHelper::GetHubIpv4Address ( uint32_t  i) const
Parameters
iindex into the hub interfaces
Returns
Ipv4Address according to indexed hub interface

Definition at line 65 of file point-to-point-star.cc.

References ns3::Ipv4InterfaceContainer::GetAddress(), and m_hubInterfaces.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ipv6Address ns3::PointToPointStarHelper::GetHubIpv6Address ( uint32_t  i) const
Parameters
iindex into the hub interfaces
Returns
Ipv6Address according to indexed hub interface

Definition at line 77 of file point-to-point-star.cc.

References ns3::Ipv6InterfaceContainer::GetAddress(), and m_hubInterfaces6.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ipv4Address ns3::PointToPointStarHelper::GetSpokeIpv4Address ( uint32_t  i) const
Parameters
iindex into the spoke interfaces
Returns
Ipv4Address according to indexed spoke interface

Definition at line 71 of file point-to-point-star.cc.

References ns3::Ipv4InterfaceContainer::GetAddress(), and m_spokeInterfaces.

+ Here is the call graph for this function:

Ipv6Address ns3::PointToPointStarHelper::GetSpokeIpv6Address ( uint32_t  i) const
Parameters
iindex into the spoke interfaces
Returns
Ipv6Address according to indexed spoke interface

Definition at line 83 of file point-to-point-star.cc.

References ns3::Ipv6InterfaceContainer::GetAddress(), and m_spokeInterfaces6.

+ Here is the call graph for this function:

Ptr< Node > ns3::PointToPointStarHelper::GetSpokeNode ( uint32_t  i) const
Parameters
ian index into the spokes of the star
Returns
a node pointer to the node at the indexed spoke

Definition at line 59 of file point-to-point-star.cc.

References ns3::NodeContainer::Get(), and m_spokes.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::PointToPointStarHelper::InstallStack ( InternetStackHelper  stack)
Parameters
stackan InternetStackHelper which is used to install on every node in the star

Definition at line 95 of file point-to-point-star.cc.

References ns3::InternetStackHelper::Install(), m_hub, and m_spokes.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::PointToPointStarHelper::SpokeCount ( ) const
Returns
the total number of spokes in the star

Definition at line 89 of file point-to-point-star.cc.

References ns3::NodeContainer::GetN(), and m_spokes.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

NodeContainer ns3::PointToPointStarHelper::m_hub
private

Definition at line 142 of file point-to-point-star.h.

Referenced by BoundingBox(), GetHub(), InstallStack(), and PointToPointStarHelper().

NetDeviceContainer ns3::PointToPointStarHelper::m_hubDevices
private
Ipv4InterfaceContainer ns3::PointToPointStarHelper::m_hubInterfaces
private

Definition at line 146 of file point-to-point-star.h.

Referenced by AssignIpv4Addresses(), and GetHubIpv4Address().

Ipv6InterfaceContainer ns3::PointToPointStarHelper::m_hubInterfaces6
private

Definition at line 148 of file point-to-point-star.h.

Referenced by AssignIpv6Addresses(), and GetHubIpv6Address().

NetDeviceContainer ns3::PointToPointStarHelper::m_spokeDevices
private
Ipv4InterfaceContainer ns3::PointToPointStarHelper::m_spokeInterfaces
private

Definition at line 147 of file point-to-point-star.h.

Referenced by AssignIpv4Addresses(), and GetSpokeIpv4Address().

Ipv6InterfaceContainer ns3::PointToPointStarHelper::m_spokeInterfaces6
private

Definition at line 149 of file point-to-point-star.h.

Referenced by AssignIpv6Addresses(), and GetSpokeIpv6Address().

NodeContainer ns3::PointToPointStarHelper::m_spokes
private

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