From 18e5f88bac74384205ec0f70b1b45656a6fb6566 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Wed, 26 Sep 2018 17:26:08 +0200 Subject: [PATCH] Pass frames per file forward --- lib/src/ProcessManager.cpp | 6 +++--- lib/src/ProcessManager.hpp | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/src/ProcessManager.cpp b/lib/src/ProcessManager.cpp index c7f3d7a..28508c5 100644 --- a/lib/src/ProcessManager.cpp +++ b/lib/src/ProcessManager.cpp @@ -15,9 +15,9 @@ using namespace std; ProcessManager::ProcessManager(WriterManager& writer_manager, ZmqReceiver& receiver, RingBuffer& ring_buffer, - const H5Format& format, uint16_t rest_port, const string& bsread_rest_address) : + const H5Format& format, uint16_t rest_port, const string& bsread_rest_address, hsize_t frames_per_file) : writer_manager(writer_manager), receiver(receiver), ring_buffer(ring_buffer), format(format), rest_port(rest_port), - bsread_rest_address(bsread_rest_address) + bsread_rest_address(bsread_rest_address), frames_per_file(frames_per_file) { } @@ -152,7 +152,7 @@ void ProcessManager::receive_zmq() void ProcessManager::write_h5() { - auto writer = get_h5_writer(writer_manager.get_output_file(), 0, config::initial_dataset_size, config::dataset_increase_step); + auto writer = get_h5_writer(writer_manager.get_output_file(), frames_per_file, config::initial_dataset_size, config::dataset_increase_step); auto raw_frames_dataset_name = config::raw_image_dataset_name; uint64_t last_pulse_id = 0; diff --git a/lib/src/ProcessManager.hpp b/lib/src/ProcessManager.hpp index 7e4fc43..088f8e1 100644 --- a/lib/src/ProcessManager.hpp +++ b/lib/src/ProcessManager.hpp @@ -17,13 +17,14 @@ class ProcessManager uint16_t rest_port; const std::string& bsread_rest_address; + hsize_t frames_per_file; void notify_first_pulse_id(uint64_t pulse_id); void notify_last_pulse_id(uint64_t pulse_id); public: ProcessManager(WriterManager& writer_manager, ZmqReceiver& receiver, - RingBuffer& ring_buffer, const H5Format& format, uint16_t rest_port, const std::string& bsread_rest_address); + RingBuffer& ring_buffer, const H5Format& format, uint16_t rest_port, const std::string& bsread_rest_address, hsize_t frames_per_file=0); void run_writer();