/** * FairMQBenchmarkSampler.h * * @since 2013-04-23 * @author D. Klein, A. Rybalchenko */ #ifndef FAIRMQBENCHMARKSAMPLER_H_ #define FAIRMQBENCHMARKSAMPLER_H_ #include #include "FairMQDevice.h" /** * Sampler to generate traffic for benchmarking. */ class FairMQBenchmarkSampler: public FairMQDevice { public: enum { InputFile = FairMQDevice::Last, EventRate, EventSize, Last }; FairMQBenchmarkSampler(); virtual ~FairMQBenchmarkSampler(); void Log(int intervalInMs); void ResetEventCounter(); 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: int fEventSize; int fEventRate; int fEventCounter; virtual void Init(); virtual void Run(); }; #endif /* FAIRMQBENCHMARKSAMPLER_H_ */