helics  2.8.1
Public Member Functions | Protected Member Functions | List of all members
helics::tcp::TcpCoreSS Class Referencefinal

#include <TcpCore.h>

+ Inheritance diagram for helics::tcp::TcpCoreSS:

Public Member Functions

 TcpCoreSS () noexcept
 
 TcpCoreSS (const std::string &coreName)
 
- Public Member Functions inherited from helics::NetworkCore< TcpCommsSS, interface_type::tcp >
 NetworkCore () noexcept
 
 NetworkCore (const std::string &broker_name)
 
virtual std::string generateLocalAddressString () const override
 
- Public Member Functions inherited from helics::CommsBroker< TcpCommsSS, CommonCore >
 CommsBroker () noexcept
 
 CommsBroker (bool arg) noexcept
 
 CommsBroker (const std::string &obj_name)
 
 ~CommsBroker ()
 
virtual void transmit (route_id rid, const ActionMessage &cmd) override
 
virtual void transmit (route_id rid, ActionMessage &&cmd) override
 
virtual void addRoute (route_id rid, int interfaceId, const std::string &routeInfo) override
 
virtual void removeRoute (route_id rid) override
 
TcpCommsSS * getCommsObjectPointer ()
 
- Public Member Functions inherited from helics::CommonCore
 CommonCore () noexcept
 
 CommonCore (bool arg) noexcept
 
 CommonCore (const std::string &coreName)
 
virtual ~CommonCore () override
 
virtual void configure (const std::string &configureString) override final
 
virtual void configureFromArgs (int argc, char *argv[]) override final
 
virtual void configureFromVector (std::vector< std::string > args) override final
 
virtual bool isConfigured () const override final
 
virtual bool isOpenToNewFederates () const override final
 
virtual bool hasError () const override final
 
virtual void globalError (local_federate_id federateID, int errorCode, const std::string &errorString) override final
 
virtual void localError (local_federate_id federateID, int errorCode, const std::string &errorString) override final
 
virtual int getErrorCode () const override final
 
virtual std::string getErrorMessage () const override final
 
virtual void finalize (local_federate_id federateID) override final
 
virtual void enterInitializingMode (local_federate_id federateID) override final
 
virtual void setCoreReadyToInit () override final
 
virtual iteration_result enterExecutingMode (local_federate_id federateID, iteration_request iterate=NO_ITERATION) override final
 
virtual local_federate_id registerFederate (const std::string &name, const CoreFederateInfo &info) override final
 
virtual const std::string & getFederateName (local_federate_id federateID) const override final
 
virtual local_federate_id getFederateId (const std::string &name) const override final
 
virtual int32_t getFederationSize () override final
 
virtual Time timeRequest (local_federate_id federateID, Time next) override final
 
virtual iteration_time requestTimeIterative (local_federate_id federateID, Time next, iteration_request iterate) override final
 
virtual Time getCurrentTime (local_federate_id federateID) const override final
 
virtual uint64_t getCurrentReiteration (local_federate_id federateID) const override final
 
virtual void setTimeProperty (local_federate_id federateID, int32_t property, Time time) override final
 
virtual void setIntegerProperty (local_federate_id federateID, int32_t property, int16_t propertyValue) override final
 
virtual Time getTimeProperty (local_federate_id federateID, int32_t property) const override final
 
virtual int16_t getIntegerProperty (local_federate_id federateID, int32_t property) const override final
 
virtual void setFlagOption (local_federate_id federateID, int32_t flag, bool flagValue=true) override final
 
virtual bool getFlagOption (local_federate_id federateID, int32_t flag) const override final
 
virtual interface_handle registerPublication (local_federate_id federateID, const std::string &key, const std::string &type, const std::string &units) override final
 
virtual interface_handle getPublication (local_federate_id federateID, const std::string &key) const override final
 
virtual interface_handle registerInput (local_federate_id federateID, const std::string &key, const std::string &type, const std::string &units) override final
 
virtual interface_handle getInput (local_federate_id federateID, const std::string &key) const override final
 
virtual const std::string & getHandleName (interface_handle handle) const override final
 
virtual void setHandleOption (interface_handle handle, int32_t option, int32_t option_value) override final
 
