1 #ifndef _ots_DataProcessor_h_
2 #define _ots_DataProcessor_h_
8 #include "otsdaq/DataManager/CircularBuffer.h"
9 #include "otsdaq/DataManager/CircularBufferBase.h"
10 #include "otsdaq/WorkLoopManager/WorkLoop.h"
20 std::string bufferUID,
21 std::string processorUID);
24 virtual void registerToBuffer(
void) = 0;
27 virtual void configure(
void) = 0;
28 virtual void startProcessingData(std::string runNumber) = 0;
29 virtual void stopProcessingData(
void) = 0;
30 virtual void pauseProcessingData(
void) { stopProcessingData(); }
31 virtual void resumeProcessingData(
void) { startProcessingData(
""); }
41 uint64_t
getStatPackets(
void)
const {
return statPackets_.load(std::memory_order_relaxed); }
42 uint64_t getStatBytes(
void)
const {
return statBytes_.load(std::memory_order_relaxed); }
43 uint64_t getStatErrors(
void)
const {
return statErrors_.load(std::memory_order_relaxed); }
44 uint64_t getStatBusyNanos(
void)
const {
return statBusyNanos_.load(std::memory_order_relaxed); }
49 return std::map<std::string, std::string>();
53 void countPacket(uint64_t bytes)
55 statPackets_.fetch_add(1, std::memory_order_relaxed);
56 statBytes_.fetch_add(bytes, std::memory_order_relaxed);
58 void countError(
void) { statErrors_.fetch_add(1, std::memory_order_relaxed); }
59 void countBusyNanos(uint64_t nanos)
61 statBusyNanos_.fetch_add(nanos, std::memory_order_relaxed);
64 const std::string supervisorApplicationUID_;
65 const std::string bufferUID_;
66 const std::string processorUID_;
67 CircularBufferBase* theCircularBuffer_;
70 std::atomic<uint64_t> statPackets_{0};
71 std::atomic<uint64_t> statBytes_{0};
72 std::atomic<uint64_t> statErrors_{0};
73 std::atomic<uint64_t> statBusyNanos_{0};
const std::string & getProcessorID(void) const
Getters.
uint64_t getStatPackets(void) const
virtual std::map< std::string, std::string > getExtraStatus(void) const
Plugin-specific status items (e.g. socket backlog) as name/value strings.
defines used also by OtsConfigurationWizardSupervisor