![]() |
helics
2.8.1
|
#include <TcpCore.h>
Public Member Functions | |
TcpCoreSS () noexcept | |
TcpCoreSS (const std::string &coreName) | |
![]() | |
NetworkCore () noexcept | |
NetworkCore (const std::string &broker_name) | |
virtual std::string | generateLocalAddressString () const override |
![]() | |
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 () |
![]() | |
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< Message > | receive (interface_handle destination) override final |
virtual std::unique_ptr< Message > | receiveAny (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 |
![]() | |
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 |
![]() | |
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< helicsCLI11App > | generateCLI () override |
![]() | |
virtual void | processCommand (ActionMessage &&command) override final |
virtual void | processPriorityCommand (ActionMessage &&command) override final |
FederateState * | getFederateAt (local_federate_id federateID) const |
FederateState * | getFederate (const std::string &federateName) const |
FederateState * | getHandleFederate (interface_handle handle) |
const BasicHandleInfo * | getHandleInfo (interface_handle handle) const |
const BasicHandleInfo * | getLocalEndpoint (const std::string &name) const |
bool | allInitReady () const |
bool | allDisconnected () const |
operation_state | minFederateState () const |
![]() | |
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 | |
![]() | |
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 bool | isReasonForTick (std::uint32_t code, TickForwardingReasons reason) |
![]() | |
std::mutex | dataMutex |
mutex protecting the configuration information | |
NetworkBrokerData | netInfo |
structure containing the networking information | |
![]() | |
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 | |
![]() | |
std::atomic< global_broker_id > | global_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< ForwardingTimeCoordinator > | timeCoord |
object managing the time control | |
gmlc::containers::BlockingPriorityQueue< ActionMessage > | actionQueue |
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 | |
implementation for the core that uses tcp messages to communicate
|
noexcept |
default constructor
|
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().