|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
27 #ifndef NS3_NULLMESSAGE_MPI_INTERFACE_H
28 #define NS3_NULLMESSAGE_MPI_INTERFACE_H
32 #include <ns3/nstime.h>
33 #include <ns3/buffer.h>
40 class NullMessageSimulatorImpl;
41 class NullMessageSentBuffer;
42 class RemoteChannelBundle;
68 virtual void Enable (
int* pargc,
char*** pargv);
69 virtual void Enable (MPI_Comm communicator);
a unique identifier for an interface.
static uint32_t g_size
Size of the MPI COM_WORLD group.
Collection of ns-3 channels between local and remote nodes.
static void ReceiveMessagesBlocking()
Blocking message receive.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static void TestSendComplete()
Check for completed sends.
static MPI_Comm g_communicator
MPI communicator being used for ns-3 tasks.
static char ** g_pRxBuffers
Data buffers for non-blocking receives.
static bool g_freeCommunicator
Did we create the communicator? Have to free it.
static void ReceiveMessages(bool blocking=false)
Check for received messages complete.
virtual void Enable(int *pargc, char ***pargv)
Setup the parallel communication interface.
static uint32_t g_sid
System ID (rank) for this task.
static bool g_mpiInitCalled
Has MPI Init been called by this interface.
static MPI_Request * g_requests
Pending non-blocking receives.
static void InitializeSendReceiveBuffers(void)
Initialize send and receive buffers.
virtual void SendPacket(Ptr< Packet > p, const Time &rxTime, uint32_t node, uint32_t dev)
Send a packet to a remote node.
static uint32_t g_numNeighbors
Number of neighbor tasks, tasks that this task shares a link with.
A base class which provides memory management and object aggregation.
virtual MPI_Comm GetCommunicator()
Return the communicator used to run ns-3.
Simulator implementation using MPI and a Null Message algorithm.
~NullMessageMpiInterface()
Interface between ns-3 and MPI for the Null Message distributed simulation implementation.
Simulation virtual time values and global simulation resolution.
virtual uint32_t GetSystemId()
Get the id number of this rank.
NullMessageMpiInterface()
virtual uint32_t GetSize()
Get the number of ranks used by ns-3.
static TypeId GetTypeId(void)
Register this type.
static std::list< NullMessageSentBuffer > g_pendingTx
List of pending non-blocking sends.
static void SendNullMessage(const Time &guaranteeUpdate, Ptr< RemoteChannelBundle > bundle)
Send a Null Message to across the specified bundle.
virtual bool IsEnabled()
Returns enabled state of parallel environment.
virtual void Disable()
Clean up the ns-3 parallel communications interface.
static void ReceiveMessagesNonBlocking()
Non-blocking check for received messages complete.
Pure virtual base class for the interface between ns-3 and the parallel communication layer being use...
static bool g_enabled
Has this interface been enabled.
virtual void Destroy()
Deletes storage used by the parallel environment.
Declaration of class ns3::ParallelCommunicationInterface.