Compute Graph Framework SDK Reference  5.12
dw::framework::SimpleNode Class Reference

Detailed Description

Definition at line 76 of file SimpleNode.hpp.

Inheritance diagram for dw::framework::SimpleNode:
Collaboration diagram for dw::framework::SimpleNode:

Public Member Functions

void addPass (Pass *pass)
 
dwStatus clearErrorSignal () override
 
dwStatus clearHealthSignal () override
 
dwStatus copyModuleHealthSignals (dwHealthSignal &outSignal)
 Copy health signals from the module over to the node and stores in outSignal. More...
 
dwStatus getErrorSignal (dwGraphErrorSignal &sehErrorSignal, dwGraphErrorSignal *&errorSignal, uint16_t const sourceId, char8_t const *instanceName=nullptr) override
 
dwStatus getHealthSignal (dwGraphHealthSignal *&healthSignals, bool updateFromModule=false) override
 
dwStatus getInputChannel (const uint8_t portID, ChannelObject *&channel) const override
 Gets the input channel associated with the input port. More...
 
template<typename NodeT , size_t PortIndex>
ManagedPortInput< decltype(portType< NodeT, PortDirection::INPUT, PortIndex >())> & getInputPort ()
 Get a previously initialized non-array ManagedPortInput. More...
 
dwStatus getInputPort (const uint8_t portID, dw::framework::PortBase *&port) const override
 Gets the input port associated with the input port Id. More...
 
template<typename NodeT , size_t PortIndex>
ManagedPortInput< decltype(portType< NodeT, PortDirection::INPUT, PortIndex >())> & getInputPort (size_t arrayIndex)
 Get one specific ManagedPortInput from a previously initialized input array port. More...
 
uint32_t getIterationCount () const
 
dwStatus getName (const char **name) override
 
uint32_t getNodePeriod () const
 
dwStatus getOutputChannel (const uint8_t portID, ChannelObject *&channel) const override
 Gets the output channel associated with the output port. More...
 
template<typename NodeT , size_t PortIndex>
ManagedPortOutput< decltype(portType< NodeT, PortDirection::OUTPUT, PortIndex >())> & getOutputPort ()
 Get a previously initialized non-array ManagedPortOutput. More...
 
dwStatus getOutputPort (const uint8_t portID, dw::framework::PortBase *&port) const override
 Gets the output port associated with the output port Id. More...
 
template<typename NodeT , size_t PortIndex>
ManagedPortOutput< decltype(portType< NodeT, PortDirection::OUTPUT, PortIndex >())> & getOutputPort (size_t arrayIndex)
 Get one specific ManagedPortOutput from a previously initialized output array port. More...
 
dwStatus getPass (Pass **pass, uint8_t index) override
 
size_t getPassCount () const noexcept override
 
dwStatus getPasses (VectorFixed< Pass * > &passList) override
 
dwStatus getPasses (VectorFixed< Pass * > &passList, dwProcessorType processorType) override
 
const dw::core::HeapHashMap< size_t, std::shared_ptr< ManagedPortInputBase > > & getRegisteredInputPorts () const
 
const dw::core::HeapHashMap< size_t, std::shared_ptr< ManagedPortOutputBase > > & getRegisteredOutputPorts () const
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initInputArrayPort (Args &&... args)
 Initialize an array of ManagedPortInput which will be owned by the base class and can be retrieved using getInputPort(size_t). More...
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initInputPort (Args &&... args)
 Initialize a ManagedPortInput which will be owned by the base class and can be retrieved using getInputPort(). More...
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initOutputArrayPort (Args &&... args)
 Initialize an array of ManagedPortOutput which will be owned by the base class and can be retrieved using getOutputPort(size_t). More...
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initOutputPort (Args &&... args)
 Initialize a ManagedPortOutput which will be owned by the base class and can be retrieved using getOutputPort(). More...
 
template<typename Func >
void iterateManagedInputPorts (Func func)
 
template<typename Func >
void iterateManagedOutputPorts (Func func)
 
template<typename Func , typename PortList >
void iteratePorts (PortList &portList, Func func)
 
template<typename TPort , typename... Args>
std::unique_ptr< TPort > make_port (Args &&... args)
 
dwStatus reset () override
 
void resetPorts () override
 Default implementation to reset ports managed by the base class. More...
 
dwStatus run () override
 
dwStatus runPass (size_t passIndex) override
 
dwStatus setInputChannel (ChannelObject *, uint8_t, dwSerializationType) override
 
dwStatus setInputChannel (ChannelObject *channel, uint8_t portID) override
 Associate an input port with a channel instances. More...
 
dwStatus setIterationCount (uint32_t iterationCount) override
 
template<typename ModuleHandle_t >
dwStatus setModuleHandle (ModuleHandle_t handle, dwContextHandle_t context)
 
dwStatus setName (const char *name) final
 
dwStatus setNodePeriod (uint32_t period) override
 
virtual dwStatus setObjectHandle (dwModuleHandle_t handle)
 
dwStatus setOutputChannel (ChannelObject *channel, uint8_t portID) override
 Associate an output port with a channel instances. More...
 
dwStatus setState (const char *state) override
 
dwStatus setup ()
 Default implementation of the setup pass. More...
 
 SimpleNode ()
 
 SimpleNode (NodeAllocationParams params)
 Constructor which tailors the preallocated size of the internal collections for ports and passes to the need of the concrete node. More...
 
dwStatus teardown ()
 Default implementation of the teardown pass. More...
 
dwStatus updateCurrentErrorSignal (dwGraphErrorSignal &signal) override
 A function that allows user override to update error signal It is automatically called by dwFramework when getErrorSignal is called and when pass returns non-success return code. More...
 
dwStatus updateCurrentHealthSignal (dwGraphHealthSignal &signal) override
 A function that allows user override to update health signal It is automatically called by dwFramework during teardown and when pass returns non-success return code. More...
 
dwStatus updateHealthSignal (const dwGraphHealthSignal &signal)
 Adds the provided Health Signal to the Health Signal Array. If the array is full, the new signal will not be added. More...
 
dwStatus validate () override
 
dwStatus validate (const char *direction, const PortCollectionDescriptor &collection, dw::core::Function< bool(size_t)> isPortBound)
 Helper function used by dw::framework::SimpleNodeT::validate. More...
 
virtual ~SimpleNode ()
 
- Public Member Functions inherited from dw::framework::Node
virtual dwStatus clearErrorSignal ()=0
 Clear the error signal for this node. More...
 
virtual dwStatus clearHealthSignal ()=0
 Clear the health signal for this node. More...
 
virtual dwStatus getErrorSignal (dwGraphErrorSignal &sehErrorSignal, dwGraphErrorSignal *&errorSignal, uint16_t const sourceId, char8_t const *instanceName=nullptr)=0
 Get the pointer to the error signal for this node. More...
 
virtual dwStatus getHealthSignal (dwGraphHealthSignal *&healthSignals, bool updateFromModule=false)=0
 Get the pointer to the health signal for this node. More...
 
virtual dwStatus getInputChannel (const uint8_t portID, ChannelObject *&channel) const =0
 Gets the input channel associated with the input port. More...
 
virtual dwStatus getInputPort (const uint8_t portID, dw::framework::PortBase *&port) const =0
 Gets the input port associated with the port id. More...
 
virtual dwStatus getName (const char **name)=0
 Get the name of the node. More...
 
virtual dwStatus getOutputChannel (const uint8_t portID, ChannelObject *&channel) const =0
 Gets the output channel associated with the output port. More...
 
virtual dwStatus getOutputPort (const uint8_t portID, dw::framework::PortBase *&port) const =0
 Gets the output port associated with the port id. More...
 
virtual dwStatus getPass (Pass **pass, uint8_t index)=0
 Get a const pointer to the pass at a specific index. More...
 
virtual size_t getPassCount () const noexcept=0
 Get number of passes in the node. More...
 
virtual dwStatus getPasses (VectorFixed< Pass * > &passList)=0
 Get all the passes in the node. More...
 
virtual dwStatus getPasses (VectorFixed< Pass * > &passList, dwProcessorType processorType)=0
 Get node passes filtered by processor type and process type. More...
 
virtual dwStatus reset ()=0
 Resets the state of the node. More...
 
virtual void resetPorts ()=0
 Resets all the ports in the node. More...
 
virtual dwStatus run ()=0
 Runs all the passes in the node. More...
 
virtual dwStatus runPass (size_t passIndex)=0
 Run one pass by index as defined by the pass descriptors. More...
 
