From db9e2dde05da146357002003907d25e279db04df Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Tue, 21 Apr 2020 11:26:42 +0200 Subject: [PATCH] Define interface for BufferedReader --- sf-writer/BufferMultiReader.hpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 sf-writer/BufferMultiReader.hpp diff --git a/sf-writer/BufferMultiReader.hpp b/sf-writer/BufferMultiReader.hpp new file mode 100644 index 0000000..dc03bd6 --- /dev/null +++ b/sf-writer/BufferMultiReader.hpp @@ -0,0 +1,30 @@ +#ifndef BUFFERMULTIREADER_H +#define BUFFERMULTIREADER_H + +#include +#include "RingBuffer.hpp" + +class BufferMultiReader +{ + const std::string device_name; + const std::string root_folder; + + std::atomic_bool is_running_; + std::atomic_int n_modules_left_; + std::atomic_uint64_t pulse_id_; + std::vector receiving_threads_; + +protected: + void read_thread(); + +public: + BufferMultiReader( + const std::string& device_name, + const std::string& root_folder); + + virtual ~BufferMultiReader(); + + UdpFrameMetadata get_frame(const uint64_t pulse_id, void* frame_buffer); +}; + +#endif \ No newline at end of file