NRP Core  1.4.1
OutputEngineNode Class Reference

Output node used to connect the computational graph with an EngineClient. More...

#include <output_node.h>

Inheritance diagram for OutputEngineNode:
OutputNode< DataPackInterface * > ComputationalNode

Public Types

using DataPackInterfacePtr = DataPackInterface *
 
- Public Types inherited from ComputationalNode
enum  NodeType { Input, Output, Functional }
 All the possible node types. More...
 

Public Member Functions

 OutputEngineNode (const std::string &id, const std::string &engineName, bool publishFromCache=false, unsigned int computePeriod=1)
 
std::string typeStr () const override
 Returns the node 'type' as a string. More...
 
datapacks_set_t getDataPacks ()
 
- Public Member Functions inherited from OutputNode< DataPackInterface * >
 OutputNode (const std::string &id, OutputNodePolicies::PublishFormatPolicy publishFormatPolicy=OutputNodePolicies::PublishFormatPolicy::SERIES, bool publishFromCache=false, int maxPortConnections=0, unsigned int computePeriod=1)
 Constructor. More...
 
InputPort< T_IN, DataPackInterface * > * getOrRegisterInput (const std::string &id)
 Gets or register input port to this node and returns a pointer to it. More...
 
unsigned int getComputePeriod ()
 
void setComputePeriod (unsigned int computePeriod)
 
bool publishFromCache ()
 
virtual bool doCompute () const override final
 Tells if this node should be executed in this graph execution cycle, used in some graph execution modes. More...
 
- Public Member Functions inherited from ComputationalNode
 ComputationalNode ()=delete
 
virtual ~ComputationalNode ()=default
 
 ComputationalNode (std::string id, NodeType type)
 Constructor. More...
 
const std::string & id () const
 Returns the node 'id'. More...
 
NodeType type () const
 Returns the node 'type'. More...
 
void setVisited (bool visited)
 Sets a value for the node 'visited' property, used for graph traversing. More...
 
bool isVisited () const
 Returns true if the node has been marked as visited, false otherwise. More...
 
void setDoCompute (bool doCompute)
 Sets a value for the node 'doCompute' property, used in some graph execution modes. More...
 
virtual bool doCompute () const
 Tells if this node should be executed in this graph execution cycle, used in some graph execution modes. More...
 

Protected Member Functions

void sendSingleMsg (const std::string &, const DataPackInterfacePtr *data) override
 
void sendBatchMsg (const std::string &, const std::vector< const DataPackInterfacePtr * > &) override
 
- Protected Member Functions inherited from OutputNode< DataPackInterface * >
void configure () override
 Configures the node making it ready to execute 'compute'. More...
 
virtual void compute () override final
 Requests the node to execute its computation. More...
 
void graphCycleStartCB () override final
 Function called by the Computational Graph at the beginning of a new execution cycle. More...
 
void storeMsg (const std::string &id, const DataPackInterface * *data)
 Stores a new msg in _storedMsgs['id']. More...
 
void sendMsgs (const std::string &id)
 Sends all msgs stored in _storedMsgs['id'] and clears the storage. More...
 
virtual void sendSingleMsg (const std::string &id, const DataPackInterface * *data)=0
 Sends out a single msg, to be implemented by derived classes. More...
 
virtual void sendBatchMsg (const std::string &id, const std::vector< const DataPackInterface * * > &data)=0
 Sends out a vector of msg as a single batch, to be implemented by derived classes. More...
 
- Protected Member Functions inherited from ComputationalNode
virtual void graphLoadedCB ()
 Function called by the Computational Graph to nodes that the graph has been completely loaded. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ComputationalNode
static std::pair< std::string, std::string > parseNodeAddress (const std::string &address, bool hasPort=true)
 Parses a computational node address returning the node id and the port (if any) contained in the address. More...
 
- Static Public Attributes inherited from ComputationalNode
const static std::map< NodeType, std::string > nodeTypeStr
 
- Protected Attributes inherited from OutputNode< DataPackInterface * >
std::map< std::string, std::shared_ptr< Port > > _inputPorts
 List of ports owned by this node. More...
 
std::map< std::string, std::vector< const DataPackInterface * * > > _storedMsgs
 List of msgs stored in this node. More...
 
OutputNodePolicies::PublishFormatPolicy _publishFormatPolicy
 Send policy used by this node. More...
 
bool _publishFromCache
 Publish frequency policy used by this node. More...
 
int _maxPortConnections
 Maximum number of subscriptions of ports in this node. More...
 
bool _isConfigured
 true if the node has been configured, false otherwise More...
 
unsigned int _computePeriod
 Property specifying the number of loops that passes between executions of this node. More...
 
unsigned int _nLoop
 Variable counting the number of times this nodes has been asked to execute (1 per loop) More...
 

Detailed Description

Output node used to connect the computational graph with an EngineClient.

Member Typedef Documentation

◆ DataPackInterfacePtr

Constructor & Destructor Documentation

◆ OutputEngineNode()

OutputEngineNode::OutputEngineNode ( const std::string &  id,
const std::string &  engineName,
bool  publishFromCache = false,
unsigned int  computePeriod = 1 
)
inline

Constructor

Member Function Documentation

◆ getDataPacks()

datapacks_set_t OutputEngineNode::getDataPacks ( )
inline

Returns all datapacks stored in the node and clears the cache

◆ sendBatchMsg()

void OutputEngineNode::sendBatchMsg ( const std::string &  ,
const std::vector< const DataPackInterfacePtr * > &   
)
inlineoverrideprotected

◆ sendSingleMsg()

void OutputEngineNode::sendSingleMsg ( const std::string &  ,
const DataPackInterfacePtr data 
)
inlineoverrideprotected

◆ typeStr()

std::string OutputEngineNode::typeStr ( ) const
inlineoverridevirtual

Returns the node 'type' as a string.

Reimplemented from ComputationalNode.


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