virtual dwStatus setInputChannel (ChannelObject *channel, uint8_t portID)=0
 Sets an input channel for this node with an accompanying port. More...
 
virtual dwStatus setInputChannel (ChannelObject *channel, uint8_t portID, dwSerializationType dataType)=0
 Sets an input channel for this node with an accompanying port. More...
 
virtual dwStatus setIterationCount (uint32_t iterationCount)=0
 Sets the node's iteration count. More...
 
virtual dwStatus setName (const char *name)=0
 Set the name of the node. More...
 
virtual dwStatus setNodePeriod (uint32_t period)=0
 Set the node's period. More...
 
virtual dwStatus setOutputChannel (ChannelObject *channel, uint8_t portID)=0
 Sets an output channel for this node with an accompanying port. More...
 
virtual dwStatus setState (const char *state)=0
 Set the current state in node. Node implementation of this API need to be thread-safe. More...
 
virtual dwStatus updateCurrentErrorSignal (dwGraphErrorSignal &signal)=0
 A function that allows user override to update error signal It is automatically called by dwFramework when getErrorSignal is called and when pass returns non-success return code. More...
 
virtual dwStatus updateCurrentHealthSignal (dwGraphHealthSignal &signal)=0
 A function that allows user override to update health signal It is automatically called by dwFramework during teardown and when pass returns non-success return code. More...
 
virtual dwStatus validate ()=0
 Checks that all mandatory ports are bound. The implementation should validate that all the ports are bound to the appropriate channels (any required ports, that is). For example, a camera node may have processed output and raw output ports, but only one is required to be bound. More...
 
virtual ~Node ()=default
 

Protected Member Functions

virtual std::unique_ptr< PasscreateSetupPass ()
 
virtual std::unique_ptr< PasscreateTeardownPass ()
 
dwStatus getModuleHandle (dwModuleHandle_t *moduleHandle, void *handle, dwContextHandle_t context)
 
template<typename PassFunctionT , typename... Args>
std::unique_ptr< PassImpl< PassFunctionT > > make_pass (PassFunctionT func, Args &&... args)
 
template<typename NodeT , size_t PassIndex, typename PassFunctionT >
void registerPass (PassFunctionT func, cudaStream_t const cudaStream, std::initializer_list< std::pair< dwStatus, uint32_t > > const &returnMapping={})
 Register a GPU pass function and a cuda stream with the node base class. More...
 
template<typename NodeT , size_t PassIndex, typename PassFunctionT >
void registerPass (PassFunctionT func, std::initializer_list< std::pair< dwStatus, uint32_t > > const &returnMapping={})
 Register a pass function with the node base class. More...
 

Protected Attributes

std::atomic< bool > m_asyncResetFlag
 
dw::core::HeapHashMap< size_t, std::shared_ptr< ManagedPortInputBase > > m_inputPorts
 
dw::core::HeapHashMap< size_t, std::shared_ptr< ManagedPortOutputBase > > m_outputPorts
 

Additional Inherited Members

- Public Types inherited from dw::framework::Node
using Name_t = FixedString< MAX_NAME_LEN >
 
- Static Public Attributes inherited from dw::framework::Node
static constexpr const size_t MAX_NAME_LEN {128U}
 
static constexpr const uint32_t MAX_PASS_COUNT {256U}
 
static constexpr const uint32_t MAX_PORT_COUNT {256U}
 

Constructor & Destructor Documentation

◆ SimpleNode() [1/2]

dw::framework::SimpleNode::SimpleNode ( )

◆ SimpleNode() [2/2]

dw::framework::SimpleNode::SimpleNode ( NodeAllocationParams  params)

Constructor which tailors the preallocated size of the internal collections for ports and passes to the need of the concrete node.

◆ ~SimpleNode()

virtual dw::framework::SimpleNode::~SimpleNode ( )
virtual

Member Function Documentation

◆ addPass()

void dw::framework::SimpleNode::addPass ( Pass pass)

Register a pass function with the node base class.

Deprecated:
Use registerPass() instead.

◆ clearErrorSignal()

dwStatus dw::framework::SimpleNode::clearErrorSignal ( )
overridevirtual

Implements dw::framework::Node.

◆ clearHealthSignal()

dwStatus dw::framework::SimpleNode::clearHealthSignal ( )
overridevirtual

