ns-3
|
#include <mpi-interface.h>
Static Public Member Functions | |
static void | Destroy () |
static uint32_t | GetSystemId () |
static uint32_t | GetSize () |
static bool | IsEnabled () |
static void | Enable (int *pargc, char ***pargv) |
static void | Disable () |
static void | SendPacket (Ptr< Packet > p, const Time &rxTime, uint32_t node, uint32_t dev) |
static void | ReceiveMessages () |
static void | TestSendComplete () |
static uint32_t | GetRxCount () |
static uint32_t | GetTxCount () |
Interface between ns-3 and MPI
void ns3::MpiInterface::Destroy | ( | void | ) | [static] |
Delete all buffers
References GetSize().
void ns3::MpiInterface::Disable | ( | ) | [static] |
Terminates the MPI environment by calling MPI_Finalize This function must be called after Destroy () It also resets m_initialized, m_enabled
References NS_FATAL_ERROR.
void ns3::MpiInterface::Enable | ( | int * | pargc, |
char *** | pargv | ||
) | [static] |
pargc | number of command line arguments |
pargv | command line arguments |
Sets up MPI interface
References GetSize(), ns3::MAX_MPI_MSG_SIZE, and NS_FATAL_ERROR.
uint32_t ns3::MpiInterface::GetRxCount | ( | ) | [static] |
Referenced by ns3::DistributedSimulatorImpl::Run().
uint32_t ns3::MpiInterface::GetSize | ( | void | ) | [static] |
Referenced by Destroy(), Enable(), and ReceiveMessages().
uint32_t ns3::MpiInterface::GetSystemId | ( | void | ) | [static] |
Referenced by ns3::GlobalRouteManagerImpl::InitializeRoutes(), and ns3::PointToPointHelper::Install().
uint32_t ns3::MpiInterface::GetTxCount | ( | ) | [static] |
Referenced by ns3::DistributedSimulatorImpl::Run().
bool ns3::MpiInterface::IsEnabled | ( | ) | [static] |
Referenced by ns3::PointToPointHelper::Install().
void ns3::MpiInterface::ReceiveMessages | ( | ) | [static] |
Check for received messages complete
References ns3::Node::GetDevice(), ns3::Node::GetId(), ns3::NetDevice::GetIfIndex(), ns3::Node::GetNDevices(), ns3::NodeList::GetNode(), ns3::Object::GetObject(), GetSize(), ns3::MAX_MPI_MSG_SIZE, ns3::NanoSeconds(), ns3::Now(), NS_ASSERT, NS_FATAL_ERROR, ns3::MpiReceiver::Receive(), and ns3::Simulator::ScheduleWithContext().
Referenced by ns3::DistributedSimulatorImpl::Run().
void ns3::MpiInterface::SendPacket | ( | Ptr< Packet > | p, |
const Time & | rxTime, | ||
uint32_t | node, | ||
uint32_t | dev | ||
) | [static] |
p | packet to send |
rxTime | received time at destination node |
node | destination node |
dev | destination device |
Serialize and send a packet to the specified node and net device
References ns3::Time::GetNanoSeconds(), ns3::NodeList::GetNode(), ns3::Packet::GetSerializedSize(), ns3::Node::GetSystemId(), and NS_FATAL_ERROR.
void ns3::MpiInterface::TestSendComplete | ( | ) | [static] |
Check for completed sends
References NS_FATAL_ERROR.
Referenced by ns3::DistributedSimulatorImpl::Run().