100 template<
typename Callable>
105 throw std::logic_error(
"Thread already running");
114 task = std::forward<Callable>(task),
#define IRSOL_LOG_INFO(...)
Logs an info-level message using the default logger.
#define IRSOL_LOG_ERROR(...)
Logs an error-level message using the default logger.
Logging utilities and configuration for the irsol library.
Controls how a client listens for frames, including thread management and GIS parameters.
GisParams gisParams
Parameters for image streaming (GIS command).
void stop()
Requests the active thread (if any) to stop by setting the stop flag.
void start(Callable &&task, const std::string &description)
Starts the passed lambda function in a background thread.
std::shared_ptr< std::atomic< bool > > m_stopRequested
Shared stop token used to cancel the thread's task loop.
std::atomic< bool > m_running
Internal flag indicating whether the thread is running.
std::mutex m_threadMutex
Synchronization primitive to guard start/stop operations.
bool running() const
Returns whether a frame listening thread is currently active.
Per-client configuration parameters for the GIS (GetImageSequence) command.
uint64_t inputSequenceLength
Number of frames the client expects in a sequence.
double frameRate
Desired frame rate for this client's stream.
uint64_t inputSequenceNumber
Current frame index in the sequence (automatically incremented).
Encapsulates all per-client data used during a session's lifetime.
FrameListeningState frameListeningState
Client-specific state for image frame listening, including parameters and worker thread.
Core type definitions for networking, time handling, and protocol values used throughout the irsol li...