virtual int32_t getHandleOption (interface_handle handle, int32_t option) const override final
 
virtual void closeHandle (interface_handle handle) override final
 
virtual void removeTarget (interface_handle handle, const std::string &targetToRemove) override final
 
virtual void addDestinationTarget (interface_handle handle, const std::string &dest) override final
 
virtual void addSourceTarget (interface_handle handle, const std::string &name) override final
 
virtual const std::string & getInjectionUnits (interface_handle handle) const override final
 
virtual const std::string & getExtractionUnits (interface_handle handle) const override final
 
virtual const std::string & getInjectionType (interface_handle handle) const override final
 
virtual const std::string & getExtractionType (interface_handle handle) const override final
 
virtual void setValue (interface_handle handle, const char *data, uint64_t len) override final
 
virtual const std::shared_ptr< const data_block > & getValue (interface_handle handle, uint32_t *inputIndex) override final
 
virtual const std::vector< std::shared_ptr< const data_block > > & getAllValues (interface_handle handle) override final
 
virtual const std::vector< interface_handle > & getValueUpdates (local_federate_id federateID) override final
 
virtual interface_handle registerEndpoint (local_federate_id federateID, const std::string &name, const std::string &type) override final
 
virtual interface_handle getEndpoint (local_federate_id federateID, const std::string &name) const override final
 
virtual interface_handle registerFilter (const std::string &filterName, const std::string &type_in, const std::string &type_out) override final
 
virtual interface_handle registerCloningFilter (const std::string &filterName, const std::string &type_in, const std::string &type_out) override final
 
virtual interface_handle getFilter (const std::string &name) const override final
 
virtual void addDependency (local_federate_id federateID, const std::string &federateName) override final
 
virtual void registerFrequentCommunicationsPair (const std::string &source, const std::string &dest) override final
 
virtual void makeConnections (const std::string &file) override final
 
virtual void dataLink (const std::string &source, const std::string &target) override final
 
virtual void addSourceFilterToEndpoint (const std::string &filter, const std::string &endpoint) override final
 
virtual void addDestinationFilterToEndpoint (const std::string &filter, const std::string &endpoint) override final
 
virtual void send (interface_handle sourceHandle, const std::string &destination, const char *data, uint64_t length) override final
 
virtual void sendEvent (Time time, interface_handle sourceHandle, const std::string &destination, const char *data, uint64_t length) override final
 
virtual void sendMessage (interface_handle sourceHandle, std::unique_ptr< Message > message) override final
 
virtual uint64_t receiveCount (interface_handle destination) override final
 
virtual std::unique_ptr< Messagereceive (interface_handle destination) override final
 
virtual std::unique_ptr< MessagereceiveAny (local_federate_id federateID, interface_handle &endpoint_id) override final
 
virtual uint64_t receiveCountAny (local_federate_id federateID) override final
 
virtual void logMessage (local_federate_id federateID, int logLevel, const std::string &messageToLog) override final
 
virtual void setFilterOperator (interface_handle filter, std::shared_ptr< FilterOperator > callback) override final
 
void setIdentifier (const std::string &name)
 
virtual const std::string & getIdentifier () const override final
 
virtual const std::string & getAddress () const override final
 
const std::string & getFederateNameNoThrow (global_federate_id federateID) const noexcept
 
virtual void setLoggingLevel (int logLevel) override
 
virtual void setLoggingCallback (local_federate_id federateID, std::function< void(int, const std::string &, const std::string &)> logFunction) override final
 
virtual void setLogFile (const std::string &lfile) override final
 
virtual std::string query (const std::string &target, const std::string &queryStr, helics_sequencing_mode mode) override
 
virtual void setQueryCallback (local_federate_id federateID, std::function< std::string(const std::string &)> queryFunction) override
 
virtual void setGlobal (const std::string &valueName, const std::string &value) override
 
virtual bool connect () override final
 
virtual bool isConnected () const override final
 
virtual void disconnect () override final
 
virtual bool waitForDisconnect (std::chrono::milliseconds msToWait=std::chrono::milliseconds(0)) const override final
 
void unregister ()
 
virtual void processDisconnect (bool skipUnregister=false) override final
 
void checkInFlightQueriesForDisconnect ()
 
virtual void setInterfaceInfo (interface_handle handle, std::string info) override final
 
virtual const std::string & getInterfaceInfo (interface_handle handle) const override final
 
- Public Member Functions inherited from helics::Core
 Core ()=default
 
virtual ~Core ()=default
 
void initialize (const std::string &configureString)
 
void initializeFromArgs (int argc, char *argv[])
 
bool isInitialized () const
 
virtual void globalError (local_federate_id federateID, int32_t errorCode, const std::string &errorString)=0
 
virtual void localError (local_federate_id federateID, int32_t errorCode, const std::string &errorString)=0
 
void error (local_federate_id federateID, int32_t errorCode=-1)
 
const std::string & getUnits (interface_handle handle) const
 
- Public Member Functions inherited from helics::BrokerBase
 BrokerBase (bool DisableQueue=false) noexcept
 
 BrokerBase (const std::string &broker_name, bool DisableQueue=false)
 
int parseArgs (int argc, char *argv[])
 
int parseArgs (std::vector< std::string > args)
 
int parseArgs (const std::string &initializationString)
 
virtual void configureBase ()
 
void addActionMessage (const ActionMessage &m)
 
void addActionMessage (ActionMessage &&m)
 
void setLoggerFunction (std::function< void(int, const std::string &, const std::string &)> logFunction)
 
void logFlush ()
 
bool isRunning () const
 
void setLogLevel (int32_t level)
 
void setLogLevels (int32_t consoleLevel, int32_t fileLevel)
 
global_broker_id getGlobalId () const
 
std::function< void(int, const std::string &, const std::string &)> getLoggingCallback () const
 
void joinAllThreads ()
 
std::size_t currentMessageCounter () const
 

Protected Member Functions

virtual std::shared_ptr< helicsCLI11AppgenerateCLI () override
 
- Protected Member Functions inherited from helics::CommonCore
virtual void processCommand (ActionMessage &&command) override final
 
virtual void processPriorityCommand (ActionMessage &&command) override final
 
FederateStategetFederateAt (local_federate_id federateID) const
 
FederateStategetFederate (const std::string &federateName) const
 
FederateStategetHandleFederate (interface_handle handle)
 
const BasicHandleInfogetHandleInfo (interface_handle handle) const
 
const BasicHandleInfogetLocalEndpoint (const std::string &name) const
 
bool allInitReady () const
 
bool allDisconnected () const
 
operation_state minFederateState () const
 
- Protected Member Functions inherited from helics::BrokerBase
void setTickForwarding (TickForwardingReasons reason, bool value=true)
 
broker_state_t getBrokerState () const
 
bool setBrokerState (broker_state_t newState)
 
bool transitionBrokerState (broker_state_t expectedState, broker_state_t newState)
 
virtual bool sendToLogger (global_federate_id federateID, int logLevel, const std::string &name, const std::string &message) const
 
void saveProfilingData (const std::string &message)
 
void writeProfilingData ()
 
void generateNewIdentifier ()
 
virtual std::string generateLocalAddressString () const =0
 
void setErrorState (int eCode, const std::string &estring)
 
void setLoggingFile (const std::string &lfile)
 
bool getFlagValue (int32_t flag) const
 

Additional Inherited Members

- Protected Types inherited from helics::BrokerBase
enum  broker_state_t : int16_t {
  broker_state_t::created = -6, broker_state_t::configuring = -5, broker_state_t::configured = -4, broker_state_t::connecting = -3,
  broker_state_t::connected = -2, broker_state_t::initializing = -1, broker_state_t::operating = 0, broker_state_t::terminating = 1,
  broker_state_t::terminated = 3, broker_state_t::errored = 7
}
 
enum  TickForwardingReasons : uint32_t { none = 0, no_comms = 0x01, ping_response = 0x02, query_timeout = 0x04 }
 
- Static Protected Member Functions inherited from helics::BrokerBase
static bool isReasonForTick (std::uint32_t code, TickForwardingReasons reason)
 
- Protected Attributes inherited from helics::NetworkCore< TcpCommsSS, interface_type::tcp >
std::mutex dataMutex
 mutex protecting the configuration information
 
NetworkBrokerData netInfo
 structure containing the networking information
 
