sat-multicast-example.cc File Reference

Multicast example application to test multicasting in satellite network. More...

#include "ns3/applications-module.h"
#include "ns3/core-module.h"
#include "ns3/internet-module.h"
#include "ns3/network-module.h"
#include "ns3/satellite-module.h"
#include "ns3/traffic-module.h"
+ Include dependency graph for sat-multicast-example.cc:

Go to the source code of this file.

Functions

static Time EstablishMulticastGroup (Ptr< SatHelper > helper, Ptr< Node > source, NodeContainer groupReceivers, Ipv4Address groupAddress, uint16_t port, Time startTime, bool sinkToAll)
 Establish multicast group and generate traffic in that group. More...
 
static std::string GetUserInfo (Ptr< SatHelper > helper, Ptr< Node > node)
 Construct information of the given user node. More...
 
static void LogEmptyLine ()
 Log empty line. More...
 
static void SinkReceive (std::string context, Ptr< const Packet >, const Address &)
 Receive RX traces from packet sinks. More...
 

Detailed Description

Multicast example application to test multicasting in satellite network.

Test scenario (larger of full), pre-defined multicast for larger scenario can be given in command line as user argument.

To see help and more info for user arguments: execute command -> ./waf –run "sat-multicast-example --PrintHelp"

Definition in file sat-multicast-example.cc.

Function Documentation

◆ EstablishMulticastGroup()

static Time EstablishMulticastGroup ( Ptr< SatHelper helper,
Ptr< Node >  source,
NodeContainer  groupReceivers,
Ipv4Address  groupAddress,
uint16_t  port,
Time  startTime,
bool  sinkToAll 
)
static

Establish multicast group and generate traffic in that group.

Parameters
helperPointer to satellite helper
sourcePointer to source node of the multicast group
groupReceiversContainer of the receiver node pointers of the multicast group
groupAddressAddress of the multicast group
portPort of the multicast group
startTimeTime to start group traffic (sending start with some delay).
sinkToAllAdd packet sink to all users for multicast group.
Returns
Time when all group packets should have been received by group receivers.

Definition at line 121 of file sat-multicast-example.cc.

References GetUserInfo(), LogEmptyLine(), and SinkReceive().

+ Here is the call graph for this function:

◆ GetUserInfo()

static std::string GetUserInfo ( Ptr< SatHelper helper,
Ptr< Node >  node 
)
static

Construct information of the given user node.

Parameters
helperPointer to satellite helper
nodePointer to user node connected to UT or GW
Returns
Information of the user (UT or GW node connected user with user index in the node)

Definition at line 64 of file sat-multicast-example.cc.

Referenced by EstablishMulticastGroup().

+ Here is the caller graph for this function:

◆ LogEmptyLine()

static void LogEmptyLine ( )
static

Log empty line.

Used to trim log outputs between multicast groups.

Definition at line 103 of file sat-multicast-example.cc.

Referenced by EstablishMulticastGroup().

+ Here is the caller graph for this function:

◆ SinkReceive()

static void SinkReceive ( std::string  context,
Ptr< const Packet >  ,
const Address &   
)
static

Receive RX traces from packet sinks.

Parameters
contextContext of the receive (multicast group and UT/GW user info)

Definition at line 51 of file sat-multicast-example.cc.

Referenced by EstablishMulticastGroup().

+ Here is the caller graph for this function: