helics  3.0.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, InterfaceTypes::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 (LocalFederateId federateID, int errorCode, const std::string &errorString) override final
 
virtual void localError (LocalFederateId 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 (LocalFederateId federateID) override final
 
virtual void enterInitializingMode (LocalFederateId federateID) override final
 
virtual void setCoreReadyToInit () override final
 
virtual IterationResult enterExecutingMode (LocalFederateId federateID, IterationRequest iterate=NO_ITERATION) override final
 
virtual LocalFederateId registerFederate (const std::string &name, const CoreFederateInfo &info) override final
 
virtual const std::string & getFederateName (LocalFederateId federateID) const override final
 
virtual LocalFederateId getFederateId (const std::string &name) const override final
 
virtual int32_t getFederationSize () override final
 
virtual Time timeRequest (LocalFederateId federateID, Time next) override final
 
virtual iteration_time requestTimeIterative (LocalFederateId federateID, Time next, IterationRequest iterate) override final
 
virtual Time getCurrentTime (LocalFederateId federateID) const override final
 
virtual uint64_t getCurrentReiteration (LocalFederateId federateID) const override final
 
virtual void setTimeProperty (LocalFederateId federateID, int32_t property, Time time) override final
 
virtual void setIntegerProperty (LocalFederateId federateID, int32_t property, int16_t propertyValue) override final
 
virtual Time getTimeProperty (LocalFederateId federateID, int32_t property) const override final
 
virtual int16_t getIntegerProperty (LocalFederateId federateID, int32_t property) const override final
 
virtual void setFlagOption (LocalFederateId federateID, int32_t flag, bool flagValue=true) override final
 
virtual bool getFlagOption (LocalFederateId federateID, int32_t flag) const override final
 
virtual InterfaceHandle registerPublication (LocalFederateId federateID, const std::string &key, const std::string &type, const std::string &units) override final
 
virtual InterfaceHandle getPublication (LocalFederateId federateID, const std::string &key) const override final
 
virtual InterfaceHandle registerInput (LocalFederateId federateID, const std::string &key, const std::string &type, const std::string &units) override final
 
virtual InterfaceHandle getInput (LocalFederateId federateID, const std::string &key) const override final
 
virtual const std::string & getHandleName (InterfaceHandle handle) const override final
 
virtual void setHandleOption (InterfaceHandle handle, int32_t option, int32_t option_value) override final
 
virtual int32_t getHandleOption (InterfaceHandle handle, int32_t option) const override final
 
virtual void closeHandle (InterfaceHandle handle) override final
 
virtual void removeTarget (InterfaceHandle handle, std::string_view targetToRemove) override final
 
virtual void addDestinationTarget (InterfaceHandle handle, std::string_view dest, InterfaceType hint) override final
 
virtual void addSourceTarget (InterfaceHandle handle, std::string_view name, InterfaceType hint) override final
 
virtual const std::string & getDestinationTargets (InterfaceHandle handle) const override final
 
virtual const std::string & getSourceTargets (InterfaceHandle handle) const override final
 
virtual const std::string & getInjectionUnits (InterfaceHandle handle) const override final
 
virtual const std::string & getExtractionUnits (InterfaceHandle handle) const override final
 
virtual const std::string & getInjectionType (InterfaceHandle handle) const override final
 
virtual const std::string & getExtractionType (InterfaceHandle handle) const override final
 
virtual void setValue (InterfaceHandle handle, const char *data, uint64_t len) override final
 
virtual const std::shared_ptr< const SmallBuffer > & getValue (InterfaceHandle handle, uint32_t *inputIndex) override final
 
virtual const std::vector< std::shared_ptr< const SmallBuffer > > & getAllValues (InterfaceHandle handle) override final
 
virtual const std::vector< InterfaceHandle > & getValueUpdates (LocalFederateId federateID) override final
 
virtual InterfaceHandle registerEndpoint (LocalFederateId federateID, const std::string &name, const std::string &type) override final
 
virtual InterfaceHandle registerTargetedEndpoint (LocalFederateId federateID, const std::string &name, const std::string &type) override final
 
virtual InterfaceHandle getEndpoint (LocalFederateId federateID, const std::string &name) const override final
 
virtual InterfaceHandle registerFilter (const std::string &filterName, const std::string &type_in, const std::string &type_out) override final
 
virtual InterfaceHandle registerCloningFilter (const std::string &filterName, const std::string &type_in, const std::string &type_out) override final
 
virtual InterfaceHandle getFilter (const std::string &name) const override final
 
virtual void addDependency (LocalFederateId federateID, const std::string &federateName) override final
 
virtual void linkEndpoints (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 (InterfaceHandle sourceHandle, const void *data, uint64_t length) override final
 
virtual void sendAt (InterfaceHandle sourceHandle, const void *data, uint64_t length, Time time) override final
 
virtual void sendTo (InterfaceHandle sourceHandle, const void *data, uint64_t length, std::string_view destination) override final
 
virtual void sendToAt (InterfaceHandle sourceHandle, const void *data, uint64_t length, std::string_view destination, Time time) override final
 
virtual void sendMessage (InterfaceHandle sourceHandle, std::unique_ptr< Message > message) override final
 
virtual uint64_t receiveCount (InterfaceHandle destination) override final
 
virtual std::unique_ptr< Messagereceive (InterfaceHandle destination) override final
 
virtual std::unique_ptr< MessagereceiveAny (LocalFederateId federateID, InterfaceHandle &endpoint_id) override final
 
virtual uint64_t receiveCountAny (LocalFederateId federateID) override final
 
virtual void logMessage (LocalFederateId federateID, int logLevel, const std::string &messageToLog) override final
 
virtual void setFilterOperator (InterfaceHandle 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 (GlobalFederateId federateID) const noexcept
 
virtual void setLoggingLevel (int logLevel) override
 
virtual void setLoggingCallback (LocalFederateId federateID, std::function< void(int, std::string_view, std::string_view)> logFunction) override final
 
virtual void setLogFile (const std::string &lfile) override final
 
virtual std::string query (const std::string &target, const std::string &queryStr, HelicsSequencingModes mode) override
 
virtual void setQueryCallback (LocalFederateId federateID, std::function< std::string(std::string_view)> queryFunction) override
 
virtual void setGlobal (const std::string &valueName, const std::string &value) override
 
virtual void sendCommand (const std::string &target, const std::string &commandStr, const std::string &source, HelicsSequencingModes mode) override
 
virtual std::pair< std::string, std::string > getCommand (LocalFederateId federateID) override
 
virtual std::pair< std::string, std::string > waitCommand (LocalFederateId federateID) 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 (InterfaceHandle handle, std::string info) override final
 
virtual const std::string & getInterfaceInfo (InterfaceHandle handle) const override final
 
virtual void setInterfaceTag (InterfaceHandle handle, const std::string &tag, const std::string &value) override final
 
virtual const std::string & getInterfaceTag (InterfaceHandle handle, const std::string &tag) const override final
 
virtual void setFederateTag (LocalFederateId fid, const std::string &tag, const std::string &value) override final
 
virtual const std::string & getFederateTag (LocalFederateId fid, const std::string &tag) const override final
 
- Public Member Functions inherited from helics::Core
 Core ()=default
 
virtual ~Core ()=default
 
virtual void globalError (LocalFederateId federateID, int32_t errorCode, const std::string &errorString)=0
 
virtual void localError (LocalFederateId federateID, int32_t errorCode, const std::string &errorString)=0
 
- 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 level, std::string_view identifier, std::string_view message)> logFunction)
 
void logFlush ()
 
bool isRunning () const
 
void setLogLevel (int32_t level)
 
void setLogLevels (int32_t consoleLevel, int32_t fileLevel)
 
GlobalBrokerId 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 (LocalFederateId federateID) const
 
FederateStategetFederate (const std::string &federateName) const
 
FederateStategetHandleFederate (InterfaceHandle handle)
 
const BasicHandleInfogetHandleInfo (InterfaceHandle handle) const
 
const BasicHandleInfogetLocalEndpoint (const std::string &name) const
 
bool allInitReady () const
 
bool allDisconnected () const
 
operation_state minFederateState () const
 
virtual double getSimulationTime () const override
 
- Protected Member Functions inherited from helics::BrokerBase
void setTickForwarding (TickForwardingReasons reason, bool value=true)
 
BrokerState getBrokerState () const
 
bool setBrokerState (BrokerState newState)
 
bool transitionBrokerState (BrokerState expectedState, BrokerState newState)
 
virtual bool sendToLogger (GlobalFederateId federateID, int logLevel, std::string_view name, std::string_view message) const
 
void saveProfilingData (std::string_view message)
 
void writeProfilingData ()
 
void generateNewIdentifier ()
 
virtual std::string generateLocalAddressString () const =0
 
void setErrorState (int eCode, std::string_view estring)
 
void setLoggingFile (const std::string &lfile)
 
bool getFlagValue (int32_t flag) const
 

Additional Inherited Members

- Protected Types inherited from helics::BrokerBase
enum  BrokerState : int16_t {
  BrokerState::created = -6, BrokerState::configuring = -5, BrokerState::configured = -4, BrokerState::connecting = -3,
  BrokerState::connected = -2, BrokerState::initializing = -1, BrokerState::operating = 0, BrokerState::terminating = 1,
  BrokerState::terminated = 3, BrokerState::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, InterfaceTypes::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< GlobalBrokerIdglobal_id {parent_broker_id}
 
GlobalBrokerId global_broker_id_local {}
 
GlobalBrokerId higher_broker_id {0}
 the id code of the broker 1 level about this broker
 
std::atomic< int32_t > maxLogLevel {HELICS_LOG_LEVEL_WARNING}
 
int32_t consoleLogLevel {HELICS_LOG_LEVEL_WARNING}
 the logging level for console display
 
int32_t fileLogLevel {HELICS_LOG_LEVEL_WARNING}
 the logging level for logging to a file
 
int32_t minFederateCount {1}
 
int32_t minBrokerCount {0}
 
int32_t maxFederateCount {(std::numeric_limits<int32_t>::max)()}
 
int32_t maxBrokerCount {(std::numeric_limits<int32_t>::max)()}
 
int32_t minChildCount {0}
 
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
 
Time grantTimeout {-1.0}
 timeout for triggering diagnostic action waiting for a time grant
 
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, std::string_view, std::string_view)> loggerFunction
 
std::atomic< bool > haltOperations {false}
 flag indicating that no further message should be processed
 
bool restrictive_time_policy {false}
 flag indicating the broker should use a conservative time policy
 
bool terminate_on_error {false}
 flag indicating that the federation should halt on any error
 
bool debugging {false}
 flag indicating operation in a user debugging mode
 
bool observer {false}
 flag indicating that the broker is an observer only
 
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
 
- Static Protected Attributes inherited from helics::BrokerBase
static constexpr double mInvalidSimulationTime {-98763.2}
 

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, InterfaceTypes::TCP >.

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


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