Compute Graph Framework SDK Reference  5.8
dw::framework::ManagedPortOutputBase Class Reference

Detailed Description

Base class encapsulates ownership of buffers and interactions with channel in type-agnostic way.

Definition at line 93 of file ManagedPort.hpp.

Inheritance diagram for dw::framework::ManagedPortOutputBase:
Collaboration diagram for dw::framework::ManagedPortOutputBase:

Classes

struct  BoundProperties
 
struct  ConstructProperties
 
struct  Properties
 

Public Member Functions

void acquire ()
 
void bindChannel (ChannelObject *channel) override
 
const PropertiesgetProperties () const noexcept
 
bool isBound () const noexcept override
 
bool isBufferAvailable () const noexcept
 
void send ()
 
- Public Member Functions inherited from dw::framework::ManagedPortBase
virtual void bindChannel (ChannelObject *channel)=0
 
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)
 
virtual ~ManagedPortBase ()=default
 
- Public Member Functions inherited from dw::framework::PortBase
virtual ~PortBase ()=default
 

Protected Member Functions

GenericData getBufferGeneric ()
 
 ManagedPortOutputBase (ConstructProperties props, GenericDataReference &&ref)
 

Additional Inherited Members

- Protected Attributes inherited from dw::framework::ManagedPortBase
uint32_t m_cycleCount
 

Class Documentation

◆ dw::framework::ManagedPortOutputBase::BoundProperties

struct dw::framework::ManagedPortOutputBase::BoundProperties
Class Members
bool syncEnabled

Whether this port is a sync port and will stamp the current cycle on all sync packets it produces.

◆ dw::framework::ManagedPortOutputBase::ConstructProperties

struct dw::framework::ManagedPortOutputBase::ConstructProperties

◆ dw::framework::ManagedPortOutputBase::Properties

struct dw::framework::ManagedPortOutputBase::Properties
Collaboration diagram for dw::framework::ManagedPortOutputBase::Properties:
Class Members
BoundProperties boundProperties
ConstructProperties constructProperties

Constructor & Destructor Documentation

◆ ManagedPortOutputBase()

dw::framework::ManagedPortOutputBase::ManagedPortOutputBase ( ConstructProperties  props,
GenericDataReference &&  ref 
)
explicitprotected

Member Function Documentation

◆ acquire()

void dw::framework::ManagedPortOutputBase::acquire ( )

Acquire a buffer from the channel.

Note
only a single buffer may be acquired from channel at any given time. if the port is already holding a buffer this call is a no-op.
client should check after with isBufferAvailable() to know if buffer was actually acquired.
Exceptions
ifchannel returns unexpected error.

◆ bindChannel()

void dw::framework::ManagedPortOutputBase::bindChannel ( ChannelObject channel)
overridevirtual

◆ getBufferGeneric()

GenericData dw::framework::ManagedPortOutputBase::getBufferGeneric ( )
protected

◆ getProperties()

const Properties & dw::framework::ManagedPortOutputBase::getProperties ( ) const
noexcept

◆ isBound()

bool dw::framework::ManagedPortOutputBase::isBound ( ) const
overridevirtualnoexcept

◆ isBufferAvailable()

bool dw::framework::ManagedPortOutputBase::isBufferAvailable ( ) const
noexcept
Returns
true if the Port is holding a buffer acquired from the channel.

◆ send()

void dw::framework::ManagedPortOutputBase::send ( )

Send the buffer to downstream clients over the channel.

Note
if the Port has no acquired buffer this call is a no-op.
after this call the sent buffer will no longer be available. any pointers deduced from the previously held buffer should not be used.
Exceptions
ifchannel returns unexpected errors.

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