Compute Graph Framework SDK Reference  5.8
dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType > Class Template Referenceabstract

Detailed Description

template<typename ProcessedDataType, typename ReadProcessedDataFunc, typename DataSourceType>
class dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >

Definition at line 67 of file dwSensorDrainerTemplate.hpp.

Inheritance diagram for dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >:
Collaboration diagram for dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >:

Public Types

using OnDataDropped = dw::core::Function< void(dwTime_t const)>
 

Public Member Functions

virtual dwStatus drainProcessedData (ProcessedDataType *processedOutput, dwTime_t &timestampOutput, dwTime_t &nextTimestampOutput, dwTime_t virtualSyncTime)
 
 dwBaseDrainerTemplate (dwSensorDrainerParams params, std::unique_ptr< ReadProcessedDataFunc > readProcessedDataFunc, DataSourceType dataSource)
 
virtual dwStatus getNextData (ProcessedDataType *outFrame, dwTime_t timeout)
 
virtual dwStatus getNextTimestamp (dwTime_t &timestamp, dwTime_t timeout)
 
virtual dwTime_t getReadTimeout () const
 
virtual void isLockstepDataAvailable (dwStatus &status, dwTime_t &readTimeout)
 
virtual bool isVirtualDataReady (dwTime_t dataTime, dwTime_t timeout)
 
virtual dwStatus readProcessedData (ProcessedDataType *outFrame, dwTime_t &latestTimestamp, dwTime_t timeout, bool isDroppingData=false)=0
 
virtual dwStatus reset ()
 
void setOnDataDropped (OnDataDropped onDataDropped)
 
virtual void setVirtualSyncTime (dwTime_t virtualSyncTime)
 
virtual dwStatus tryRead (ProcessedDataType *outFrame, dwTime_t &latestTimestamp, dwTime_t timeout, bool isDroppingData=false)
 

Static Public Attributes

static constexpr int32_t DRAIN_SENSOR_DATA_COUNT_MAX = 50
 
static constexpr char LOG_TAG [] = "dwBaseDrainerTemplate"
 

Protected Attributes

dwTime_t m_blockingTimeout = 60000
 
DataSourceType m_dataSource
 
bool m_dropStaleData = false
 
bool m_isVirtual = false
 
Node::Name_t m_name {}
 
bool m_nextDataReady = false
 
dwTime_t m_nonBlockingTimeout = 100
 
OnDataDropped m_onDataDropped {}
 
bool m_outputAvailable = false
 
std::unique_ptr< ReadProcessedDataFunc > m_readProcessedDataFunc
 
dwTime_t m_virtualSyncTime = 0
 
bool m_waitForNewData = false
 

Static Protected Attributes

static constexpr dwTime_t REPLAY_SENSOR_READ_TIMEOUT = 10000000
 

Member Typedef Documentation

◆ OnDataDropped

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
using dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::OnDataDropped = dw::core::Function<void(dwTime_t const)>

Definition at line 74 of file dwSensorDrainerTemplate.hpp.

Constructor & Destructor Documentation

◆ dwBaseDrainerTemplate()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::dwBaseDrainerTemplate ( dwSensorDrainerParams  params,
std::unique_ptr< ReadProcessedDataFunc >  readProcessedDataFunc,
DataSourceType  dataSource 
)
inlineexplicit

Definition at line 76 of file dwSensorDrainerTemplate.hpp.

Member Function Documentation

◆ drainProcessedData()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
virtual dwStatus dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::drainProcessedData ( ProcessedDataType *  processedOutput,
dwTime_t &  timestampOutput,
dwTime_t &  nextTimestampOutput,
dwTime_t  virtualSyncTime 
)
inlinevirtual

Reimplemented in dw::framework::dwVehicleStateDrainer, and dw::framework::dwVehicleStateChannelDrainer.

Definition at line 233 of file dwSensorDrainerTemplate.hpp.

References dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::DRAIN_SENSOR_DATA_COUNT_MAX, FRWK_LOGD, FRWK_LOGE, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::getNextTimestamp(), dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::getReadTimeout(), dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::isLockstepDataAvailable(), dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_blockingTimeout, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_dropStaleData, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_isVirtual, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_name, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_nonBlockingTimeout, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_outputAvailable, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_virtualSyncTime, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_waitForNewData, dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::readProcessedData(), and dw::framework::status.

◆ getNextData()

◆ getNextTimestamp()

◆ getReadTimeout()

◆ isLockstepDataAvailable()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
virtual void dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::isLockstepDataAvailable ( dwStatus &  status,
dwTime_t &  readTimeout 
)
inlinevirtual

◆ isVirtualDataReady()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
virtual bool dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::isVirtualDataReady ( dwTime_t  dataTime,
dwTime_t  timeout 
)
inlinevirtual

◆ readProcessedData()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
virtual dwStatus dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::readProcessedData ( ProcessedDataType *  outFrame,
dwTime_t &  latestTimestamp,
dwTime_t  timeout,
bool  isDroppingData = false 
)
pure virtual

◆ reset()

◆ setOnDataDropped()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
void dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::setOnDataDropped ( OnDataDropped  onDataDropped)
inline

◆ setVirtualSyncTime()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
virtual void dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::setVirtualSyncTime ( dwTime_t  virtualSyncTime)
inlinevirtual

◆ tryRead()

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
virtual dwStatus dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::tryRead ( ProcessedDataType *  outFrame,
dwTime_t &  latestTimestamp,
dwTime_t  timeout,
bool  isDroppingData = false 
)
inlinevirtual

Member Data Documentation

◆ DRAIN_SENSOR_DATA_COUNT_MAX

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
constexpr int32_t dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::DRAIN_SENSOR_DATA_COUNT_MAX = 50
staticconstexpr

◆ LOG_TAG

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
constexpr char dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::LOG_TAG = "dwBaseDrainerTemplate"
staticconstexpr

Definition at line 70 of file dwSensorDrainerTemplate.hpp.

◆ m_blockingTimeout

◆ m_dataSource

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
DataSourceType dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_dataSource
protected

◆ m_dropStaleData

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
bool dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_dropStaleData = false
protected

◆ m_isVirtual

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
bool dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_isVirtual = false
protected

◆ m_name

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
Node::Name_t dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_name {}
protected

◆ m_nextDataReady

◆ m_nonBlockingTimeout

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
dwTime_t dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_nonBlockingTimeout = 100
protected

◆ m_onDataDropped

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
OnDataDropped dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_onDataDropped {}
protected

◆ m_outputAvailable

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
bool dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_outputAvailable = false
protected

◆ m_readProcessedDataFunc

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
std::unique_ptr<ReadProcessedDataFunc> dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_readProcessedDataFunc
protected

◆ m_virtualSyncTime

◆ m_waitForNewData

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
bool dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::m_waitForNewData = false
protected

◆ REPLAY_SENSOR_READ_TIMEOUT

template<typename ProcessedDataType , typename ReadProcessedDataFunc , typename DataSourceType >
constexpr dwTime_t dw::framework::dwBaseDrainerTemplate< ProcessedDataType, ReadProcessedDataFunc, DataSourceType >::REPLAY_SENSOR_READ_TIMEOUT = 10000000
staticconstexprprotected

Definition at line 312 of file dwSensorDrainerTemplate.hpp.


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