Compute Graph Framework SDK Reference  5.8
dw::framework::PortOutput< T > Class Template Reference

Detailed Description

template<typename T>
class dw::framework::PortOutput< T >

PortOutput mimics an Output Block. It wrapps over a Producer Channel. Provides services like

  • binding(allocating channel resources, out of current scope),
  • getting next free element
  • sending data

Definition at line 78 of file Port.hpp.

Inheritance diagram for dw::framework::PortOutput< T >:
Collaboration diagram for dw::framework::PortOutput< T >:

Public Types

using ApiDataTypeT = T
 
using BaseSyncHelper = SyncPortHelperOutput< T >
 
using SpecimenT = typename parameter_traits< T >::SpecimenT
 

Public Member Functions

dwStatus bindChannel (ChannelObject *channel) override
 
dwStatus bindChannelWithReference (ChannelObject *channel, GenericDataReference &ref)
 
T * getFreeElement ()
 
ChannelObject::SyncSignalergetSyncSignaler ()
 
ChannelObject::SyncWaitergetSyncWaiter ()
 
void getWaitFences (T *frame, dw::core::span< NvSciSyncFence > fences)
 
bool isBound () final
 
 PortOutput (SpecimenT &&ref)
 
 PortOutput (SpecimenT const &ref)
 
 PortOutput (SpecimenT const &ref, OnSetSyncAttrs signalerAttrs, OnSetSyncAttrs waiterAttrs={})
 
virtual dwStatus send (T *frame)
 
void setOnDataReady (void *opaque, ChannelObject::PacketPool::OnDataReady onDataReady)
 
void setSignalFences (T *frame, dw::core::span< NvSciSyncFence > fences)
 
dwStatus wait (dwTime_t timeout)
 
- Public Member Functions inherited from dw::framework::SyncPortHelperOutput< T >
 SyncPortHelperOutput ()
 
- Public Member Functions inherited from dw::framework::SyncPortHelper
bool isDataSynced ()
 
virtual void parseDataSynced (const ChannelParams &params)
 
void setSyncCount (uint32_t index)
 
dwStatus setSyncRetriever (const CycleCountFetcher &func)
 
 SyncPortHelper ()
 
- Public Member Functions inherited from dw::framework::Port
virtual dwStatus bindChannel (ChannelObject *channel)=0
 
virtual dwStatus initialize ()
 
virtual bool isBound ()=0
 
- Public Member Functions inherited from dw::framework::PortBase
virtual ~PortBase ()=default
 

Static Public Attributes

static constexpr PortDirection DIRECTION = PortDirection::OUTPUT
 
static constexpr char LOG_TAG [] = "PortOutput"
 

Additional Inherited Members

- Protected Member Functions inherited from dw::framework::SyncPortHelperOutput< T >
T * extractInternalPacket (GenericData genericData)
 
SyncedPacketPayloadgetSyncPacket (T *frame)
 
void parseDataSynced (const ChannelParams &params) override
 
- Protected Member Functions inherited from dw::framework::SyncPortHelper
ChannelPacketTypeID getNewPacketID (ChannelPacketTypeID packetTypeID)
 
void stampSyncCount (uint32_t &syncCountOut) const
 
- Protected Attributes inherited from dw::framework::SyncPortHelper
uint32_t m_dataOffset
 
bool m_dataSynced
 
uint32_t m_syncCount
 
CycleCountFetcher m_syncCountRetriever
 

Member Typedef Documentation

◆ ApiDataTypeT

template<typename T >
using dw::framework::PortOutput< T >::ApiDataTypeT = T

Definition at line 82 of file Port.hpp.

◆ BaseSyncHelper

template<typename T >
using dw::framework::PortOutput< T >::BaseSyncHelper = SyncPortHelperOutput<T>

Definition at line 84 of file Port.hpp.

◆ SpecimenT

template<typename T >
using dw::framework::PortOutput< T >::SpecimenT = typename parameter_traits<T>::SpecimenT

Definition at line 83 of file Port.hpp.

Constructor & Destructor Documentation

◆ PortOutput() [1/3]

template<typename T >
dw::framework::PortOutput< T >::PortOutput ( SpecimenT const &  ref)
inlineexplicit

Definition at line 97 of file Port.hpp.

◆ PortOutput() [2/3]

template<typename T >
dw::framework::PortOutput< T >::PortOutput ( SpecimenT &&  ref)
inlineexplicit

Definition at line 101 of file Port.hpp.

◆ PortOutput() [3/3]

template<typename T >
dw::framework::PortOutput< T >::PortOutput ( SpecimenT const &  ref,
OnSetSyncAttrs  signalerAttrs,
OnSetSyncAttrs  waiterAttrs = {} 
)
inlineexplicit

Definition at line 106 of file Port.hpp.

Member Function Documentation

◆ bindChannel()

template<typename T >
dwStatus dw::framework::PortOutput< T >::bindChannel ( ChannelObject channel)
inlineoverridevirtual

◆ bindChannelWithReference()

◆ getFreeElement()

◆ getSyncSignaler()

template<typename T >
ChannelObject::SyncSignaler & dw::framework::PortOutput< T >::getSyncSignaler ( )
inline

◆ getSyncWaiter()

template<typename T >
ChannelObject::SyncWaiter & dw::framework::PortOutput< T >::getSyncWaiter ( )
inline

◆ getWaitFences()

template<typename T >
void dw::framework::PortOutput< T >::getWaitFences ( T *  frame,
dw::core::span< NvSciSyncFence >  fences 
)
inline

◆ isBound()

template<typename T >
bool dw::framework::PortOutput< T >::isBound ( )
inlinefinalvirtual

◆ send()

template<typename T >
virtual dwStatus dw::framework::PortOutput< T >::send ( T *  frame)
inlinevirtual

◆ setOnDataReady()

template<typename T >
void dw::framework::PortOutput< T >::setOnDataReady ( void *  opaque,
ChannelObject::PacketPool::OnDataReady  onDataReady 
)
inline

◆ setSignalFences()

template<typename T >
void dw::framework::PortOutput< T >::setSignalFences ( T *  frame,
dw::core::span< NvSciSyncFence >  fences 
)
inline

◆ wait()

template<typename T >
dwStatus dw::framework::PortOutput< T >::wait ( dwTime_t  timeout)
inline

Member Data Documentation

◆ DIRECTION

template<typename T >
constexpr PortDirection dw::framework::PortOutput< T >::DIRECTION = PortDirection::OUTPUT
staticconstexpr

Definition at line 81 of file Port.hpp.

◆ LOG_TAG

template<typename T >
constexpr char dw::framework::PortOutput< T >::LOG_TAG = "PortOutput"
staticconstexpr

Definition at line 88 of file Port.hpp.


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