- Protected Attributes inherited from helics::CommsBroker< TcpCommsSS, CommonCore >
std::atomic< int > disconnectionStage
 the stage of disconnection
 
std::unique_ptr< TcpCommsSS > comms
 the actual comms object
 
std::atomic< bool > brokerInitialized
 atomic protecting local initialization
 
- Protected Attributes inherited from helics::BrokerBase
std::atomic< global_broker_idglobal_id
 the unique identifier for the broker(core or broker) More...
 
global_broker_id global_broker_id_local {}
 
global_broker_id higher_broker_id {0}
 the id code of the broker 1 level about this broker
 
std::atomic< int32_t > maxLogLevel
 the logging level to use levels >=this will be ignored More...
 
int32_t consoleLogLevel {1}
 the logging level for console display
 
int32_t fileLogLevel {1}
 the logging level for logging to a file
 
int32_t minFederateCount
 the minimum number of federates that must connect before entering init mode More...
 
int32_t minBrokerCount
 the minimum number of brokers that must connect before entering init mode More...
 
int32_t maxFederateCount {(std::numeric_limits<int32_t>::max)()}
 
int32_t maxBrokerCount {(std::numeric_limits<int32_t>::max)()}
 
int32_t maxIterationCount {10000}
 the maximum number of iterative loops that are allowed
 
Time tickTimer {5.0}
 the length of each heartbeat tick
 
Time timeout {30.0}
 timeout to wait to establish a broker connection before giving up
 
Time networkTimeout {-1.0}
 timeout to establish a socket connection before giving up
 
Time queryTimeout {15.0}
 
Time errorDelay {10.0}
 time to delay before terminating after error state
 
std::string identifier
 an identifier for the broker
 
std::string brokerKey
 
std::string address
 network location of the broker
 
std::shared_ptr< spdlog::logger > consoleLogger
 default logging object to use if the logging callback is not specified
 
std::shared_ptr< spdlog::logger > fileLogger
 default logging object to use if the logging callback is not specified
 
std::thread queueProcessingThread
 thread for running the broker
 
std::function< void(int, const std::string &, const std::string &)> loggerFunction
 
std::atomic< bool > haltOperations
 flag indicating that no further message should be processed More...
 
bool restrictive_time_policy
 flag indicating the broker should use a conservative time policy More...
 
bool terminate_on_error
 flag indicating that the federation should halt on any error More...
 
bool debugging {false}
 flag indicating operation in a user debugging mode
 
std::string logFile
 the file to log message to
 
std::unique_ptr< ForwardingTimeCoordinatortimeCoord
 object managing the time control
 
gmlc::containers::BlockingPriorityQueue< ActionMessageactionQueue
 primary routing queue
 
bool noAutomaticID {false}
 the broker should not automatically generate an ID
 
bool hasTimeDependency {false}
 set to true if the broker has Time dependencies
 
bool enteredExecutionMode
 flag indicating that the broker has entered execution mode More...
 
bool waitingForBrokerPingReply {false}
 flag indicating we are waiting for a ping reply
 
bool hasFilters {false}
 flag indicating filters come through the broker
 
bool no_ping {false}
 indicator that the broker is not very responsive to ping requests
 
bool uuid_like {false}
 will be set to true if the name looks like a uuid
 
bool useJsonSerialization {false}
 
bool enable_profiling {false}
 indicator that profiling is enabled
 
decltype(std::chrono::steady_clock::now()) errorTimeStart
 time when the error condition started related to the errorDelay
 
std::atomic< int > lastErrorCode {0}
 storage for last error code
 
std::string lastErrorString
 storage for last error string
 

Detailed Description

implementation for the core that uses tcp messages to communicate

Constructor & Destructor Documentation

◆ TcpCoreSS()

helics::tcp::TcpCoreSS::TcpCoreSS ( )
noexcept

default constructor

Member Function Documentation

◆ generateCLI()

std::shared_ptr< helicsCLI11App > helics::tcp::TcpCoreSS::generateCLI ( )
overrideprotectedvirtual

generate a CLI11 Application for subprocesses for processing of command line arguments

Reimplemented from helics::NetworkCore< TcpCommsSS, interface_type::tcp >.

References helics::NetworkCore< COMMS, baseline >::generateCLI().


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