Compute Graph Framework SDK Reference  5.12
dw::framework::ManagedPortInput< T > Class Template Reference

Detailed Description

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

Derived ManagedPortInput<T> provides type-specific interfaces for accessing buffers.

Definition at line 509 of file ManagedPort.hpp.

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

Public Types

using UniquePacketPtr = std::unique_ptr< T, PacketDeleter >
 
- Public Types inherited from dw::framework::ManagedPortInputBase
using RingBuffer = dw::core::RingBuffer< GenericData >
 

Public Member Functions

detail::vectorIterable< T > getAllBufferIter ()
 
auto getBuffer () -> T *
 
iterable getBufferIter ()
 
auto getOptionalBuffer () -> T *
 
 ManagedPortInput ()
 
 ManagedPortInput (ConstructProperties props)
 
 ManagedPortInput (ConstructProperties props, SpecimenT specimen)
 
UniquePacketPtr takeOwnership ()
 
- Public Member Functions inherited from dw::framework::ManagedPortInputBase
void bindChannel (ChannelObject *channel) override
 
dw::core::VectorFixed< GenericDatagetAllBuffers ()
 
const ChannelMetadatagetMetadata ()
 
const PropertiesgetProperties () const noexcept
 
bool isBound () const noexcept override
 
bool isBufferAvailable () const noexcept
 
void recv ()
 
void release ()
 
void reset () override
 
void sendAdvTimestamp ()
 
void setCallbackAfterRecv (dw::core::Function< dwStatus()> callback)
 
- Public Member Functions inherited from dw::framework::ManagedPortBase
virtual void bindChannel (ChannelObject *channel)=0
 
void bindLockstepSyncClient (dw::framework::lockstep::ILockstepSyncClient *syncClient)
 
ChannelObjectgetChannel ()
 
virtual bool isBound () const noexcept=0
 
 ManagedPortBase ()
 
 ManagedPortBase (const ManagedPortBase &other)=delete
 
 ManagedPortBase (ManagedPortBase &&other)=delete
 
ManagedPortBaseoperator= (const ManagedPortBase &other)=delete
 
ManagedPortBaseoperator= (ManagedPortBase &&other)=delete
 
virtual void reset ()
 
void setCycleCount (uint32_t cycleCount)
 
void setPeriod (uint32_t period)
 
virtual ~ManagedPortBase ()=default
 
- Public Member Functions inherited from dw::framework::PortBase
virtual ~PortBase ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from dw::framework::ManagedPortInputBase
GenericData getBufferGeneric () const
 
 ManagedPortInputBase (ConstructProperties props, GenericDataReference &&ref)
 
GenericData popBufferGeneric ()
 
void releaseToChannel (void *data)
 
- Protected Attributes inherited from dw::framework::ManagedPortInputBase
RingBuffer m_buffers
 
GenericData m_stashedFuturePacket
 
bool m_stashValid
 
- Protected Attributes inherited from dw::framework::ManagedPortBase
ChannelObjectm_channel
 
uint32_t m_cycleCount
 
dw::framework::lockstep::ILockstepSyncClientm_lockstepSyncClient
 
uint32_t m_period
 

Member Typedef Documentation

◆ UniquePacketPtr

template<typename T >
using dw::framework::ManagedPortInput< T >::UniquePacketPtr = std::unique_ptr<T, PacketDeleter>

Definition at line 579 of file ManagedPort.hpp.

Constructor & Destructor Documentation

◆ ManagedPortInput() [1/3]

template<typename T >
dw::framework::ManagedPortInput< T >::ManagedPortInput ( ConstructProperties  props)
inline
Parameters
[in]propsthe properties of the input Port.

Definition at line 525 of file ManagedPort.hpp.

◆ ManagedPortInput() [2/3]

template<typename T >
dw::framework::ManagedPortInput< T >::ManagedPortInput ( )
inline

Definition at line 530 of file ManagedPort.hpp.

◆ ManagedPortInput() [3/3]

template<typename T >
dw::framework::ManagedPortInput< T >::ManagedPortInput ( ConstructProperties  props,
SpecimenT  specimen 
)
inline

Definition at line 535 of file ManagedPort.hpp.

Member Function Documentation

◆ getAllBufferIter()

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

iterable for all the buffers in the output channel pool.

Definition at line 543 of file ManagedPort.hpp.

◆ getBuffer()

template<typename T >
auto dw::framework::ManagedPortInput< T >::getBuffer ( ) -> T*
inline

Get a pointer to the first received buffer.

Note
returned pointer is never nullptr
Exceptions
whenthe buffer cannot be cast to T.

Definition at line 563 of file ManagedPort.hpp.

◆ getBufferIter()

template<typename T >
iterable dw::framework::ManagedPortInput< T >::getBufferIter ( )
inline

Get iterator over received buffers

Note
returned pointers are never nullptr
iterator access throws if buffer cannot be cast to T.

Definition at line 553 of file ManagedPort.hpp.

◆ getOptionalBuffer()

template<typename T >
auto dw::framework::ManagedPortInput< T >::getOptionalBuffer ( ) -> T*
inline

For bind optional and buffer optional case Get a pointer to the first received buffer if the buffer available. Otherwise return nullptr.

Exceptions
whenthe buffer cannot be cast to T.

Definition at line 574 of file ManagedPort.hpp.

◆ takeOwnership()

template<typename T >
UniquePacketPtr dw::framework::ManagedPortInput< T >::takeOwnership ( )
inline

Definition at line 581 of file ManagedPort.hpp.

References dw::framework::GenericData::getPointer().


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