12#ifndef RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLISHER_HPP
13#define RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLISHER_HPP
87 const std::string&
GetId()
const {
92 void Run(std::stop_token st);
94 log4cplus::Logger& m_logger;
100 std::binary_semaphore m_sem_start;
101 std::binary_semaphore m_sem_done;
103 std::mutex m_generator_mutex;
104 std::unique_ptr<SampleGenerator> m_generator;
106 std::jthread m_thread;
void WaitUntilSendingDone()
Blocks until the sample has been sent.
Definition publisher.cpp:222
Publisher(const std::string &pub_id, const PubCfg &cfg, UserSamples data={})
Constructs a new publisher object.
Definition publisher.cpp:174
void SendSample()
Signals the worker thread to send a sample.
Definition publisher.cpp:218
virtual ~Publisher()
Destroys publisher object.
const std::string & GetId() const
Returns the name of the publisher object.
Definition publisher.hpp:87
void Init()
Resets the sample_id to zero.
Definition publisher.cpp:213
std::vector< std::vector< uint8_t > > UserSamples
Type alias for provided user data.
Definition publisher.hpp:41
void UpdateDynamicConfig(const PubDynamicCfg &cfg, UserSamples user_samples={})
Updates dynamic configuration.
Definition publisher.cpp:208
Definition publisher.cpp:45
Logging Support Library based on log4cplus.
Definition businessLogic.cpp:23
RTC toolkit MUDPI publisher configuration class declaration.
Configuration (Dynamic + Static) of a single MUDPI Publisher object.
Definition config.hpp:78
Dynamic Configuration of a single MUDPI Publisher object.
Definition config.hpp:28
Static Configuration of a single MUDPI Publisher object.
Definition config.hpp:42