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


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 () |
| ChannelMetadata & | getMetadata (T *frame) |
| ChannelObject::SyncSignaler & | getSyncSignaler () |
| ChannelObject::SyncWaiter & | getSyncWaiter () |
| 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 ¶ms) |
| 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 ChannelObject * | getChannel () |
| 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" |
Protected Member Functions | |
| void | populateDefaultMetadata (ChannelMetadata &header) |
Protected Member Functions inherited from dw::framework::SyncPortHelperOutput< T > | |
| T * | extractInternalPacket (GenericData genericData) |
| MetadataPayload * | getMetadataPacket (T *frame) |
| void | parseDataSynced (const ChannelParams ¶ms) 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 |
| CycleCountFetcher | m_syncCountRetriever |
Protected Attributes inherited from dw::framework::Port | |
| ChannelObject * | m_channel {nullptr} |
| using dw::framework::PortOutput< T >::ApiDataTypeT = T |
| using dw::framework::PortOutput< T >::BaseSyncHelper = SyncPortHelperOutput<T> |
| using dw::framework::PortOutput< T >::SpecimenT = typename parameter_traits<T>::SpecimenT |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineoverridevirtual |
Implements dw::framework::Port.
Definition at line 128 of file Port.hpp.
References dw::framework::PortOutput< T >::bindChannelWithReference().
|
inline |
Definition at line 134 of file Port.hpp.
References dw::framework::SyncPortHelper::getNewPacketID(), dw::framework::ChannelObject::getParams(), dw::framework::ChannelObject::getProducer(), dw::framework::PortOutput< T >::isBound(), dw::framework::Port::m_channel, dw::framework::GenericDataReference::packetTypeID, dw::framework::SyncPortHelperOutput< T >::parseDataSynced(), dw::framework::GenericDataReference::setSignalerAttributes, and dw::framework::GenericDataReference::setWaiterAttributes.
Referenced by dw::framework::PortOutput< T >::bindChannel().
|
inline |
|
inline |
Definition at line 220 of file Port.hpp.
References dw::framework::SyncPortHelperOutput< T >::getMetadataPacket(), and dw::framework::MetadataPayload::header.
|
inline |
Definition at line 231 of file Port.hpp.
References dw::framework::ChannelObject::PacketPool::getSyncSignaler().
|
inline |
Definition at line 245 of file Port.hpp.
References dw::framework::ChannelObject::PacketPool::getSyncWaiter().
|
inline |
Definition at line 254 of file Port.hpp.
References dw::framework::SyncPortHelperOutput< T >::getMetadataPacket(), dw::framework::ChannelObject::PacketPool::getSyncWaiter(), and dw::framework::ChannelObject::SyncWaiter::getWaitFences().
|
inlinefinalvirtual |
Implements dw::framework::Port.
Definition at line 172 of file Port.hpp.
Referenced by dw::framework::PortOutput< T >::bindChannelWithReference(), dw::framework::PortOutput< T >::setOnDataReady(), and dw::framework::PortOutput< T >::wait().
|
inlineprotected |
Definition at line 260 of file Port.hpp.
References dw::framework::SyncPortHelper::isDataSynced(), dw::framework::ChannelMetadata::iterationCount, dw::framework::METADATA_ITERATION_COUNT, dw::framework::ChannelMetadata::producerId, dw::framework::ChannelMetadata::sequenceNum, dw::framework::SyncPortHelper::stampSyncCount(), and dw::framework::ChannelMetadata::validFields.
Referenced by dw::framework::PortOutput< T >::send().
|
inlinevirtual |
|
inline |
Definition at line 163 of file Port.hpp.
References dw::framework::PortOutput< T >::isBound(), and dw::framework::ChannelObject::PacketPool::setOnDataReady().
|
inline |
Definition at line 240 of file Port.hpp.
References dw::framework::SyncPortHelperOutput< T >::getMetadataPacket(), dw::framework::ChannelObject::PacketPool::getSyncSignaler(), and dw::framework::ChannelObject::SyncSignaler::setSignalFences().
|
inline |
Definition at line 177 of file Port.hpp.
References dw::framework::PortOutput< T >::isBound(), and dw::framework::ChannelObject::PacketPool::wait().
|
staticconstexpr |
|
staticconstexpr |