|
| InputNode (const std::string &id, InputNodePolicies::MsgPublishPolicy msgPublishPolicy=InputNodePolicies::MsgPublishPolicy::LAST, InputNodePolicies::MsgCachePolicy msgCachePolicy=InputNodePolicies::MsgCachePolicy::KEEP_CACHE, size_t queue_size=10) |
| Constructor. More...
|
|
void | registerOutput (const std::string &id) |
| Registers an Output port with id 'id' with this node. More...
|
|
OutputPort< DATA > * | getSinglePort (const std::string &id) |
| Returns a pointer to single output port if the port is registered, nullptr otherwise. More...
|
|
OutputPort< std::vector< const DATA * > > * | getListPort (const std::string &id) |
| Returns a pointer to list output port if the port is registered, nullptr otherwise. More...
|
|
InputNodePolicies::MsgPublishPolicy | msgPublishPolicy () |
|
InputNodePolicies::MsgCachePolicy | msgCachePolicy () |
|
void | setMsgPublishPolicy (InputNodePolicies::MsgPublishPolicy msgPublishPolicy) |
|
void | setMsgCachePolicy (InputNodePolicies::MsgCachePolicy msgCachePolicy) |
|
| 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...
|
|
virtual std::string | typeStr () const |
| Returns the node 'type' as a string. 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...
|
|
template<class DATA>
class InputNode< DATA >
Implementation of an input node in the computation graph.
Input nodes are the connection points to feed data into the computation graph from outside. It owns output ports which are used to forward incoming data to other nodes. One node can handle multiple ports. The class is templated with the data type the node can handle. Each node implementation can handle only one data type.
Derived classes of InputNode remains responsible for the ownership of the data passed to InputNode through the updatePortData() virtual method.
template<class DATA >
virtual bool InputNode< DATA >::updatePortData |
( |
const std::string & |
id | ) |
|
|
protectedpure virtual |
Updates pointers stored in _portMap for port 'id'.
Expected behavior: Implementations of this function must guarantee that data pointers stored in _portMap[id] are valid and will not change between calls to this function. Even after the function is called again, pointers in _portMap[id] should still be valid and remain unchanged if the function returns false, i.e., if port 'id' data wasn't changed.
- Parameters
-
id | key in _portMap which data is asked to be updated |
- Returns
- true if port 'id' has new data, false otherwise
Implemented in InputMQTTNode< MSG_TYPE >, InputMQTTNode< DataPack< MSG_TYPE > >, InputSpinnakerNode, InputROSNode< MSG_TYPE >, InputEngineNode, InputTimeBaseNode, and InputDummy.