First attempt at LiveRecvModule

This commit is contained in:
2020-05-05 13:36:11 +02:00
parent fe55a6705a
commit 94d71e7d40
2 changed files with 223 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
#ifndef SF_DAQ_BUFFER_LIVERECVMODULE_HPP
#define SF_DAQ_BUFFER_LIVERECVMODULE_HPP
#include "FastQueue.hpp"
#include <thread>
#include "jungfrau.hpp"
class LiveRecvModule {
FastQueue<ModuleFrameBuffer>& queue_;
const size_t n_modules_;
void* ctx_;
const std::string ipc_prefix_;
std::atomic_bool is_receiving_;
std::thread receiving_thread_;
public:
LiveRecvModule(
FastQueue<ModuleFrameBuffer>& queue,
const size_t n_modules,
void* ctx,
const std::string& ipc_prefix);
virtual ~LiveRecvModule();
void* connect_socket(size_t module_id);
void recv_single_module(void* socket, char* metadata, char* data);
void receive_thread(const size_t n_modules, void* ctx);
};
#endif //SF_DAQ_BUFFER_LIVERECVMODULE_HPP