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)
 
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
 

Protected Attributes

ChannelObjectm_channel
 
uint32_t m_cycleCount
 
dw::framework::lockstep::ILockstepSyncClientm_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: