mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-05-08 00:52:04 +02:00
Make core-buffer folder with all common stuff used in the buffer
This commit is contained in:
@@ -4,6 +4,7 @@ set_target_properties(sf-buffer PROPERTIES OUTPUT_NAME sf_buffer)
|
||||
target_include_directories(sf-buffer PUBLIC src/)
|
||||
|
||||
target_link_libraries(sf-buffer
|
||||
core-buffer
|
||||
core-writer
|
||||
external
|
||||
zmq
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
#ifndef BUFFER_UTILS_HPP
|
||||
#define BUFFER_UTILS_HPP
|
||||
|
||||
const size_t FILE_MOD = 1000;
|
||||
const size_t FOLDER_MOD = 100000;
|
||||
|
||||
std::string get_filename(
|
||||
std::string root_folder,
|
||||
std::string device_name,
|
||||
uint64_t pulse_id)
|
||||
{
|
||||
uint64_t folder_base = pulse_id / FOLDER_MOD;
|
||||
folder_base *= FOLDER_MOD;
|
||||
|
||||
uint64_t file_base = pulse_id / FILE_MOD;
|
||||
file_base *= FILE_MOD;
|
||||
|
||||
std::stringstream folder;
|
||||
folder << root_folder << "/";
|
||||
folder << device_name << "/";
|
||||
folder << folder_base << "/";
|
||||
folder << file_base << ".h5";
|
||||
|
||||
return folder.str();
|
||||
}
|
||||
|
||||
std::size_t get_file_frame_index(uint64_t pulse_id)
|
||||
{
|
||||
uint64_t file_base = pulse_id / FILE_MOD;
|
||||
file_base *= FILE_MOD;
|
||||
|
||||
return pulse_id - file_base;
|
||||
}
|
||||
|
||||
#endif //BUFFER_UTILS_HPP
|
||||
@@ -1,47 +0,0 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include "../src/buffer_utils.hpp"
|
||||
|
||||
using namespace std;
|
||||
|
||||
TEST(BufferUtils, get_filename)
|
||||
{
|
||||
auto expected_file = "/root/device-1/12300000/12345000.h5";
|
||||
|
||||
auto root_folder = "/root";
|
||||
auto device_name = "device-1";
|
||||
|
||||
auto result = get_filename(
|
||||
root_folder,
|
||||
device_name,
|
||||
12345000);
|
||||
|
||||
ASSERT_EQ(result, expected_file);
|
||||
|
||||
auto result2 = get_filename(
|
||||
root_folder,
|
||||
device_name,
|
||||
12345999);
|
||||
|
||||
ASSERT_EQ(result2, expected_file);
|
||||
|
||||
auto result3 = get_filename(
|
||||
root_folder,
|
||||
device_name,
|
||||
12346000);
|
||||
|
||||
ASSERT_NE(result3, expected_file);
|
||||
|
||||
auto result4 = get_filename(
|
||||
root_folder,
|
||||
device_name,
|
||||
12344999);
|
||||
|
||||
ASSERT_NE(result4, expected_file);
|
||||
}
|
||||
|
||||
TEST(BufferUtils, get_file_frame_index)
|
||||
{
|
||||
ASSERT_EQ(get_file_frame_index(12345000), 0);
|
||||
ASSERT_EQ(get_file_frame_index(12345543), 543);
|
||||
ASSERT_EQ(get_file_frame_index(12345999), 999);
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include "test_buffer_utils.cpp"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user