Implements dw::framework::Node.

◆ copyModuleHealthSignals()

dwStatus dw::framework::SimpleNode::copyModuleHealthSignals ( dwHealthSignal &  outSignal)

Copy health signals from the module over to the node and stores in outSignal.

Parameters
[out]outSignalthe output module signal
Returns
DW_SUCCESS DW_NOT_AVAILABLE if there is no DW module associated with the node DW_INVALID_HANDLE if the DW module handle assiciated with the node is invalid

◆ createSetupPass()

virtual std::unique_ptr< Pass > dw::framework::SimpleNode::createSetupPass ( )
inlineprotectedvirtual

Reimplemented in dw::framework::SimpleNodeT< T >.

Definition at line 207 of file SimpleNode.hpp.

◆ createTeardownPass()

virtual std::unique_ptr< Pass > dw::framework::SimpleNode::createTeardownPass ( )
inlineprotectedvirtual

Reimplemented in dw::framework::SimpleNodeT< T >.

Definition at line 212 of file SimpleNode.hpp.

◆ getErrorSignal()

dwStatus dw::framework::SimpleNode::getErrorSignal ( dwGraphErrorSignal sehErrorSignal,
dwGraphErrorSignal *&  errorSignal,
uint16_t const  sourceId,
char8_t const *  instanceName = nullptr 
)
overridevirtual

Implements dw::framework::Node.

◆ getHealthSignal()

dwStatus dw::framework::SimpleNode::getHealthSignal ( dwGraphHealthSignal *&  healthSignals,
bool  updateFromModule = false 
)
overridevirtual

Implements dw::framework::Node.

◆ getInputChannel()

dwStatus dw::framework::SimpleNode::getInputChannel ( const uint8_t  portID,
ChannelObject *&  channel 
) const
overridevirtual

Gets the input channel associated with the input port.

Implements dw::framework::Node.

◆ getInputPort() [1/3]

template<typename NodeT , size_t PortIndex>
ManagedPortInput< decltype(portType< NodeT, PortDirection::INPUT, PortIndex >())> & dw::framework::SimpleNode::getInputPort ( )
inline

Get a previously initialized non-array ManagedPortInput.

Definition at line 444 of file SimpleNode.hpp.

References dw::framework::descriptorPortArray().

◆ getInputPort() [2/3]

dwStatus dw::framework::SimpleNode::getInputPort ( const uint8_t  portID,
dw::framework::PortBase *&  port 
) const
overridevirtual

Gets the input port associated with the input port Id.

Implements dw::framework::Node.

◆ getInputPort() [3/3]

template<typename NodeT , size_t PortIndex>
ManagedPortInput< decltype(portType< NodeT, PortDirection::INPUT, PortIndex >())> & dw::framework::SimpleNode::getInputPort ( size_t  arrayIndex)
inline

Get one specific ManagedPortInput from a previously initialized input array port.

Definition at line 467 of file SimpleNode.hpp.

◆ getIterationCount()

uint32_t dw::framework::SimpleNode::getIterationCount ( ) const

◆ getModuleHandle()

dwStatus dw::framework::SimpleNode::getModuleHandle ( dwModuleHandle_t *  moduleHandle,
void *  handle,
dwContextHandle_t  context 
)
protected

◆ getName()

dwStatus dw::framework::SimpleNode::getName ( const char **  name)
overridevirtual

Implements dw::framework::Node.

◆ getNodePeriod()

uint32_t dw::framework::SimpleNode::getNodePeriod ( ) const

◆ getOutputChannel()

dwStatus dw::framework::SimpleNode::getOutputChannel ( const uint8_t  portID,
ChannelObject *&  channel 
) const
overridevirtual

Gets the output channel associated with the output port.

Implements dw::framework::Node.

◆ getOutputPort() [1/3]

template<typename NodeT , size_t PortIndex>
ManagedPortOutput< decltype(portType< NodeT, PortDirection::OUTPUT, PortIndex >())> & dw::framework::SimpleNode::getOutputPort ( )
inline

Get a previously initialized non-array ManagedPortOutput.

Definition at line 494 of file SimpleNode.hpp.

References dw::framework::descriptorPortArray().

◆ getOutputPort() [2/3]

