NRP Core  1.4.1
InputSpinnakerNode Class Reference

InputSpinnakerNode. More...

#include <input_node.h>

Inheritance diagram for InputSpinnakerNode:
InputNode< nlohmann::json > SpiNNakerJsonReceiveCallbackInterface ComputationalNode

Public Member Functions

 InputSpinnakerNode (const std::string &id, const std::string &label)
 Constructor. More...
 
std::string typeStr () const override
 Returns the node 'type' as a string. More...
 
 ~InputSpinnakerNode ()
 
- Public Member Functions inherited from InputNode< nlohmann::json >
 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< nlohmann::json > * getSinglePort (const std::string &id)
 Returns a pointer to single output port if the port is registered, nullptr otherwise. More...
 
OutputPort< std::vector< const nlohmann::json * > > * 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)
 
- 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...
 
- Public Member Functions inherited from SpiNNakerJsonReceiveCallbackInterface
virtual ~SpiNNakerJsonReceiveCallbackInterface ()
 

Protected Member Functions

void configure () override
 Configures the node making it ready to execute 'compute'. More...
 
void new_msg_callback (nlohmann::json msg)
 Called when raw UDP data is received. More...
 
bool updatePortData (const std::string &id) override
 Updates pointers stored in _portMap for port 'id'. More...
 
- Protected Member Functions inherited from InputNode< nlohmann::json >
void compute () override final
 Compute. Updates and sends stored msgs. More...
 
- Protected Member Functions inherited from ComputationalNode
virtual void graphCycleStartCB ()
 Function called by the Computational Graph at the beginning of a new execution cycle. More...
 
virtual void graphLoadedCB ()
 Function called by the Computational Graph to nodes that the graph has been completely loaded. More...
 

Additional Inherited Members

- Public Types inherited from ComputationalNode
enum  NodeType { Input, Output, Functional }
 All the possible node types. More...
 
- 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 InputNode< nlohmann::json >
InputNodePolicies::MsgPublishPolicy _msgPublishPolicy
 Send policy used by this node. More...
 
InputNodePolicies::MsgCachePolicy _msgCachePolicy
 Msg cache policy used by this node. More...
 
std::map< std::string, DataPortHandle< nlohmann::json > > _portMap
 Map containing data to handle topics. Data is guaranteed to be unchanged between 'compute' calls
More...
 
size_t _queueSize
 Maximum number of msgs that the node can store per port. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ InputSpinnakerNode()

InputSpinnakerNode::InputSpinnakerNode ( const std::string &  id,
const std::string &  label 
)
inline

Constructor.

◆ ~InputSpinnakerNode()

InputSpinnakerNode::~InputSpinnakerNode ( )
inline

Member Function Documentation

◆ configure()

void InputSpinnakerNode::configure ( )
inlineoverrideprotectedvirtual

Configures the node making it ready to execute 'compute'.

Implements ComputationalNode.

◆ new_msg_callback()

void InputSpinnakerNode::new_msg_callback ( nlohmann::json  msg)
inlineprotectedvirtual

Called when raw UDP data is received.

Implements SpiNNakerJsonReceiveCallbackInterface.

◆ typeStr()

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

Returns the node 'type' as a string.

Reimplemented from ComputationalNode.

◆ updatePortData()

bool InputSpinnakerNode::updatePortData ( const std::string &  id)
inlineoverrideprotectedvirtual

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
idkey in _portMap which data is asked to be updated
Returns
true if port 'id' has new data, false otherwise

Implements InputNode< nlohmann::json >.


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