ADTF
Loading...
Searching...
No Matches
adtf::streaming::ant::cTimeBasedSampleSetCollector Class Reference

#include <sample_collectors.h>

Public Types

typedef std::function< tResult(cExternalQueueSampleReader &, const adtf::ucom::iobject_ptr< const IStreamType > &pStreamType)> tStreamTypeChangeCallback
 

Public Member Functions

 cTimeBasedSampleSetCollector (tStreamTypeChangeCallback pTypeChangeCallback)
 
 cTimeBasedSampleSetCollector (const cTimeBasedSampleSetCollector &)=delete
 
 cTimeBasedSampleSetCollector (cTimeBasedSampleSetCollector &&)=default
 
cTimeBasedSampleSetCollectoroperator= (const cTimeBasedSampleSetCollector &)=delete
 
cTimeBasedSampleSetCollectoroperator= (cTimeBasedSampleSetCollector &&)=default
 
tResult CollectFrom (cExternalQueueSampleReader &oSampleReader)
 Adds a sample reader to the list of sample readers that data is read from.
 
void ClearQueues ()
 Clear all internal queues for all connected sample readers.
 
template<typename ... T>
tResult GetSampleSetAt (tTimeStamp tmTime, T &... samples)
 Get the next sample set from all sample readers.
 

Detailed Description

A class that collects the sample sets from multiple sample readers.

Usage:

It returns a set of samples for each sample that has arrived. This set contains the new sample and the last ones from the other streams/readers.

(for more detail see sample_reader)

Constructor & Destructor Documentation

◆ cTimeBasedSampleSetCollector()

adtf::streaming::ant::cTimeBasedSampleSetCollector::cTimeBasedSampleSetCollector ( tStreamTypeChangeCallback pTypeChangeCallback)

Constructor with type change callback

Parameters
[in]pTypeChangeCallbacka callback that is called when ever the stream type of a reader changes.

Member Function Documentation

◆ CollectFrom()

tResult adtf::streaming::ant::cTimeBasedSampleSetCollector::CollectFrom ( cExternalQueueSampleReader & oSampleReader)

Adds a sample reader to the list of sample readers that data is read from.

Parameters
[in]oSampleReaderThe sample reader to read data from.
Return values
ERR_NOERRORStream type is valid

◆ GetSampleSetAt()

template<typename ... T>
tResult adtf::streaming::ant::cTimeBasedSampleSetCollector::GetSampleSetAt ( tTimeStamp tmTime,
T &... samples )
inline

Get the next sample set from all sample readers.

All samples in the set and before the set are removed from the queues.

Parameters
[in]tmTimeThe timestamp which the set should be valid for.
[out]samplesCollection of sample to return
Return values
ERR_NOERRORdata is valid
RETURN_IF_FAILED(ERR_INVALID_ARG) more sample were requested than readers registered (to many parameters)
RETURN_ERROR(ERR_EMPTY)no data available

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