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) |
![]() | |
SyncPortHelperOutput () | |
![]() | |
bool | isDataSynced () |
virtual void | parseDataSynced (const ChannelParams ¶ms) |
void | setSyncCount (uint32_t index) |
dwStatus | setSyncRetriever (const CycleCountFetcher &func) |
SyncPortHelper () | |
![]() | |
virtual dwStatus | bindChannel (ChannelObject *channel)=0 |
virtual dwStatus | initialize () |
virtual bool | isBound ()=0 |
![]() | |
virtual | ~PortBase ()=default |
Static Public Attributes | |
static constexpr PortDirection | DIRECTION = PortDirection::OUTPUT |
static constexpr char | LOG_TAG [] = "PortOutput" |
Additional Inherited Members | |
![]() | |
T * | extractInternalPacket (GenericData genericData) |
SyncedPacketPayload * | getSyncPacket (T *frame) |
void | parseDataSynced (const ChannelParams ¶ms) override |
![]() | |
ChannelPacketTypeID | getNewPacketID (ChannelPacketTypeID packetTypeID) |
void | stampSyncCount (uint32_t &syncCountOut) const |
![]() | |
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 |