A Discrete-Event Network Simulator
API
Public Member Functions | List of all members
ns3::ParallelCommunicationInterface Class Referenceabstract

Pure virtual base class for the interface between ns-3 and the parallel communication layer being used. More...

#include "parallel-communication-interface.h"

+ Inheritance diagram for ns3::ParallelCommunicationInterface:

Public Member Functions

virtual ~ParallelCommunicationInterface ()
 Destructor. More...
 
virtual void Destroy ()=0
 Deletes storage used by the parallel environment. More...
 
virtual void Disable ()=0
 Terminates the parallel environment. More...
 
virtual void Enable (int *pargc, char ***pargv)=0
 
virtual uint32_t GetSize ()=0
 
virtual uint32_t GetSystemId ()=0
 
virtual bool IsEnabled ()=0
 
virtual void SendPacket (Ptr< Packet > p, const Time &rxTime, uint32_t node, uint32_t dev)=0
 

Detailed Description

Pure virtual base class for the interface between ns-3 and the parallel communication layer being used.

Each type of parallel communication layer is required to implement this interface. This interface is called through the MpiInterface.

Definition at line 49 of file parallel-communication-interface.h.

Constructor & Destructor Documentation

◆ ~ParallelCommunicationInterface()

virtual ns3::ParallelCommunicationInterface::~ParallelCommunicationInterface ( )
inlinevirtual

Destructor.

Definition at line 55 of file parallel-communication-interface.h.

Member Function Documentation

◆ Destroy()

virtual void ns3::ParallelCommunicationInterface::Destroy ( )
pure virtual

Deletes storage used by the parallel environment.

Implemented in ns3::GrantedTimeWindowMpiInterface, and ns3::NullMessageMpiInterface.

Referenced by ns3::MpiInterface::Destroy().

◆ Disable()

virtual void ns3::ParallelCommunicationInterface::Disable ( )
pure virtual

Terminates the parallel environment.

This function must be called after Destroy ()

Implemented in ns3::GrantedTimeWindowMpiInterface, and ns3::NullMessageMpiInterface.

Referenced by ns3::MpiInterface::Disable().

◆ Enable()

virtual void ns3::ParallelCommunicationInterface::Enable ( int *  pargc,
char ***  pargv 
)
pure virtual
Parameters
pargcnumber of command line arguments
pargvcommand line arguments

Sets up parallel communication interface

Implemented in ns3::GrantedTimeWindowMpiInterface, and ns3::NullMessageMpiInterface.

Referenced by ns3::MpiInterface::Enable().

◆ GetSize()

virtual uint32_t ns3::ParallelCommunicationInterface::GetSize ( )
pure virtual
Returns
number of parallel tasks

Implemented in ns3::GrantedTimeWindowMpiInterface, and ns3::NullMessageMpiInterface.

Referenced by ns3::MpiInterface::GetSize().

◆ GetSystemId()

virtual uint32_t ns3::ParallelCommunicationInterface::GetSystemId ( )
pure virtual
Returns
system identification

Implemented in ns3::GrantedTimeWindowMpiInterface, and ns3::NullMessageMpiInterface.

Referenced by ns3::MpiInterface::GetSystemId().

◆ IsEnabled()

virtual bool ns3::ParallelCommunicationInterface::IsEnabled ( )
pure virtual
Returns
true if parallel communication is enabled

Implemented in ns3::GrantedTimeWindowMpiInterface, and ns3::NullMessageMpiInterface.

Referenced by ns3::MpiInterface::IsEnabled().

◆ SendPacket()

virtual void ns3::ParallelCommunicationInterface::SendPacket ( Ptr< Packet p,
const Time rxTime,
uint32_t  node,
uint32_t  dev 
)
pure virtual
Parameters
ppacket to send
rxTimereceived time at destination node
nodedestination node
devdestination device

Serialize and send a packet to the specified node and net device

Implemented in ns3::NullMessageMpiInterface, and ns3::GrantedTimeWindowMpiInterface.

Referenced by ns3::MpiInterface::SendPacket().


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