Compute Graph Framework SDK Reference  5.18
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 161 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 bindChannelForPODTypePacket (ChannelObject *channel)
 
dwStatus bindChannelWithReference (ChannelObject *channel, GenericDataReference &ref)
 
detail::vectorIterable< T > getAllBufferIter ()
 
T * getFreeElement ()
 
ChannelMetadatagetMetadata (T *frame)
 
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)
 
 SyncPortHelper ()
 
- Public Member Functions inherited from dw::framework::Port
virtual dwStatus bindChannel (ChannelObject *channel)=0
 
virtual ChannelObjectgetChannel ()
 
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"}
 

Protected Member Functions

void populateDefaultMetadata (ChannelMetadata &header)
 
- Protected Member Functions inherited from dw::framework::SyncPortHelperOutput< T >
T * extractInternalPacket (GenericData genericData)
 
MetadataPayloadgetMetadataPacket (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
 

Additional Inherited Members

- Protected Attributes inherited from dw::framework::SyncPortHelper
uint32_t m_dataOffset
 
bool m_dataSynced
 
uint32_t m_syncCount
 
- Protected Attributes inherited from dw::framework::Port
ChannelObjectm_channel {nullptr}
 

Member Typedef Documentation

◆ ApiDataTypeT

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

Definition at line 166 of file Port.hpp.

◆ BaseSyncHelper

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

Definition at line 168 of file Port.hpp.

◆ SpecimenT

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

Definition at line 167 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 183 of file Port.hpp.

◆ PortOutput() [2/3]

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

Definition at line 191 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 200 of file Port.hpp.

Member Function Documentation

◆ bindChannel()

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

◆ bindChannelForPODTypePacket()

◆ bindChannelWithReference()

◆ getAllBufferIter()

template<typename T >
detail::vectorIterable< T > dw::framework::PortOutput< T >::getAllBufferIter ( )
inline

iterable for all the buffers in the output channel pool.

Definition at line 392 of file Port.hpp.

References dw::framework::ChannelObject::PacketPool::getAllBuffers().

◆ getFreeElement()

◆ getMetadata()

template<typename T >
ChannelMetadata & dw::framework::PortOutput< T >::getMetadata ( T *  frame)
inline

◆ 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()

◆ populateDefaultMetadata()

◆ send()

◆ 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 164 of file Port.hpp.

◆ LOG_TAG

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

Definition at line 173 of file Port.hpp.


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