CbmRoot
Loading...
Searching...
No Matches
VtFeeder.h
Go to the documentation of this file.
1/* Copyright (C) 2025 Jagiellonian University, Krakow
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Bartosz Sobol [committer] */
4
5#pragma once
6
7#include "FeederOptions.h"
8#include "VtSource.h"
9
10#include <StorableTimeslice.hpp>
11
12#include <Sink.hpp>
13#include <Source.hpp>
14#include <chrono>
15#include <csignal>
16#include <zmq.hpp>
17
18class VtFeeder {
19 public:
20 explicit VtFeeder(const FeederOptions& options, volatile sig_atomic_t* signalStatus);
21
22 void Run();
23
24 private:
26 volatile sig_atomic_t* fSignalStatus;
27
28 std::unique_ptr<VtSource> fSource;
29 std::vector<std::unique_ptr<fles::TimesliceSink>> fPublishers;
30
31 uint64_t fCount;
32};
VtFeeder(const FeederOptions &options, volatile sig_atomic_t *signalStatus)
Definition VtFeeder.cxx:16
const FeederOptions & fOptions
Definition VtFeeder.h:25
volatile sig_atomic_t * fSignalStatus
Definition VtFeeder.h:26
std::vector< std::unique_ptr< fles::TimesliceSink > > fPublishers
Definition VtFeeder.h:29
std::unique_ptr< VtSource > fSource
Definition VtFeeder.h:28
uint64_t fCount
Definition VtFeeder.h:31
void Run()
Definition VtFeeder.cxx:68