mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 00:31:14 +00:00
Rename device property to have a common format and some code cleanup.
FairMQDevice: Rename property for socket rate logging to have common format (old name is still available for compatibility). FairMQ: Avoid using std namespace in class headers (may require adding std namespace to some child devices). FairMQ: A bit of code cleanup FairMQConfigurable: Stop with an error if a property assignment failed due to incorrect key.
This commit is contained in:
parent
61f24eb73a
commit
26a1033e9d
|
@ -12,27 +12,36 @@
|
|||
* @author D. Klein, A. Rybalchenko
|
||||
*/
|
||||
|
||||
#include "FairMQLogger.h"
|
||||
#include "FairMQConfigurable.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQConfigurable::FairMQConfigurable()
|
||||
{
|
||||
}
|
||||
|
||||
void FairMQConfigurable::SetProperty(const int key, const string& value, const int slot /*= 0*/)
|
||||
{
|
||||
LOG(ERROR) << "Reached end of the property list. SetProperty(" << key << ", " << value << ") has no effect.";
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
string FairMQConfigurable::GetProperty(const int key, const string& default_ /*= ""*/, const int slot /*= 0*/)
|
||||
{
|
||||
LOG(ERROR) << "Reached end of the property list. The requested property " << key << " was not found.";
|
||||
return default_;
|
||||
}
|
||||
|
||||
void FairMQConfigurable::SetProperty(const int key, const int value, const int slot /*= 0*/)
|
||||
{
|
||||
LOG(ERROR) << "Reached end of the property list. SetProperty(" << key << ", " << value << ") has no effect.";
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
int FairMQConfigurable::GetProperty(const int key, const int default_ /*= 0*/, const int slot /*= 0*/)
|
||||
{
|
||||
LOG(ERROR) << "Reached end of the property list. The requested property " << key << " was not found.";
|
||||
return default_;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQConfigurable
|
||||
{
|
||||
public:
|
||||
|
@ -27,8 +25,8 @@ class FairMQConfigurable
|
|||
Last = 1
|
||||
};
|
||||
FairMQConfigurable();
|
||||
virtual void SetProperty(const int key, const string& value, const int slot = 0);
|
||||
virtual string GetProperty(const int key, const string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const std::string& value, const int slot = 0);
|
||||
virtual std::string GetProperty(const int key, const std::string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const int value, const int slot = 0);
|
||||
virtual int GetProperty(const int key, const int default_ = 0, const int slot = 0);
|
||||
virtual ~FairMQConfigurable();
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#include "FairMQDevice.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQDevice::FairMQDevice()
|
||||
: fId()
|
||||
, fNumIoThreads(1)
|
||||
|
@ -32,13 +34,13 @@ FairMQDevice::FairMQDevice()
|
|||
, fInputSocketType()
|
||||
, fInputSndBufSize()
|
||||
, fInputRcvBufSize()
|
||||
, fLogInputRate()
|
||||
, fInputRateLogging()
|
||||
, fOutputAddress()
|
||||
, fOutputMethod()
|
||||
, fOutputSocketType()
|
||||
, fOutputSndBufSize()
|
||||
, fOutputRcvBufSize()
|
||||
, fLogOutputRate()
|
||||
, fOutputRateLogging()
|
||||
, fPayloadInputs(new vector<FairMQSocket*>())
|
||||
, fPayloadOutputs(new vector<FairMQSocket*>())
|
||||
, fLogIntervalInMs(1000)
|
||||
|
@ -57,7 +59,7 @@ void FairMQDevice::Init()
|
|||
fInputSocketType.push_back("sub"); // default value, can be overwritten in configuration
|
||||
fInputSndBufSize.push_back(10000); // default value, can be overwritten in configuration
|
||||
fInputRcvBufSize.push_back(10000); // default value, can be overwritten in configuration
|
||||
fLogInputRate.push_back(1); // default value, can be overwritten in configuration
|
||||
fInputRateLogging.push_back(1); // default value, can be overwritten in configuration
|
||||
}
|
||||
|
||||
for (int i = 0; i < fNumOutputs; ++i)
|
||||
|
@ -67,7 +69,7 @@ void FairMQDevice::Init()
|
|||
fOutputSocketType.push_back("pub"); // default value, can be overwritten in configuration
|
||||
fOutputSndBufSize.push_back(10000); // default value, can be overwritten in configuration
|
||||
fOutputRcvBufSize.push_back(10000); // default value, can be overwritten in configuration
|
||||
fLogOutputRate.push_back(1); // default value, can be overwritten in configuration
|
||||
fOutputRateLogging.push_back(1); // default value, can be overwritten in configuration
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -117,7 +119,7 @@ void FairMQDevice::Bind()
|
|||
{
|
||||
if (!fPayloadOutputs->at(i)->Bind(fOutputAddress.at(i)))
|
||||
{
|
||||
LOG(DEBUG) << "binding output #" << i << " on " << fOutputAddress.at(i) << "failed, trying to find port in range";
|
||||
LOG(DEBUG) << "binding output #" << i << " on " << fOutputAddress.at(i) << " failed, trying to find port in range";
|
||||
LOG(INFO) << "port range: " << fPortRangeMin << " - " << fPortRangeMax;
|
||||
do {
|
||||
++numAttempts;
|
||||
|
@ -146,7 +148,7 @@ void FairMQDevice::Bind()
|
|||
{
|
||||
if (!fPayloadInputs->at(i)->Bind(fInputAddress.at(i)))
|
||||
{
|
||||
LOG(DEBUG) << "binding input #" << i << " on " << fInputAddress.at(i) << "failed, trying to find port in range";
|
||||
LOG(DEBUG) << "binding input #" << i << " on " << fInputAddress.at(i) << " failed, trying to find port in range";
|
||||
LOG(INFO) << "port range: " << fPortRangeMin << " - " << fPortRangeMax;
|
||||
do {
|
||||
++numAttempts;
|
||||
|
@ -266,6 +268,11 @@ void FairMQDevice::SetProperty(const int key, const int value, const int slot /*
|
|||
fInputRcvBufSize.erase(fInputRcvBufSize.begin() + slot);
|
||||
fInputRcvBufSize.insert(fInputRcvBufSize.begin() + slot, value);
|
||||
break;
|
||||
case InputRateLogging:
|
||||
case LogInputRate: // keep this for backwards compatibility for a while
|
||||
fInputRateLogging.erase(fInputRateLogging.begin() + slot);
|
||||
fInputRateLogging.insert(fInputRateLogging.begin() + slot, value);
|
||||
break;
|
||||
case OutputSndBufSize:
|
||||
fOutputSndBufSize.erase(fOutputSndBufSize.begin() + slot);
|
||||
fOutputSndBufSize.insert(fOutputSndBufSize.begin() + slot, value);
|
||||
|
@ -274,13 +281,10 @@ void FairMQDevice::SetProperty(const int key, const int value, const int slot /*
|
|||
fOutputRcvBufSize.erase(fOutputRcvBufSize.begin() + slot);
|
||||
fOutputRcvBufSize.insert(fOutputRcvBufSize.begin() + slot, value);
|
||||
break;
|
||||
case LogInputRate:
|
||||
fLogInputRate.erase(fLogInputRate.begin() + slot);
|
||||
fLogInputRate.insert(fLogInputRate.begin() + slot, value);
|
||||
break;
|
||||
case LogOutputRate:
|
||||
fLogOutputRate.erase(fLogOutputRate.begin() + slot);
|
||||
fLogOutputRate.insert(fLogOutputRate.begin() + slot, value);
|
||||
case OutputRateLogging:
|
||||
case LogOutputRate: // keep this for backwards compatibility for a while
|
||||
fOutputRateLogging.erase(fOutputRateLogging.begin() + slot);
|
||||
fOutputRateLogging.insert(fOutputRateLogging.begin() + slot, value);
|
||||
break;
|
||||
default:
|
||||
FairMQConfigurable::SetProperty(key, value, slot);
|
||||
|
@ -333,14 +337,16 @@ int FairMQDevice::GetProperty(const int key, const int default_ /*= 0*/, const i
|
|||
return fInputSndBufSize.at(slot);
|
||||
case InputRcvBufSize:
|
||||
return fInputRcvBufSize.at(slot);
|
||||
case InputRateLogging:
|
||||
case LogInputRate: // keep this for backwards compatibility for a while
|
||||
return fInputRateLogging.at(slot);
|
||||
case OutputSndBufSize:
|
||||
return fOutputSndBufSize.at(slot);
|
||||
case OutputRcvBufSize:
|
||||
return fOutputRcvBufSize.at(slot);
|
||||
case LogInputRate:
|
||||
return fLogInputRate.at(slot);
|
||||
case LogOutputRate:
|
||||
return fLogOutputRate.at(slot);
|
||||
case OutputRateLogging:
|
||||
case LogOutputRate: // keep this for backwards compatibility for a while
|
||||
return fOutputRateLogging.at(slot);
|
||||
default:
|
||||
return FairMQConfigurable::GetProperty(key, default_, slot);
|
||||
}
|
||||
|
@ -366,7 +372,7 @@ void FairMQDevice::LogSocketRates()
|
|||
int i = 0;
|
||||
for (vector<FairMQSocket*>::iterator itr = fPayloadInputs->begin(); itr != fPayloadInputs->end(); itr++)
|
||||
{
|
||||
if (fLogInputRate.at(i) > 0)
|
||||
if (fInputRateLogging.at(i) > 0)
|
||||
{
|
||||
filteredInputs.push_back((*itr));
|
||||
++numFilteredInputs;
|
||||
|
@ -377,7 +383,7 @@ void FairMQDevice::LogSocketRates()
|
|||
i = 0;
|
||||
for (vector<FairMQSocket*>::iterator itr = fPayloadOutputs->begin(); itr != fPayloadOutputs->end(); itr++)
|
||||
{
|
||||
if (fLogOutputRate.at(i) > 0)
|
||||
if (fOutputRateLogging.at(i) > 0)
|
||||
{
|
||||
filteredOutputs.push_back((*itr));
|
||||
++numFilteredOutputs;
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
#include "FairMQTransportFactory.h"
|
||||
#include "FairMQSocket.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
||||
{
|
||||
public:
|
||||
|
@ -42,14 +40,16 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
|||
InputSocketType,
|
||||
InputSndBufSize,
|
||||
InputRcvBufSize,
|
||||
InputRateLogging,
|
||||
OutputAddress,
|
||||
OutputMethod,
|
||||
OutputSocketType,
|
||||
OutputSndBufSize,
|
||||
OutputRcvBufSize,
|
||||
OutputRateLogging,
|
||||
LogInputRate, // keep this for backwards compatibility for a while
|
||||
LogOutputRate, // keep this for backwards compatibility for a while
|
||||
LogIntervalInMs,
|
||||
LogInputRate,
|
||||
LogOutputRate,
|
||||
Last
|
||||
};
|
||||
|
||||
|
@ -57,8 +57,8 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
|||
|
||||
virtual void LogSocketRates();
|
||||
|
||||
virtual void SetProperty(const int key, const string& value, const int slot = 0);
|
||||
virtual string GetProperty(const int key, const string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const std::string& value, const int slot = 0);
|
||||
virtual std::string GetProperty(const int key, const std::string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const int value, const int slot = 0);
|
||||
virtual int GetProperty(const int key, const int default_ = 0, const int slot = 0);
|
||||
|
||||
|
@ -67,7 +67,7 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
|||
virtual ~FairMQDevice();
|
||||
|
||||
protected:
|
||||
string fId;
|
||||
std::string fId;
|
||||
|
||||
int fNumIoThreads;
|
||||
|
||||
|
@ -77,22 +77,22 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
|||
int fPortRangeMin;
|
||||
int fPortRangeMax;
|
||||
|
||||
vector<string> fInputAddress;
|
||||
vector<string> fInputMethod;
|
||||
vector<string> fInputSocketType;
|
||||
vector<int> fInputSndBufSize;
|
||||
vector<int> fInputRcvBufSize;
|
||||
vector<int> fLogInputRate;
|
||||
std::vector<std::string> fInputAddress;
|
||||
std::vector<std::string> fInputMethod;
|
||||
std::vector<std::string> fInputSocketType;
|
||||
std::vector<int> fInputSndBufSize;
|
||||
std::vector<int> fInputRcvBufSize;
|
||||
std::vector<int> fInputRateLogging;
|
||||
|
||||
vector<string> fOutputAddress;
|
||||
vector<string> fOutputMethod;
|
||||
vector<string> fOutputSocketType;
|
||||
vector<int> fOutputSndBufSize;
|
||||
vector<int> fOutputRcvBufSize;
|
||||
vector<int> fLogOutputRate;
|
||||
std::vector<std::string> fOutputAddress;
|
||||
std::vector<std::string> fOutputMethod;
|
||||
std::vector<std::string> fOutputSocketType;
|
||||
std::vector<int> fOutputSndBufSize;
|
||||
std::vector<int> fOutputRcvBufSize;
|
||||
std::vector<int> fOutputRateLogging;
|
||||
|
||||
vector<FairMQSocket*>* fPayloadInputs;
|
||||
vector<FairMQSocket*>* fPayloadOutputs;
|
||||
std::vector<FairMQSocket*>* fPayloadInputs;
|
||||
std::vector<FairMQSocket*>* fPayloadOutputs;
|
||||
|
||||
int fLogIntervalInMs;
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQLogger::FairMQLogger()
|
||||
: os()
|
||||
{
|
||||
|
|
|
@ -21,8 +21,6 @@
|
|||
#include <iomanip>
|
||||
#include <ctime>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQLogger
|
||||
{
|
||||
public:
|
||||
|
@ -36,10 +34,10 @@ class FairMQLogger
|
|||
};
|
||||
FairMQLogger();
|
||||
virtual ~FairMQLogger();
|
||||
ostringstream& Log(int type);
|
||||
std::ostringstream& Log(int type);
|
||||
|
||||
private:
|
||||
ostringstream os;
|
||||
std::ostringstream os;
|
||||
};
|
||||
|
||||
typedef unsigned long long timestamp_t;
|
||||
|
|
|
@ -18,8 +18,6 @@
|
|||
#include <string>
|
||||
#include "FairMQMessage.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQSocket
|
||||
{
|
||||
public:
|
||||
|
@ -33,14 +31,14 @@ class FairMQSocket
|
|||
, NOBLOCK(noBlock)
|
||||
{}
|
||||
|
||||
virtual string GetId() = 0;
|
||||
virtual std::string GetId() = 0;
|
||||
|
||||
virtual bool Bind(const string& address) = 0;
|
||||
virtual void Connect(const string& address) = 0;
|
||||
virtual bool Bind(const std::string& address) = 0;
|
||||
virtual void Connect(const std::string& address) = 0;
|
||||
|
||||
virtual int Send(FairMQMessage* msg, const string& flag="") = 0;
|
||||
virtual int Send(FairMQMessage* msg, const std::string& flag="") = 0;
|
||||
virtual int Send(FairMQMessage* msg, const int flags) = 0;
|
||||
virtual int Receive(FairMQMessage* msg, const string& flag="") = 0;
|
||||
virtual int Receive(FairMQMessage* msg, const std::string& flag="") = 0;
|
||||
virtual int Receive(FairMQMessage* msg, const int flags) = 0;
|
||||
|
||||
virtual void* GetSocket() = 0;
|
||||
|
@ -48,8 +46,8 @@ class FairMQSocket
|
|||
virtual void Close() = 0;
|
||||
virtual void Terminate() = 0;
|
||||
|
||||
virtual void SetOption(const string& option, const void* value, size_t valueSize) = 0;
|
||||
virtual void GetOption(const string& option, void* value, size_t* valueSize) = 0;
|
||||
virtual void SetOption(const std::string& option, const void* value, size_t valueSize) = 0;
|
||||
virtual void GetOption(const std::string& option, void* value, size_t* valueSize) = 0;
|
||||
|
||||
virtual unsigned long GetBytesTx() = 0;
|
||||
virtual unsigned long GetBytesRx() = 0;
|
||||
|
|
|
@ -22,16 +22,14 @@
|
|||
#include "FairMQPoller.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQTransportFactory
|
||||
{
|
||||
public:
|
||||
virtual FairMQMessage* CreateMessage() = 0;
|
||||
virtual FairMQMessage* CreateMessage(size_t size) = 0;
|
||||
virtual FairMQMessage* CreateMessage(void* data, size_t size, fairmq_free_fn *ffn = NULL, void* hint = NULL) = 0;
|
||||
virtual FairMQSocket* CreateSocket(const string& type, int num, int numIoThreads) = 0;
|
||||
virtual FairMQPoller* CreatePoller(const vector<FairMQSocket*>& inputs) = 0;
|
||||
virtual FairMQSocket* CreateSocket(const std::string& type, int num, int numIoThreads) = 0;
|
||||
virtual FairMQPoller* CreatePoller(const std::vector<FairMQSocket*>& inputs) = 0;
|
||||
|
||||
virtual ~FairMQTransportFactory() {};
|
||||
};
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#include "FairMQBenchmarkSampler.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQBenchmarkSampler::FairMQBenchmarkSampler()
|
||||
: fEventSize(10000)
|
||||
, fEventRate(1)
|
||||
|
|
|
@ -37,8 +37,8 @@ class FairMQBenchmarkSampler : public FairMQDevice
|
|||
virtual ~FairMQBenchmarkSampler();
|
||||
void Log(int intervalInMs);
|
||||
void ResetEventCounter();
|
||||
virtual void SetProperty(const int key, const string& value, const int slot = 0);
|
||||
virtual string GetProperty(const int key, const string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const std::string& value, const int slot = 0);
|
||||
virtual std::string GetProperty(const int key, const std::string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const int value, const int slot = 0);
|
||||
virtual int GetProperty(const int key, const int default_ = 0, const int slot = 0);
|
||||
|
||||
|
|
|
@ -8,9 +8,10 @@
|
|||
#ifndef GENERICFILESINK_H
|
||||
#define GENERICFILESINK_H
|
||||
|
||||
#include "FairMQDevice.h"
|
||||
#include <boost/thread.hpp>
|
||||
#include <boost/bind.hpp>
|
||||
|
||||
#include "FairMQDevice.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
template <typename InputPolicy, typename OutputPolicy>
|
||||
|
@ -19,25 +20,24 @@ class GenericFileSink : public FairMQDevice, public InputPolicy, public OutputPo
|
|||
//using InputPolicy::message;
|
||||
//using OutputPolicy::InitOutFile;
|
||||
//using OutputPolicy::AddToFile;
|
||||
|
||||
public:
|
||||
|
||||
public:
|
||||
GenericFileSink();
|
||||
virtual ~GenericFileSink();
|
||||
|
||||
|
||||
template <typename... Args>
|
||||
void InitInputPolicyContainer(Args... args)
|
||||
{
|
||||
InputPolicy::InitContainer(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
|
||||
virtual void SetTransport(FairMQTransportFactory* transport);
|
||||
virtual void InitOutputFile();
|
||||
|
||||
protected:
|
||||
|
||||
protected:
|
||||
virtual void Run();
|
||||
virtual void Init();
|
||||
|
||||
|
||||
};
|
||||
|
||||
#include "GenericFileSink.tpl"
|
||||
|
|
|
@ -17,45 +17,40 @@ class GenericProcessor: public FairMQDevice,
|
|||
public TaskPolicy
|
||||
{
|
||||
public:
|
||||
|
||||
GenericProcessor() : InputPolicy(), OutputPolicy(), TaskPolicy()
|
||||
{}
|
||||
|
||||
|
||||
virtual ~GenericProcessor()
|
||||
{}
|
||||
|
||||
|
||||
void SetTransport(FairMQTransportFactory* transport)
|
||||
{
|
||||
FairMQDevice::SetTransport(transport);
|
||||
//InputPolicy::SetTransport(transport);
|
||||
//OutputPolicy::SetTransport(transport);
|
||||
}
|
||||
|
||||
|
||||
|
||||
template <typename... Args>
|
||||
void InitTask(Args... args)
|
||||
{
|
||||
TaskPolicy::InitTask(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
template <typename... Args>
|
||||
void InitInputContainer(Args... args)
|
||||
{
|
||||
InputPolicy::InitContainer(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
template <typename... Args>
|
||||
void InitOutputContainer(Args... args)
|
||||
{
|
||||
OutputPolicy::InitContainer(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//void SendPart();
|
||||
//bool ReceivePart();
|
||||
|
||||
|
||||
|
||||
void SendPart()
|
||||
{
|
||||
fPayloadOutputs->at(0)->Send(OutputPolicy::SerializeMsg(TaskPolicy::GetData()), "snd-more");
|
||||
|
@ -81,7 +76,7 @@ class GenericProcessor: public FairMQDevice,
|
|||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
protected:
|
||||
virtual void Init()
|
||||
{
|
||||
|
@ -91,7 +86,7 @@ class GenericProcessor: public FairMQDevice,
|
|||
//fProcessorTask->SetSendPart(boost::bind(&FairMQProcessor::SendPart, this));
|
||||
//fProcessorTask->SetReceivePart(boost::bind(&FairMQProcessor::ReceivePart, this));
|
||||
}
|
||||
|
||||
|
||||
virtual void Run()
|
||||
{
|
||||
MQLOG(INFO) << ">>>>>>> Run <<<<<<<";
|
||||
|
@ -100,7 +95,7 @@ class GenericProcessor: public FairMQDevice,
|
|||
int receivedMsgs = 0;
|
||||
int sentMsgs = 0;
|
||||
int received = 0;
|
||||
|
||||
|
||||
while ( fState == RUNNING )
|
||||
{
|
||||
FairMQMessage* msg = fTransportFactory->CreateMessage();
|
||||
|
@ -148,7 +143,6 @@ class GenericProcessor: public FairMQDevice,
|
|||
fRunningCondition.notify_one();
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
//#include "GenericSampler.tpl"
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
#ifndef GENERICSAMPLER_H
|
||||
#define GENERICSAMPLER_H
|
||||
|
||||
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
|
||||
|
@ -18,12 +15,6 @@
|
|||
#include <boost/bind.hpp>
|
||||
#include <boost/timer/timer.hpp>
|
||||
|
||||
#include "TList.h"
|
||||
#include "TObjString.h"
|
||||
#include "TClonesArray.h"
|
||||
#include "TROOT.h"
|
||||
|
||||
|
||||
#include "FairMQDevice.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
|
@ -44,7 +35,7 @@ class GenericSampler: public FairMQDevice, public SamplerPolicy, public OutputPo
|
|||
{
|
||||
//using SamplerPolicy::GetDataBranch; // get data from file
|
||||
//using OutputPolicy::message; // serialize method
|
||||
|
||||
|
||||
public:
|
||||
enum {
|
||||
InputFile = FairMQDevice::Last,
|
||||
|
@ -57,15 +48,15 @@ class GenericSampler: public FairMQDevice, public SamplerPolicy, public OutputPo
|
|||
virtual void SetTransport(FairMQTransportFactory* factory);
|
||||
void ResetEventCounter();
|
||||
virtual void ListenToCommands();
|
||||
|
||||
|
||||
template <typename... Args>
|
||||
void SetFileProperties(Args&... args)
|
||||
{
|
||||
SamplerPolicy::SetFileProperties(args...);
|
||||
}
|
||||
|
||||
virtual void SetProperty(const int key, const string& value, const int slot = 0);
|
||||
virtual string GetProperty(const int key, const string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const std::string& value, const int slot = 0);
|
||||
virtual std::string GetProperty(const int key, const std::string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const int value, const int slot = 0);
|
||||
virtual int GetProperty(const int key, const int default_ = 0, const int slot = 0);
|
||||
|
||||
|
@ -84,9 +75,9 @@ protected:
|
|||
virtual void Run();
|
||||
|
||||
protected:
|
||||
string fInputFile; // Filename of a root file containing the simulated digis.
|
||||
string fParFile;
|
||||
string fBranch; // The name of the sub-detector branch to stream the digis from.
|
||||
std::string fInputFile; // Filename of a root file containing the simulated digis.
|
||||
std::string fParFile;
|
||||
std::string fBranch; // The name of the sub-detector branch to stream the digis from.
|
||||
int fNumEvents;
|
||||
int fEventRate;
|
||||
int fEventCounter;
|
||||
|
|
|
@ -6,29 +6,25 @@
|
|||
*/
|
||||
|
||||
template <typename SamplerPolicy, typename OutputPolicy>
|
||||
GenericSampler<SamplerPolicy,OutputPolicy>::GenericSampler() :
|
||||
fNumEvents(0),
|
||||
fEventRate(1),
|
||||
fEventCounter(0),
|
||||
fContinuous(false)
|
||||
{
|
||||
}
|
||||
|
||||
GenericSampler<SamplerPolicy,OutputPolicy>::GenericSampler() :
|
||||
fNumEvents(0),
|
||||
fEventRate(1),
|
||||
fEventCounter(0),
|
||||
fContinuous(false)
|
||||
{
|
||||
}
|
||||
|
||||
template <typename SamplerPolicy, typename OutputPolicy>
|
||||
GenericSampler<SamplerPolicy,OutputPolicy>::~GenericSampler()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
GenericSampler<SamplerPolicy,OutputPolicy>::~GenericSampler()
|
||||
{
|
||||
}
|
||||
|
||||
template <typename SamplerPolicy, typename OutputPolicy>
|
||||
void GenericSampler<SamplerPolicy,OutputPolicy>::SetTransport(FairMQTransportFactory* factory)
|
||||
{
|
||||
FairMQDevice::SetTransport(factory);
|
||||
//OutputPolicy::SetTransport(factory);
|
||||
}
|
||||
void GenericSampler<SamplerPolicy,OutputPolicy>::SetTransport(FairMQTransportFactory* factory)
|
||||
{
|
||||
FairMQDevice::SetTransport(factory);
|
||||
//OutputPolicy::SetTransport(factory);
|
||||
}
|
||||
|
||||
template <typename SamplerPolicy, typename OutputPolicy>
|
||||
void GenericSampler<SamplerPolicy,OutputPolicy>::Init()
|
||||
|
@ -57,7 +53,7 @@ void GenericSampler<SamplerPolicy,OutputPolicy>::Run()
|
|||
|
||||
do
|
||||
{
|
||||
for ( Long64_t eventNr = 0 ; eventNr < fNumEvents; ++eventNr )
|
||||
for ( unsigned long eventNr = 0 ; eventNr < fNumEvents; ++eventNr )
|
||||
{
|
||||
//fSamplerTask->SetEventIndex(eventNr);
|
||||
FairMQMessage* msg = fTransportFactory->CreateMessage();
|
||||
|
@ -166,7 +162,7 @@ void GenericSampler<SamplerPolicy,OutputPolicy>::ListenToCommands()
|
|||
}
|
||||
|
||||
template <typename SamplerPolicy, typename OutputPolicy>
|
||||
void GenericSampler<SamplerPolicy,OutputPolicy>::SetProperty(const int key, const string& value, const int slot/*= 0*/)
|
||||
void GenericSampler<SamplerPolicy,OutputPolicy>::SetProperty(const int key, const std::string& value, const int slot/*= 0*/)
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
|
@ -186,7 +182,7 @@ void GenericSampler<SamplerPolicy,OutputPolicy>::SetProperty(const int key, cons
|
|||
}
|
||||
|
||||
template <typename SamplerPolicy, typename OutputPolicy>
|
||||
string GenericSampler<SamplerPolicy,OutputPolicy>::GetProperty(const int key, const string& default_/*= ""*/, const int slot/*= 0*/)
|
||||
std::string GenericSampler<SamplerPolicy,OutputPolicy>::GetProperty(const int key, const std::string& default_/*= ""*/, const int slot/*= 0*/)
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include "FairMQExampleClient.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQExampleClient::FairMQExampleClient()
|
||||
: fText()
|
||||
{
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
#include "FairMQDevice.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQExampleClient : public FairMQDevice
|
||||
{
|
||||
public:
|
||||
|
@ -34,13 +32,13 @@ class FairMQExampleClient : public FairMQDevice
|
|||
|
||||
static void CustomCleanup(void *data, void* hint);
|
||||
|
||||
virtual void SetProperty(const int key, const string& value, const int slot = 0);
|
||||
virtual string GetProperty(const int key, const string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const std::string& value, const int slot = 0);
|
||||
virtual std::string GetProperty(const int key, const std::string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const int value, const int slot = 0);
|
||||
virtual int GetProperty(const int key, const int default_ = 0, const int slot = 0);
|
||||
|
||||
protected:
|
||||
string fText;
|
||||
std::string fText;
|
||||
|
||||
virtual void Run();
|
||||
};
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
#include "FairMQPollerNN.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQPollerNN::FairMQPollerNN(const vector<FairMQSocket*>& inputs)
|
||||
: items()
|
||||
, fNumItems()
|
||||
|
|
|
@ -20,12 +20,10 @@
|
|||
#include "FairMQPoller.h"
|
||||
#include "FairMQSocket.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQPollerNN : public FairMQPoller
|
||||
{
|
||||
public:
|
||||
FairMQPollerNN(const vector<FairMQSocket*>& inputs);
|
||||
FairMQPollerNN(const std::vector<FairMQSocket*>& inputs);
|
||||
|
||||
virtual void Poll(int timeout);
|
||||
virtual bool CheckInput(int index);
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include "FairMQMessageNN.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQSocketNN::FairMQSocketNN(const string& type, int num, int numIoThreads)
|
||||
: FairMQSocket(0, 0, NN_DONTWAIT)
|
||||
, fSocket()
|
||||
|
|
|
@ -26,16 +26,16 @@
|
|||
class FairMQSocketNN : public FairMQSocket
|
||||
{
|
||||
public:
|
||||
FairMQSocketNN(const string& type, int num, int numIoThreads); // numIoThreads is not used in nanomsg.
|
||||
FairMQSocketNN(const std::string& type, int num, int numIoThreads); // numIoThreads is not used in nanomsg.
|
||||
|
||||
virtual string GetId();
|
||||
virtual std::string GetId();
|
||||
|
||||
virtual bool Bind(const string& address);
|
||||
virtual void Connect(const string& address);
|
||||
virtual bool Bind(const std::string& address);
|
||||
virtual void Connect(const std::string& address);
|
||||
|
||||
virtual int Send(FairMQMessage* msg, const string& flag="");
|
||||
virtual int Send(FairMQMessage* msg, const std::string& flag="");
|
||||
virtual int Send(FairMQMessage* msg, const int flags);
|
||||
virtual int Receive(FairMQMessage* msg, const string& flag="");
|
||||
virtual int Receive(FairMQMessage* msg, const std::string& flag="");
|
||||
virtual int Receive(FairMQMessage* msg, const int flags);
|
||||
|
||||
virtual void* GetSocket();
|
||||
|
@ -43,21 +43,21 @@ class FairMQSocketNN : public FairMQSocket
|
|||
virtual void Close();
|
||||
virtual void Terminate();
|
||||
|
||||
virtual void SetOption(const string& option, const void* value, size_t valueSize);
|
||||
virtual void GetOption(const string& option, void* value, size_t* valueSize);
|
||||
virtual void SetOption(const std::string& option, const void* value, size_t valueSize);
|
||||
virtual void GetOption(const std::string& option, void* value, size_t* valueSize);
|
||||
|
||||
unsigned long GetBytesTx();
|
||||
unsigned long GetBytesRx();
|
||||
unsigned long GetMessagesTx();
|
||||
unsigned long GetMessagesRx();
|
||||
|
||||
static int GetConstant(const string& constant);
|
||||
static int GetConstant(const std::string& constant);
|
||||
|
||||
virtual ~FairMQSocketNN();
|
||||
|
||||
private:
|
||||
int fSocket;
|
||||
string fId;
|
||||
std::string fId;
|
||||
unsigned long fBytesTx;
|
||||
unsigned long fBytesRx;
|
||||
unsigned long fMessagesTx;
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
#include "FairMQTransportFactoryNN.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQTransportFactoryNN::FairMQTransportFactoryNN()
|
||||
{
|
||||
LOG(INFO) << "Using nanomsg library";
|
||||
|
|
|
@ -30,8 +30,8 @@ class FairMQTransportFactoryNN : public FairMQTransportFactory
|
|||
virtual FairMQMessage* CreateMessage();
|
||||
virtual FairMQMessage* CreateMessage(size_t size);
|
||||
virtual FairMQMessage* CreateMessage(void* data, size_t size, fairmq_free_fn *ffn = NULL, void* hint = NULL);
|
||||
virtual FairMQSocket* CreateSocket(const string& type, int num, int numIoThreads);
|
||||
virtual FairMQPoller* CreatePoller(const vector<FairMQSocket*>& inputs);
|
||||
virtual FairMQSocket* CreateSocket(const std::string& type, int num, int numIoThreads);
|
||||
virtual FairMQPoller* CreatePoller(const std::vector<FairMQSocket*>& inputs);
|
||||
|
||||
virtual ~FairMQTransportFactoryNN() {};
|
||||
};
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
#include "payload.pb.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQProtoSampler::FairMQProtoSampler()
|
||||
: fEventSize(10000)
|
||||
, fEventRate(1)
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
#include "FairMQDevice.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQProtoSampler : public FairMQDevice
|
||||
{
|
||||
public:
|
||||
|
@ -35,8 +33,8 @@ class FairMQProtoSampler : public FairMQDevice
|
|||
virtual ~FairMQProtoSampler();
|
||||
void Log(int intervalInMs);
|
||||
void ResetEventCounter();
|
||||
virtual void SetProperty(const int key, const string& value, const int slot = 0);
|
||||
virtual string GetProperty(const int key, const string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const std::string& value, const int slot = 0);
|
||||
virtual std::string GetProperty(const int key, const std::string& default_ = "", const int slot = 0);
|
||||
virtual void SetProperty(const int key, const int value, const int slot = 0);
|
||||
virtual int GetProperty(const int key, const int default_ = 0, const int slot = 0);
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
#include "FairMQPollerZMQ.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQPollerZMQ::FairMQPollerZMQ(const vector<FairMQSocket*>& inputs)
|
||||
: items()
|
||||
, fNumItems()
|
||||
|
|
|
@ -20,12 +20,10 @@
|
|||
#include "FairMQPoller.h"
|
||||
#include "FairMQSocket.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FairMQPollerZMQ : public FairMQPoller
|
||||
{
|
||||
public:
|
||||
FairMQPollerZMQ(const vector<FairMQSocket*>& inputs);
|
||||
FairMQPollerZMQ(const std::vector<FairMQSocket*>& inputs);
|
||||
|
||||
virtual void Poll(int timeout);
|
||||
virtual bool CheckInput(int index);
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
#include "FairMQSocketZMQ.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
boost::shared_ptr<FairMQContextZMQ> FairMQSocketZMQ::fContext = boost::shared_ptr<FairMQContextZMQ>(new FairMQContextZMQ(1));
|
||||
|
||||
FairMQSocketZMQ::FairMQSocketZMQ(const string& type, int num, int numIoThreads)
|
||||
|
|
|
@ -25,16 +25,16 @@
|
|||
class FairMQSocketZMQ : public FairMQSocket
|
||||
{
|
||||
public:
|
||||
FairMQSocketZMQ(const string& type, int num, int numIoThreads);
|
||||
FairMQSocketZMQ(const std::string& type, int num, int numIoThreads);
|
||||
|
||||
virtual string GetId();
|
||||
virtual std::string GetId();
|
||||
|
||||
virtual bool Bind(const string& address);
|
||||
virtual void Connect(const string& address);
|
||||
virtual bool Bind(const std::string& address);
|
||||
virtual void Connect(const std::string& address);
|
||||
|
||||
virtual int Send(FairMQMessage* msg, const string& flag="");
|
||||
virtual int Send(FairMQMessage* msg, const std::string& flag="");
|
||||
virtual int Send(FairMQMessage* msg, const int flags);
|
||||
virtual int Receive(FairMQMessage* msg, const string& flag="");
|
||||
virtual int Receive(FairMQMessage* msg, const std::string& flag="");
|
||||
virtual int Receive(FairMQMessage* msg, const int flags);
|
||||
|
||||
virtual void* GetSocket();
|
||||
|
@ -42,21 +42,21 @@ class FairMQSocketZMQ : public FairMQSocket
|
|||
virtual void Close();
|
||||
virtual void Terminate();
|
||||
|
||||
virtual void SetOption(const string& option, const void* value, size_t valueSize);
|
||||
virtual void GetOption(const string& option, void* value, size_t* valueSize);
|
||||
virtual void SetOption(const std::string& option, const void* value, size_t valueSize);
|
||||
virtual void GetOption(const std::string& option, void* value, size_t* valueSize);
|
||||
|
||||
virtual unsigned long GetBytesTx();
|
||||
virtual unsigned long GetBytesRx();
|
||||
virtual unsigned long GetMessagesTx();
|
||||
virtual unsigned long GetMessagesRx();
|
||||
|
||||
static int GetConstant(const string& constant);
|
||||
static int GetConstant(const std::string& constant);
|
||||
|
||||
virtual ~FairMQSocketZMQ();
|
||||
|
||||
private:
|
||||
void* fSocket;
|
||||
string fId;
|
||||
std::string fId;
|
||||
unsigned long fBytesTx;
|
||||
unsigned long fBytesRx;
|
||||
unsigned long fMessagesTx;
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
#include "FairMQTransportFactoryZMQ.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQTransportFactoryZMQ::FairMQTransportFactoryZMQ()
|
||||
{
|
||||
int major, minor, patch;
|
||||
|
|
|
@ -31,8 +31,8 @@ class FairMQTransportFactoryZMQ : public FairMQTransportFactory
|
|||
virtual FairMQMessage* CreateMessage();
|
||||
virtual FairMQMessage* CreateMessage(size_t size);
|
||||
virtual FairMQMessage* CreateMessage(void* data, size_t size, fairmq_free_fn *ffn = NULL, void* hint = NULL);
|
||||
virtual FairMQSocket* CreateSocket(const string& type, int num, int numIoThreads);
|
||||
virtual FairMQPoller* CreatePoller(const vector<FairMQSocket*>& inputs);
|
||||
virtual FairMQSocket* CreateSocket(const std::string& type, int num, int numIoThreads);
|
||||
virtual FairMQPoller* CreatePoller(const std::vector<FairMQSocket*>& inputs);
|
||||
|
||||
virtual ~FairMQTransportFactoryZMQ() {};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user