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