helics  3.5.2
Public Member Functions | List of all members
helics::ipc::IpcComms Class Referencefinal

#include <IpcComms.h>

+ Inheritance diagram for helics::ipc::IpcComms:

Public Member Functions

 IpcComms ()
 
 ~IpcComms ()
 
virtual void loadNetworkInfo (const NetworkBrokerData &netInfo) override
 
int getPort () const
 
std::string getAddress () const
 
- Public Member Functions inherited from helics::CommsInterface
 CommsInterface ()=default
 
 CommsInterface (thread_generation threads)
 
virtual ~CommsInterface ()
 
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 core that uses boost interprocess messages to communicate

Constructor & Destructor Documentation

◆ IpcComms()

helics::ipc::IpcComms::IpcComms ( )

default constructor

References helics::CommsInterface::maxMessageCount.

◆ ~IpcComms()

helics::ipc::IpcComms::~IpcComms ( )

destructor

References helics::CommsInterface::disconnect().

Member Function Documentation

◆ getPort()

int helics::ipc::IpcComms::getPort ( ) const
inline

get the port number of the comms object to push message to

◆ loadNetworkInfo()

void helics::ipc::IpcComms::loadNetworkInfo ( const NetworkBrokerData netInfo)
overridevirtual

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