ifw-fgf 2.0.0
 
Loading...
Searching...
No Matches
ifw::fgf::andor::RtmsLlnetioPublisher Class Reference

RTMS Publisher. More...

#include <rtmsLlnetioPublisher.hpp>

Public Member Functions

 RtmsLlnetioPublisher (const RtmsNetworkConfig &rtms_cfg, bool compute_latency=false, const PublisherThreadConfig &thread_cfg=PublisherThreadConfig())
 
virtual ~RtmsLlnetioPublisher ()
 
bool Push (std::shared_ptr< PublishFramePacket > pkt)
 Push a frame packet onto the SPSC queue.
 
void PushLatencyStart (double ts)
 Record a latency start timestamp (to be matched with send completion).
 
void Notify ()
 Signal the publisher thread that data is available.
 
void Stop ()
 Stop the publisher thread (wait for drain timeout).
 
bool IsStopped () const
 Check if the publisher thread has been stopped.
 
void SetOffsets (int offset_x, int offset_y)
 Set the AOI offset values for BasicImageInfo ext_info header.
 
void SetComputeLatency (bool enable)
 
bool GetComputeLatency () const
 
void ResetLatency ()
 
void GetFirstPacketSentLatency (double &latency, double &stddev, double &variance, int &nb_of_samples)
 
void GetFrameSentLatency (double &latency, double &stddev, double &variance, int &nb_of_samples)
 

Detailed Description

RTMS Publisher.

Dedicated thread that consumes frames from a lock-free SPSC queue and sends them via LLNETIO (RtmsSender). Decouples network send latency from the camera acquisition thread.

Constructor & Destructor Documentation

◆ RtmsLlnetioPublisher()

ifw::fgf::andor::RtmsLlnetioPublisher::RtmsLlnetioPublisher ( const RtmsNetworkConfig & rtms_cfg,
bool compute_latency = false,
const PublisherThreadConfig & thread_cfg = PublisherThreadConfig() )

◆ ~RtmsLlnetioPublisher()

ifw::fgf::andor::RtmsLlnetioPublisher::~RtmsLlnetioPublisher ( )
virtual

Member Function Documentation

◆ GetComputeLatency()

bool ifw::fgf::andor::RtmsLlnetioPublisher::GetComputeLatency ( ) const

◆ GetFirstPacketSentLatency()

void ifw::fgf::andor::RtmsLlnetioPublisher::GetFirstPacketSentLatency ( double & latency,
double & stddev,
double & variance,
int & nb_of_samples )

◆ GetFrameSentLatency()

void ifw::fgf::andor::RtmsLlnetioPublisher::GetFrameSentLatency ( double & latency,
double & stddev,
double & variance,
int & nb_of_samples )

◆ IsStopped()

bool ifw::fgf::andor::RtmsLlnetioPublisher::IsStopped ( ) const

Check if the publisher thread has been stopped.

◆ Notify()

void ifw::fgf::andor::RtmsLlnetioPublisher::Notify ( )

Signal the publisher thread that data is available.

◆ Push()

bool ifw::fgf::andor::RtmsLlnetioPublisher::Push ( std::shared_ptr< PublishFramePacket > pkt)

Push a frame packet onto the SPSC queue.

Returns
true on success, false if queue is full.

◆ PushLatencyStart()

void ifw::fgf::andor::RtmsLlnetioPublisher::PushLatencyStart ( double ts)

Record a latency start timestamp (to be matched with send completion).

◆ ResetLatency()

void ifw::fgf::andor::RtmsLlnetioPublisher::ResetLatency ( )

◆ SetComputeLatency()

void ifw::fgf::andor::RtmsLlnetioPublisher::SetComputeLatency ( bool enable)

◆ SetOffsets()

void ifw::fgf::andor::RtmsLlnetioPublisher::SetOffsets ( int offset_x,
int offset_y )

Set the AOI offset values for BasicImageInfo ext_info header.

◆ Stop()

void ifw::fgf::andor::RtmsLlnetioPublisher::Stop ( )

Stop the publisher thread (wait for drain timeout).


The documentation for this class was generated from the following files: