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 () |
| 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 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) |
| SyncedPacketPayload * | getSyncPacket (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 |
Protected Attributes inherited from dw::framework::SyncPortHelper | |
| uint32_t | m_dataOffset |
| bool | m_dataSynced |
| uint32_t | m_syncCount |
| CycleCountFetcher | m_syncCountRetriever |
| 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 116 of file Port.hpp.
References dw::framework::PortOutput< T >::bindChannelWithReference().
|
inline |
Definition at line 122 of file Port.hpp.
References FRWK_LOGE, dw::framework::SyncPortHelper::getNewPacketID(), dw::framework::ChannelObject::getParams(), dw::framework::ChannelObject::getProducer(), dw::framework::Exception::guard(), dw::framework::PortOutput< T >::isBound(), dw::framework::SyncPortHelper::isDataSynced(), 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 |
Definition at line 181 of file Port.hpp.
References dw::framework::SyncPortHelperOutput< T >::extractInternalPacket(), dw::framework::ChannelObject::Producer::get(), dw::framework::SyncPortHelper::isDataSynced(), and dw::framework::status.
|
inline |
Definition at line 219 of file Port.hpp.
References dw::framework::ChannelObject::PacketPool::getSyncSignaler().
|
inline |
Definition at line 240 of file Port.hpp.
References dw::framework::ChannelObject::PacketPool::getSyncWaiter().
|
inline |
|
inlinefinalvirtual |
Implements dw::framework::Port.
Definition at line 164 of file Port.hpp.
Referenced by dw::framework::PortOutput< T >::bindChannelWithReference(), dw::framework::PortOutput< T >::setOnDataReady(), and dw::framework::PortOutput< T >::wait().
|
inlinevirtual |
Definition at line 204 of file Port.hpp.
References dw::framework::SyncPortHelperOutput< T >::getSyncPacket(), dw::framework::SyncPortHelper::isDataSynced(), and dw::framework::ChannelObject::Producer::send().
|
inline |
Definition at line 155 of file Port.hpp.
References dw::framework::PortOutput< T >::isBound(), and dw::framework::ChannelObject::PacketPool::setOnDataReady().
|
inline |
|
inline |
Definition at line 169 of file Port.hpp.
References dw::framework::PortOutput< T >::isBound(), and dw::framework::ChannelObject::PacketPool::wait().
|
staticconstexpr |
|
staticconstexpr |