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

Detailed Description

Definition at line 48 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)
 
ChannelObject * getChannel ()
 
virtual bool isBound () const noexcept=0
 
 ManagedPortBase ()
 
 ManagedPortBase (const ManagedPortBase &other)=delete
 
 ManagedPortBase (ManagedPortBase &&other)=delete
 
ManagedPortBase & operator= (const ManagedPortBase &other)=delete
 
ManagedPortBase & operator= (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
 

Protected Attributes

ChannelObject * m_channel
 
uint32_t m_cycleCount
 
dw::framework::lockstep::ILockstepSyncClient * m_lockstepSyncClient
 
uint32_t m_period
 

Constructor & Destructor Documentation

◆ ManagedPortBase() [1/3]

dw::framework::ManagedPortBase::ManagedPortBase ( )

◆ ~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.

◆ getChannel()

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

Getter for the channel

Returns
the channel if bound else nullptr

◆ 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.

◆ 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 110 of file ManagedPort.hpp.

◆ m_cycleCount

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

Definition at line 108 of file ManagedPort.hpp.

◆ m_lockstepSyncClient

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

Definition at line 111 of file ManagedPort.hpp.

◆ m_period

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

Definition at line 109 of file ManagedPort.hpp.


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