| helics 3.6.1

Public Member Functions | List of all members
helics::mpi::MpiComms Class Referencefinal

`#include <MpiComms.h>`

Inheritance diagram for helics::mpi::MpiComms:

## Public Member Functions
| MpiComms ()
| ~MpiComms ()
void | setBrokerAddress (const std::string &address)
std::string | getAddress ()
gmlc::containers::BlockingQueue< ActionMessage > & | getRxMessageQueue ()
gmlc::containers::BlockingQueue< std::pair< std::pair< int, int >, std::vector< char > > > & | getTxMessageQueue ()
Public Member Functions inherited from helics::CommsInterface
| CommsInterface ()=default
| CommsInterface (thread_generation threads)
virtual | ~CommsInterface ()
virtual void | loadNetworkInfo (const NetworkBrokerData &netInfo)
void | loadTargetInfo (std::string_view localTarget, std::string_view brokerTarget, gmlc::networking::InterfaceNetworks targetNetwork=gmlc::networking::InterfaceNetworks::LOCAL)
void | transmit (route_id rid, const ActionMessage &cmd)
void | transmit (route_id rid, ActionMessage &&cmd)
void | addRoute (route_id rid, std::string_view routeInfo)
void | removeRoute (route_id rid)
bool | connect ()
void | disconnect ()
bool | reconnect ()
void | setName (const std::string &commName)
void | setRequireBrokerConnection (bool requireBrokerConnection)
void | setCallback (std::function< void(ActionMessage &&)> callback)
void | setLoggingCallback (std::function< void(int level, std::string_view name, std::string_view message)> callback)
void | setMessageSize (int maxMsgSize, int maxCount)
bool | isConnected () const
void | setTimeout (std::chrono::milliseconds timeOut)
virtual void | setFlag (std::string_view flag, bool val)
void | setServerMode (bool serverActive)
void | logWarning (std::string_view message) const
void | logError (std::string_view message) const
void | logMessage (std::string_view message) const

## Additional Inherited Members
Public Types inherited from helics::CommsInterface
enum class | thread_generation { single , dual }
Protected Types inherited from helics::CommsInterface
enum class | ConnectionStatus : int { STARTUP = -1 , CONNECTED = 0 , RECONNECTING = 1 , TERMINATED = 2 , ERRORED = 4 }
Protected Member Functions inherited from helics::CommsInterface
void | setTxStatus (ConnectionStatus status)
void | setRxStatus (ConnectionStatus status)
ConnectionStatus | getRxStatus () const
ConnectionStatus | getTxStatus () const
bool | propertyLock ()
void | propertyUnLock ()
void | join_tx_rx_thread ()
const std::string & | getRandomID () const
Protected Attributes inherited from helics::CommsInterface
gmlc::concurrency::TriggerVariable | rxTrigger
std::string | name
| the name of the object
std::string | localTargetAddress
| the base for the receive address
std::string | brokerTargetAddress
| the base for the broker address
std::string | brokerName
std::string | brokerInitString
| the initialization string for any automatically generated broker
bool | mRequireBrokerConnection
| specify that the comms should assume we have a broker More...
bool | serverMode {true}
| some comms have a server mode and non-server mode
bool | autoBroker {false}
| the broker should be automatically generated if needed
bool | useJsonSerialization {false}
| true to make all connections use JSON serialization
bool | observer {false}
| true for connections that are for observation only
std::chrono::milliseconds | connectionTimeout {4000}
int | maxMessageSize = 16 * 1024
| the maximum message size for the queues (if needed)
int | maxMessageCount = 512
| the maximum number of message to buffer (if needed)
std::atomic< bool > | requestDisconnect {false}
| flag gets set when disconnect is called
std::function< void(ActionMessage &&)> | ActionCallback
| the callback for what to do with a received message
std::function< void(int level, std::string_view name, std::string_view message)> | loggingCallback
| callback for logging
gmlc::containers::BlockingPriorityQueue< std::pair< route_id, ActionMessage > > | txQueue
| set of messages waiting to be transmitted
std::atomic< bool > | disconnecting
| flag indicating that the comm system is in the process of disconnecting More...
gmlc::networking::InterfaceNetworks | interfaceNetwork

## Detailed Description

implementation for the communication interface that uses MPI to communicate

## Constructor & Destructor Documentation

## ◆ MpiComms()

helics::mpi::MpiComms::MpiComms | ( |  | ) |

default constructor

References helics::CommsInterface::localTargetAddress, and helics::CommsInterface::logMessage().

## ◆ ~MpiComms()

helics::mpi::MpiComms::~MpiComms | ( |  | ) |

destructor

References helics::CommsInterface::disconnect().

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

- MpiComms.h
- MpiComms.cpp