From 9dddef455daab10f51606d474ef1ddfe0ec37f90 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Wed, 3 Jun 2020 21:41:22 +0200 Subject: [PATCH] Move assembly buffer config to general --- core-buffer/include/buffer_config.hpp | 2 ++ sf-writer/include/ImageAssembler.hpp | 1 - sf-writer/src/ImageAssembler.cpp | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/core-buffer/include/buffer_config.hpp b/core-buffer/include/buffer_config.hpp index 111ab53..ceb1f28 100644 --- a/core-buffer/include/buffer_config.hpp +++ b/core-buffer/include/buffer_config.hpp @@ -55,6 +55,8 @@ namespace core_buffer { const size_t BUFFER_BLOCK_SIZE = 100; // MS to retry reading from the image assembler. const size_t WRITER_IMAGE_ASSEMBLER_RETRY_MS = 5; + // Number of slots in the reconstruction buffer. + const size_t WRITER_IA_N_SLOTS = 2; } #endif //BUFFERCONFIG_HPP diff --git a/sf-writer/include/ImageAssembler.hpp b/sf-writer/include/ImageAssembler.hpp index 3c615bf..1f226ff 100644 --- a/sf-writer/include/ImageAssembler.hpp +++ b/sf-writer/include/ImageAssembler.hpp @@ -5,7 +5,6 @@ #include "formats.hpp" -const size_t IA_N_SLOTS = 2; const uint64_t IA_EMPTY_SLOT_VALUE = 0; class ImageAssembler { diff --git a/sf-writer/src/ImageAssembler.cpp b/sf-writer/src/ImageAssembler.cpp index 096ae9e..f3e0139 100644 --- a/sf-writer/src/ImageAssembler.cpp +++ b/sf-writer/src/ImageAssembler.cpp @@ -8,14 +8,14 @@ ImageAssembler::ImageAssembler(const size_t n_modules) : n_modules_(n_modules), image_buffer_slot_n_bytes_(BUFFER_BLOCK_SIZE * MODULE_N_BYTES * n_modules_) { - image_buffer_ = new char[IA_N_SLOTS * image_buffer_slot_n_bytes_]; - meta_buffer_ = new ImageMetadataBlock[IA_N_SLOTS]; + image_buffer_ = new char[WRITER_IA_N_SLOTS * image_buffer_slot_n_bytes_]; + meta_buffer_ = new ImageMetadataBlock[WRITER_IA_N_SLOTS]; frame_meta_buffer_ = - new ModuleFrame[IA_N_SLOTS * n_modules * BUFFER_BLOCK_SIZE]; - buffer_status_ = new atomic_int[IA_N_SLOTS]; - buffer_bunch_id_ = new atomic_uint64_t[IA_N_SLOTS]; + new ModuleFrame[WRITER_IA_N_SLOTS * n_modules * BUFFER_BLOCK_SIZE]; + buffer_status_ = new atomic_int[WRITER_IA_N_SLOTS]; + buffer_bunch_id_ = new atomic_uint64_t[WRITER_IA_N_SLOTS]; - for (size_t i=0; i