FairMQ  1.4.14
C++ Message Queuing Library and Framework
FairMQBenchmarkSampler.h
1 /********************************************************************************
2  * Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef FAIRMQBENCHMARKSAMPLER_H_
10 #define FAIRMQBENCHMARKSAMPLER_H_
11 
12 #include <string>
13 #include <atomic>
14 #include <cstddef> // size_t
15 #include <cstdint> // uint64_t
16 
17 
18 #include "FairMQDevice.h"
19 
25 {
26  public:
28  virtual ~FairMQBenchmarkSampler() {}
29 
30  protected:
31  bool fMultipart;
32  size_t fNumParts;
33  size_t fMsgSize;
34  std::atomic<int> fMsgCounter;
35  float fMsgRate;
36  uint64_t fNumIterations;
37  uint64_t fMaxIterations;
38  std::string fOutChannelName;
39 
40  virtual void InitTask() override;
41  virtual void Run() override;
42 };
43 
44 #endif /* FAIRMQBENCHMARKSAMPLER_H_ */
Definition: FairMQBenchmarkSampler.h:24
Definition: FairMQDevice.h:53
virtual void InitTask() override
Task initialization (can be overloaded in child classes)
Definition: FairMQBenchmarkSampler.cxx:29
virtual void Run() override
Runs the device (to be overloaded in child classes)
Definition: FairMQBenchmarkSampler.cxx:39

privacy