From 035d5fb35321a801975ada27e43301d5c5ffc23c Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Thu, 22 Jun 2017 19:52:30 +0200 Subject: [PATCH] Provide accessors for device members that are part of publiv API --- fairmq/FairMQDevice.cxx | 12 +++--- fairmq/FairMQDevice.h | 39 ++++++++++++++----- .../control/FairMQDDSControlPlugin.cxx | 2 +- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/fairmq/FairMQDevice.cxx b/fairmq/FairMQDevice.cxx index 07fe15d5..fe738540 100644 --- a/fairmq/FairMQDevice.cxx +++ b/fairmq/FairMQDevice.cxx @@ -50,22 +50,22 @@ FairMQDevice::FairMQDevice() : fChannels() , fConfig(nullptr) , fId() - , fNetworkInterface() - , fDefaultTransport() - , fInitializationTimeoutInS(120) , fNumIoThreads(1) - , fPortRangeMin(22000) - , fPortRangeMax(32000) , fTransportFactory(nullptr) , fTransports() - , fDeviceCmdSockets() , fInitialValidationFinished(false) , fInitialValidationCondition() , fInitialValidationMutex() + , fPortRangeMin(22000) + , fPortRangeMax(32000) + , fNetworkInterface() + , fDefaultTransport() + , fInitializationTimeoutInS(120) , fCatchingSignals(false) , fTerminationRequested(false) , fInteractiveRunning(false) , fDataCallbacks(false) + , fDeviceCmdSockets() , fMsgInputs() , fMultipartInputs() , fMultitransportInputs() diff --git a/fairmq/FairMQDevice.h b/fairmq/FairMQDevice.h index 11947716..d8a3d8e2 100644 --- a/fairmq/FairMQDevice.h +++ b/fairmq/FairMQDevice.h @@ -406,6 +406,27 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable } } + void SetId(const std::string& id) { fId = id; } + std::string GetId() { return fId; } + + void SetNumIoThreads(int numIoThreads) { fNumIoThreads = numIoThreads; } + int GetNumIoThreads() { return fNumIoThreads; } + + void SetPortRangeMin(int portRangeMin) { fPortRangeMin = portRangeMin; } + int GetPortRangeMin() { return fPortRangeMin; } + + void SetPortRangeMax(int portRangeMax) { fPortRangeMax = portRangeMax; } + int GetPortRangeMax() { return fPortRangeMax; } + + void SetNetworkInterface(const std::string& networkInterface) { fNetworkInterface = networkInterface; } + std::string GetNetworkInterface() { return fNetworkInterface; } + + void SetDefaultTransport(const std::string& defaultTransport) { fDefaultTransport = defaultTransport; } + std::string GetDefaultTransport() { return fDefaultTransport; } + + void SetInitializationTimeoutInS(int initializationTimeoutInS) { fInitializationTimeoutInS = initializationTimeoutInS; } + int GetInitializationTimeoutInS() { return fInitializationTimeoutInS; } + protected: std::shared_ptr fTransportFactory; ///< Transport factory std::unordered_map> fTransports; ///< Container for transports @@ -416,18 +437,9 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable protected: std::string fId; ///< Device ID - std::string fNetworkInterface; ///< Network interface to use for dynamic binding - std::string fDefaultTransport; ///< Default transport for the device - - int fInitializationTimeoutInS; ///< Timeout for the initialization (in seconds) int fNumIoThreads; ///< Number of ZeroMQ I/O threads - int fPortRangeMin; ///< Minimum value for the port range (if dynamic) - int fPortRangeMax; ///< Maximum value for the port range (if dynamic) - - std::unordered_map fDeviceCmdSockets; ///< Sockets used for the internal unblocking mechanism - /// Additional user initialization (can be overloaded in child classes). Prefer to use InitTask(). virtual void Init(); @@ -461,6 +473,14 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable std::condition_variable fInitialValidationCondition; std::mutex fInitialValidationMutex; + int fPortRangeMin; ///< Minimum value for the port range (if dynamic) + int fPortRangeMax; ///< Maximum value for the port range (if dynamic) + + std::string fNetworkInterface; ///< Network interface to use for dynamic binding + std::string fDefaultTransport; ///< Default transport for the device + + int fInitializationTimeoutInS; ///< Timeout for the initialization (in seconds) + /// Handles the initialization and the Init() method void InitWrapper(); /// Handles the InitTask() method @@ -509,6 +529,7 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable std::atomic fInteractiveRunning; bool fDataCallbacks; + std::unordered_map fDeviceCmdSockets; ///< Sockets used for the internal unblocking mechanism std::unordered_map fMsgInputs; std::unordered_map fMultipartInputs; std::unordered_map> fMultitransportInputs; diff --git a/fairmq/plugins/control/FairMQDDSControlPlugin.cxx b/fairmq/plugins/control/FairMQDDSControlPlugin.cxx index ffbc7019..1d475093 100644 --- a/fairmq/plugins/control/FairMQDDSControlPlugin.cxx +++ b/fairmq/plugins/control/FairMQDDSControlPlugin.cxx @@ -51,7 +51,7 @@ class FairMQControlPluginDDS void Init(FairMQDevice& device) { - string id = device.GetProperty(FairMQDevice::Id, ""); + string id = device.GetId(); string pid(to_string(getpid())); try