Compute Graph Framework SDK Reference  5.16
dw::framework::ManagedPortBase Class Referenceabstract

Detailed Description

Definition at line 54 of file ManagedPort.hpp.

Inheritance diagram for dw::framework::ManagedPortBase:
Collaboration diagram for dw::framework::ManagedPortBase:

Public Member Functions

virtual void bindChannel (ChannelObject *channel)=0
 
void bindLockstepSyncClient (dw::framework::lockstep::ILockstepSyncClient *syncClient)
 
ChannelObjectgetChannel ()
 
const dw::core::StringView & getName () const
 Get the name of the port. More...
 
const dw::core::StringView & getNodeName () const
 Get the name of the node this port belongs to. More...
 
virtual bool isBound () const noexcept=0
 
 ManagedPortBase (const dw::core::StringView &name)
 
 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 void setNodeName (const dw::core::StringView &nodeName) noexcept
 Set the name of the node this port belongs to. More...
 
void setPeriod (uint32_t period)
 
virtual ~ManagedPortBase ()=default
 
- Public Member Functions inherited from dw::framework::PortBase
virtual ~PortBase ()=default
 

Protected Member Functions

 FI_DECLARE_INSTANCE_SET_HANDLE (m_fiHandle)
 

Protected Attributes

ChannelObjectm_channel
 
uint32_t m_cycleCount
 
dw::framework::lockstep::ILockstepSyncClientm_lockstepSyncClient
 
dw::core::StringView m_name
 The unique name within set of ports with the same direction. More...
 
dw::core::StringView m_nodeName
 The name of the node this port belongs to. More...
 
uint32_t m_period
 

Constructor & Destructor Documentation

◆ ManagedPortBase() [1/3]

dw::framework::ManagedPortBase::ManagedPortBase ( const dw::core::StringView &  name)

◆ ~ManagedPortBase()

virtual dw::framework::ManagedPortBase::~ManagedPortBase ( )
virtualdefault

◆ ManagedPortBase() [2/3]

dw::framework::ManagedPortBase::ManagedPortBase ( const ManagedPortBase other)
delete

All derived Port classes cannot be copied since the channel client interface and its packets are non-copyable.

◆ ManagedPortBase() [3/3]

dw::framework::ManagedPortBase::ManagedPortBase ( ManagedPortBase &&  other)
delete

Member Function Documentation

◆ bindChannel()

virtual void dw::framework::ManagedPortBase::bindChannel ( ChannelObject channel)
pure virtual

Bind channel to the port. Indicates to channel the data type that is needed by the port and passes channel any reference information required to allocate packets.

Parameters
[in]channelthe channel to bind.
Note
throws if channel is invalid, port is already bound, or request to channel fails.

Implemented in dw::framework::ManagedPortOutputBase, and dw::framework::ManagedPortInputBase.

◆ bindLockstepSyncClient()

void dw::framework::ManagedPortBase::bindLockstepSyncClient ( dw::framework::lockstep::ILockstepSyncClient syncClient)

Bind lockstep sync client to the port.

Parameters
[in]syncClientthe sync client to bind.
Note
throws if syncClient is invalid or port is already bound to a sync client.

◆ FI_DECLARE_INSTANCE_SET_HANDLE()

dw::framework::ManagedPortBase::FI_DECLARE_INSTANCE_SET_HANDLE ( m_fiHandle  )
protected

◆ getChannel()

ChannelObject * dw::framework::ManagedPortBase::getChannel ( )

Getter for the channel

Returns
the channel if bound else nullptr

◆ getName()

const dw::core::StringView & dw::framework::ManagedPortBase::getName ( ) const

Get the name of the port.

◆ getNodeName()

const dw::core::StringView & dw::framework::ManagedPortBase::getNodeName ( ) const

Get the name of the node this port belongs to.

◆ isBound()

virtual bool dw::framework::ManagedPortBase::isBound ( ) const
pure virtualnoexcept
Returns
true if Port has successfully been bound to channel already.

Implemented in dw::framework::ManagedPortOutputBase, and dw::framework::ManagedPortInputBase.

◆ operator=() [1/2]

ManagedPortBase & dw::framework::ManagedPortBase::operator= ( const ManagedPortBase other)
delete

◆ operator=() [2/2]

ManagedPortBase & dw::framework::ManagedPortBase::operator= ( ManagedPortBase &&  other)
delete

◆ reset()

virtual void dw::framework::ManagedPortBase::reset ( )
virtual

Resets the port's cycle count to 0.

Note
does not drop the bound channel.

Reimplemented in dw::framework::ManagedPortOutputBase, and dw::framework::ManagedPortInputBase.

◆ setCycleCount()

void dw::framework::ManagedPortBase::setCycleCount ( uint32_t  cycleCount)
Parameters
[in]cycleCountthe current cycle count representing the number of times the DAG has been executed.

◆ setNodeName()

virtual void dw::framework::ManagedPortBase::setNodeName ( const dw::core::StringView &  nodeName)
virtualnoexcept

Set the name of the node this port belongs to.

Reimplemented in dw::framework::ManagedPortOutputBase.

◆ setPeriod()

void dw::framework::ManagedPortBase::setPeriod ( uint32_t  period)
Parameters
[in]periodthe period of the node/application that created the port.

Member Data Documentation

◆ m_channel

ChannelObject* dw::framework::ManagedPortBase::m_channel
protected

Definition at line 129 of file ManagedPort.hpp.

◆ m_cycleCount

uint32_t dw::framework::ManagedPortBase::m_cycleCount
protected

Definition at line 127 of file ManagedPort.hpp.

◆ m_lockstepSyncClient

dw::framework::lockstep::ILockstepSyncClient* dw::framework::ManagedPortBase::m_lockstepSyncClient
protected

Definition at line 130 of file ManagedPort.hpp.

◆ m_name

dw::core::StringView dw::framework::ManagedPortBase::m_name
protected

The unique name within set of ports with the same direction.

Definition at line 124 of file ManagedPort.hpp.

◆ m_nodeName

dw::core::StringView dw::framework::ManagedPortBase::m_nodeName
protected

The name of the node this port belongs to.

Definition at line 126 of file ManagedPort.hpp.

◆ m_period

uint32_t dw::framework::ManagedPortBase::m_period
protected

Definition at line 128 of file ManagedPort.hpp.


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