dwStatus dw::framework::SimpleNode::getOutputPort ( const uint8_t  portID,
dw::framework::PortBase *&  port 
) const
overridevirtual

Gets the output port associated with the output port Id.

Implements dw::framework::Node.

◆ getOutputPort() [3/3]

template<typename NodeT , size_t PortIndex>
ManagedPortOutput< decltype(portType< NodeT, PortDirection::OUTPUT, PortIndex >())> & dw::framework::SimpleNode::getOutputPort ( size_t  arrayIndex)
inline

Get one specific ManagedPortOutput from a previously initialized output array port.

Definition at line 517 of file SimpleNode.hpp.

◆ getPass()

dwStatus dw::framework::SimpleNode::getPass ( Pass **  pass,
uint8_t  index 
)
overridevirtual

Implements dw::framework::Node.

◆ getPassCount()

size_t dw::framework::SimpleNode::getPassCount ( ) const
overridevirtualnoexcept

Implements dw::framework::Node.

◆ getPasses() [1/2]

dwStatus dw::framework::SimpleNode::getPasses ( VectorFixed< Pass * > &  passList)
overridevirtual

Implements dw::framework::Node.

◆ getPasses() [2/2]

dwStatus dw::framework::SimpleNode::getPasses ( VectorFixed< Pass * > &  passList,
dwProcessorType  processorType 
)
overridevirtual

Implements dw::framework::Node.

◆ getRegisteredInputPorts()

const dw::core::HeapHashMap< size_t, std::shared_ptr< ManagedPortInputBase > > & dw::framework::SimpleNode::getRegisteredInputPorts ( ) const
inline

Definition at line 575 of file SimpleNode.hpp.

Referenced by dw::framework::SimpleNodeT< T >::validate().

◆ getRegisteredOutputPorts()

const dw::core::HeapHashMap< size_t, std::shared_ptr< ManagedPortOutputBase > > & dw::framework::SimpleNode::getRegisteredOutputPorts ( ) const
inline

Definition at line 580 of file SimpleNode.hpp.

Referenced by dw::framework::SimpleNodeT< T >::validate().

◆ initInputArrayPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleNode::initInputArrayPort ( Args &&...  args)
inline

Initialize an array of ManagedPortInput which will be owned by the base class and can be retrieved using getInputPort(size_t).

The macro NODE_INIT_INPUT_ARRAY_PORT can be used for convenience to hide the template parameters of this method.

Definition at line 384 of file SimpleNode.hpp.

◆ initInputPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleNode::initInputPort ( Args &&...  args)
inline

Initialize a ManagedPortInput which will be owned by the base class and can be retrieved using getInputPort().

The macro NODE_INIT_INPUT_PORT can be used for convenience to hide the template parameters of this method.

Definition at line 367 of file SimpleNode.hpp.

◆ initOutputArrayPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleNode::initOutputArrayPort ( Args &&...  args)
inline

Initialize an array of ManagedPortOutput which will be owned by the base class and can be retrieved using getOutputPort(size_t).

The macro NODE_INIT_OUTPUT_ARRAY_PORT can be used for convenience to hide the template parameters of this method.

Definition at line 423 of file SimpleNode.hpp.

◆ initOutputPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleNode::initOutputPort ( Args &&...  args)
inline

Initialize a ManagedPortOutput which will be owned by the base class and can be retrieved using getOutputPort().

The macro NODE_INIT_OUTPUT_PORT can be used for convenience to hide the template parameters of this method.

Definition at line 406 of file SimpleNode.hpp.

◆ iterateManagedInputPorts()

template<typename Func >
void dw::framework::SimpleNode::iterateManagedInputPorts ( Func  func)
inline

Definition at line 150 of file SimpleNode.hpp.

References iteratePorts(), and m_inputPorts.

◆ iterateManagedOutputPorts()

template<typename Func >
void dw::framework::SimpleNode::iterateManagedOutputPorts ( Func  func)
inline

Definition at line 164 of file SimpleNode.hpp.

◆ iteratePorts()

template<typename Func , typename PortList >
void dw::framework::SimpleNode::iteratePorts ( PortList &  portList,
Func  func 
)
inline

Definition at line 141 of file SimpleNode.hpp.

Referenced by iterateManagedInputPorts().

◆ make_pass()

