YARP
Yet Another Robot Platform
yarp::os::MpiComm Class Reference

Wrapper for MPI_Comm communicator. More...

#include <mpi_carrier/include/yarp/os/MpiComm.h>

Detailed Description

Wrapper for MPI_Comm communicator.

Uses the dynamic process management from the MPI-2 standard to set up a communicator between two separate processes.

Note
Needs an MPI implementation with THREAD_MULTIPLE support.

Definition at line 57 of file MpiComm.h.

Public Member Functions

 MpiComm (std::string name)
 
 ~MpiComm ()
 
bool connect (std::string port)
 
bool accept ()
 
void disconnect (bool disconn)
 
bool notLocal (std::string other)
 
void openPort ()
 
void closePort ()
 
int rank ()
 

Public Attributes

char port_name [MPI_MAX_PORT_NAME]
 
char unique_id [10+MPI_MAX_PROCESSOR_NAME]
 
MPI_Comm comm
 
yarp::os::Semaphore sema
 

Private Attributes

std::string name
 

Constructor & Destructor Documentation

◆ MpiComm()

MpiComm::MpiComm ( std::string  name)

Definition at line 83 of file MpiComm.cpp.

◆ ~MpiComm()

yarp::os::MpiComm::~MpiComm ( )
inline

Definition at line 68 of file MpiComm.h.

Member Function Documentation

◆ accept()

bool MpiComm::accept ( )

Definition at line 153 of file MpiComm.cpp.

◆ closePort()

void yarp::os::MpiComm::closePort ( )
inline

Definition at line 82 of file MpiComm.h.

◆ connect()

bool MpiComm::connect ( std::string  port)

Definition at line 116 of file MpiComm.cpp.

◆ disconnect()

void MpiComm::disconnect ( bool  disconn)

Definition at line 181 of file MpiComm.cpp.

◆ notLocal()

bool MpiComm::notLocal ( std::string  other)

Definition at line 108 of file MpiComm.cpp.

◆ openPort()

void yarp::os::MpiComm::openPort ( )
inline

Definition at line 79 of file MpiComm.h.

◆ rank()

int yarp::os::MpiComm::rank ( )
inline

Definition at line 85 of file MpiComm.h.

Member Data Documentation

◆ comm

MPI_Comm yarp::os::MpiComm::comm

Definition at line 63 of file MpiComm.h.

◆ name

std::string yarp::os::MpiComm::name
private

Definition at line 58 of file MpiComm.h.

◆ port_name

char yarp::os::MpiComm::port_name[MPI_MAX_PORT_NAME]

Definition at line 61 of file MpiComm.h.

◆ sema

yarp::os::Semaphore yarp::os::MpiComm::sema

Definition at line 64 of file MpiComm.h.

◆ unique_id

char yarp::os::MpiComm::unique_id[10+MPI_MAX_PROCESSOR_NAME]

Definition at line 62 of file MpiComm.h.


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