13#ifndef RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLISHER_HPP
14#define RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLISHER_HPP
88 const std::string&
GetId()
const {
93 void Run(std::stop_token st);
95 log4cplus::Logger& m_logger;
101 std::binary_semaphore m_sem_start;
102 std::binary_semaphore m_sem_done;
104 std::mutex m_generator_mutex;
105 std::unique_ptr<SampleGenerator> m_generator;
107 std::jthread m_thread;
void WaitUntilSendingDone()
Blocks until the sample has been sent.
Definition publisher.cpp:218
Publisher(const std::string &pub_id, const PubCfg &cfg, UserSamples data={})
Constructs a new publisher object.
Definition publisher.cpp:171
void SendSample()
Signals the worker thread to send a sample.
Definition publisher.cpp:214
virtual ~Publisher()
Destroys publisher object.
const std::string & GetId() const
Returns the name of the publisher object.
Definition publisher.hpp:88
void Init()
Resets the sample_id to zero.
Definition publisher.cpp:209
std::vector< std::vector< uint8_t > > UserSamples
Definition publisher.hpp:42
void UpdateDynamicConfig(const PubDynamicCfg &cfg, UserSamples user_samples={})
Updates dynamic configuration.
Definition publisher.cpp:204
Definition publisher.cpp:46
Logging Support Library based on log4cplus.
Definition businessLogic.cpp:24
RTC toolkit MUDPI publisher configuration class declaration.
Configuration (Dynamic + Static) of a single MUDPI Publisher object.
Definition config.hpp:79
Dynamic Configuration of a single MUDPI Publisher object.
Definition config.hpp:29
Static Configuration of a single MUDPI Publisher object.
Definition config.hpp:43