template<typename PassFunctionT , typename... Args>
std::unique_ptr< PassImpl< PassFunctionT > > dw::framework::SimpleNode::make_pass ( PassFunctionT  func,
Args &&...  args 
)
inlineprotected

Simple helper to create a pass with any function implementing operator()

Example: class MyNode : public Node { MyNode() { const int32_t someArg = 1;

auto pass1 = make_pass([someArg, this]() { return myPassWithArgs(someArg); }, ...); auto pass2 = make_pass([this]() { return myPassNoArgs(); }, ...); }

private: dwStatus myPassWithArgs(int32_t a); dwStatus myPassNoArgs(); }

Note
cannot use here PassFunctionT&& + std::forward<PassFunctionT>(func) because that makes the captured this pointer by a passed lambda become invalid, see

Definition at line 240 of file SimpleNode.hpp.

◆ make_port()

template<typename TPort , typename... Args>
std::unique_ptr< TPort > dw::framework::SimpleNode::make_port ( Args &&...  args)
inline

◆ registerPass() [1/2]

template<typename NodeT , size_t PassIndex, typename PassFunctionT >
void dw::framework::SimpleNode::registerPass ( PassFunctionT  func,
cudaStream_t const  cudaStream,
std::initializer_list< std::pair< dwStatus, uint32_t > > const &  returnMapping = {} 
)
inlineprotected

Register a GPU pass function and a cuda stream with the node base class.

The macro NODE_REGISTER_PASS can be used for convenience to hide the template parameters of this method.

Definition at line 287 of file SimpleNode.hpp.

◆ registerPass() [2/2]

template<typename NodeT , size_t PassIndex, typename PassFunctionT >
void dw::framework::SimpleNode::registerPass ( PassFunctionT  func,
std::initializer_list< std::pair< dwStatus, uint32_t > > const &  returnMapping = {} 
)
inlineprotected

Register a pass function with the node base class.

The macro NODE_REGISTER_PASS can be used for convenience to hide the template parameters of this method.

Note that the processorType DLA_0 and DLA_1 will be replaced by DLA when STM support cuDLA and dw deprecated them Issue tracked in AVCGF-569

Definition at line 254 of file SimpleNode.hpp.

◆ reset()

dwStatus dw::framework::SimpleNode::reset ( )
inlineoverridevirtual

Implements dw::framework::Node.

Reimplemented in dw::framework::SimpleNodeT< T >.

Definition at line 84 of file SimpleNode.hpp.

◆ resetPorts()

void dw::framework::SimpleNode::resetPorts ( )
overridevirtual

Default implementation to reset ports managed by the base class.

Call ManagedPortInput::reset on all input ports. This method is used by SimpleNodeT::reset.

Implements dw::framework::Node.

Referenced by dw::framework::SimpleNodeT< T >::reset().

◆ run()

dwStatus dw::framework::SimpleNode::run ( )
overridevirtual

Implements dw::framework::Node.

◆ runPass()

dwStatus dw::framework::SimpleNode::runPass ( size_t  passIndex)
overridevirtual

Implements dw::framework::Node.

◆ setInputChannel() [1/2]

dwStatus dw::framework::SimpleNode::setInputChannel ( ChannelObject ,
uint8_t  ,
dwSerializationType   
)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 95 of file SimpleNode.hpp.

◆ setInputChannel() [2/2]

dwStatus dw::framework::SimpleNode::setInputChannel ( ChannelObject channel,
uint8_t  portID 
)
overridevirtual

Associate an input port with a channel instances.

A concrete node shouldn't need to override this method if all input ports are initialized in the constructor using the macros like NODE_INIT_INPUT_PORT.

Implements dw::framework::Node.

◆ setIterationCount()

dwStatus dw::framework::SimpleNode::setIterationCount ( uint32_t  iterationCount)
overridevirtual

Sets the node's iteration count. The value set can be retrieved with getIterationCount.

Implements dw::framework::Node.

◆ setModuleHandle()

template<typename ModuleHandle_t >
dwStatus dw::framework::SimpleNode::setModuleHandle ( ModuleHandle_t  handle,
dwContextHandle_t  context 
)
inline

Definition at line 178 of file SimpleNode.hpp.

◆ setName()

dwStatus dw::framework::SimpleNode::setName ( const char *  name)
finalvirtual

Implements dw::framework::Node.

