diff --git a/sf_alvra/alvra_h5_writer.cpp b/sf_alvra/alvra_h5_writer.cpp index de6c823..fbadc7b 100644 --- a/sf_alvra/alvra_h5_writer.cpp +++ b/sf_alvra/alvra_h5_writer.cpp @@ -41,9 +41,6 @@ int main (int argc, char *argv[]) writer_utils::create_destination_folder(output_file); - AlvraFormat format; - WriterManager manager(format.get_input_value_type(), output_file, n_frames); - auto header_values = shared_ptr>(new unordered_map { {"pulse_id", HeaderDataType("uint64")}, {"frame", HeaderDataType("uint64")}, @@ -62,10 +59,15 @@ int main (int argc, char *argv[]) {"module_number", HeaderDataType("uint64", n_modules)} }); - - ZmqReceiver receiver(connect_address, config::zmq_n_io_threads, config::zmq_receive_timeout, header_values); - ProcessManager::run_writer(manager, format, receiver, rest_port, bsread_rest_address); + AlvraFormat format; + + WriterManager writer_manager(format.get_input_value_type(), output_file, n_frames); + ZmqReceiver receiver(connect_address, config::zmq_n_io_threads, config::zmq_receive_timeout, header_values); + RingBuffer ring_buffer(config::ring_buffer_n_slots); + + ProcessManager process_manager(writer_manager, receiver, ring_buffer, format, rest_port, bsread_rest_address); + process_manager.run_writer(); return 0; } \ No newline at end of file