7#include "SenderConfigs.h"
13 #define RL_API __declspec(dllexport)
15 #define RL_API __declspec(dllimport)
26enum Replay {NONE = 0, ALL = 1, SEQUENTIAL = 2, RANDOM = 4};
38 virtual void publish(
size_t point,
const std::string & name,
const std::string & value,
const std::optional<std::string> & unit) = 0;
39 virtual void point_ready(
size_t ) {}
44 void publish(
size_t,
const std::string &,
const std::string &,
const std::optional<std::string> &)
override {}
52 void publish(
size_t point,
const std::string & name,
const std::string & value,
const std::optional<std::string> & unit)
override;
68 std::optional<double> counting_time{std::nullopt};
72 bool random_order{
false};
75 std::string default_address{
"127.0.0.1"};
76 int default_port{9000};
78 size_t chunk_size{65536};
79 std::optional<ReplaySubset> subset{std::nullopt};
82 double pulse_rate{14.0};
88 const std::atomic<bool> * stop{
nullptr};
107RL_API
bool replay(
const std::string & filename,
const ReplayConfig & config);
116RL_API
void replay_all(
const std::string & filename,
const std::string & address,
int port,
int control);
128RL_API
void replay_subset(
const std::string & filename,
const std::string & address,
int port,
size_t first,
size_t number,
size_t every,
int control);
Receives the per-point instrument parameter values as replay steps through a file.
Explicit EFU endpoint configuration for replay, parsed from JSON.
Prints "point N: name = value [unit]" lines to the provided stream.
Restrict replay to stored readouts with global index first + k * every, for k in [0,...