◆ setNodePeriod()

dwStatus dw::framework::SimpleNode::setNodePeriod ( uint32_t  period)
overridevirtual

Sets the node's period The value set can be retrieved with getNodePeriod.

Implements dw::framework::Node.

◆ setObjectHandle()

virtual dwStatus dw::framework::SimpleNode::setObjectHandle ( dwModuleHandle_t  handle)
virtual

◆ setOutputChannel()

dwStatus dw::framework::SimpleNode::setOutputChannel ( ChannelObject channel,
uint8_t  portID 
)
overridevirtual

Associate an output port with a channel instances.

A concrete node shouldn't need to override this method if all output ports are initialized in the constructor using the macros like NODE_INIT_OUTPUT_PORT.

Implements dw::framework::Node.

◆ setState()

dwStatus dw::framework::SimpleNode::setState ( const char *  state)
inlineoverridevirtual

Set the current state. Override setState to handle state changes

Implements dw::framework::Node.

Definition at line 591 of file SimpleNode.hpp.

◆ setup()

dwStatus dw::framework::SimpleNode::setup ( )

Default implementation of the setup pass.

Check that all ports which are bound to a channel have a buffer available. This method is used by SimpleNodeT::setupImpl.

Referenced by dw::framework::SimpleNodeT< T >::setupImpl().

◆ teardown()

dwStatus dw::framework::SimpleNode::teardown ( )

Default implementation of the teardown pass.

Call ManagedPortInput::release on all input ports. This method is used by SimpleNodeT::teardownImpl.

Referenced by dw::framework::SimpleNodeT< T >::teardownImpl().

◆ updateCurrentErrorSignal()

dwStatus dw::framework::SimpleNode::updateCurrentErrorSignal ( dwGraphErrorSignal signal)
overridevirtual

A function that allows user override to update error signal It is automatically called by dwFramework when getErrorSignal is called and when pass returns non-success return code.

Parameters
[in,out]signalthat the node owner modifies to store current health. It is pre-filled with the latest module health signal
Returns
DW_SUCCESS

Implements dw::framework::Node.

◆ updateCurrentHealthSignal()

dwStatus dw::framework::SimpleNode::updateCurrentHealthSignal ( dwGraphHealthSignal signal)
overridevirtual

A function that allows user override to update health signal It is automatically called by dwFramework during teardown and when pass returns non-success return code.

Parameters
[in,out]signalthat the node owner modifies to store current health. It is pre-filled with the latest module health signal
Returns
DW_SUCCESS

Implements dw::framework::Node.

◆ updateHealthSignal()

dwStatus dw::framework::SimpleNode::updateHealthSignal ( const dwGraphHealthSignal signal)

Adds the provided Health Signal to the Health Signal Array. If the array is full, the new signal will not be added.

Parameters
[in]signalThe Health Signal to add
Returns
DW_SUCCESS, or DW_BUFFER_FULL if the array is currently full.

◆ validate() [1/2]

dwStatus dw::framework::SimpleNode::validate ( )
inlineoverridevirtual

Implements dw::framework::Node.

Reimplemented in dw::framework::SimpleNodeT< T >.

Definition at line 112 of file SimpleNode.hpp.

Referenced by dw::framework::SimpleNodeT< T >::validate().

◆ validate() [2/2]

dwStatus dw::framework::SimpleNode::validate ( const char *  direction,
const PortCollectionDescriptor collection,
dw::core::Function< bool(size_t)>  isPortBound 
)

Helper function used by dw::framework::SimpleNodeT::validate.

A concrete node shouldn't need to override or call this method.

Member Data Documentation

◆ m_asyncResetFlag

std::atomic<bool> dw::framework::SimpleNode::m_asyncResetFlag
protected

Definition at line 601 of file SimpleNode.hpp.

◆ m_inputPorts

dw::core::HeapHashMap<size_t, std::shared_ptr<ManagedPortInputBase> > dw::framework::SimpleNode::m_inputPorts
protected

Definition at line 598 of file SimpleNode.hpp.

Referenced by iterateManagedInputPorts().

◆ m_outputPorts

dw::core::HeapHashMap<size_t, std::shared_ptr<ManagedPortOutputBase> > dw::framework::SimpleNode::m_outputPorts
protected

Definition at line 599 of file SimpleNode.hpp.


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