Go to the documentation of this file.
22 #ifndef INPUT_ENGINE_NODE_H
23 #define INPUT_ENGINE_NODE_H
25 #include <boost/python.hpp>
48 _engineName(engineName)
52 {
return "FromEngine"; }
65 std::lock_guard<std::mutex> lock(_dataMutex);
70 for(
auto dpack: dpacks) {
71 auto name = dpack->name();
73 (!_dataTemp.count(name) || !dpack->isEmpty()))
74 _dataTemp[name] = std::move(dpack);
83 _dataIds.insert(DataPackIdentifier(
id, _engineName,
""));
88 std::lock_guard<std::mutex> lock(_dataMutex);
92 auto d = _dataTemp.find(
id);
93 if(d != _dataTemp.end() && (!_dataStore.count(
id) || !_dataTemp.at(
id)->isEmpty())) {
96 _dataStore[
id] = std::move(d->second);
97 _portMap.at(
id).addMsg(_dataStore[
id].get());
110 std::string _engineName;
112 std::mutex _dataMutex;
114 std::map<std::string, DataPackInterfaceConstSharedPtr> _dataTemp;
116 std::map<std::string, DataPackInterfaceConstSharedPtr> _dataStore;
118 std::set<DataPackIdentifier> _dataIds;
141 std::string _engineName;
145 #endif //INPUT_ENGINE_NODE_H
std::vector< std::shared_ptr< const DataPackInterface > > datapacks_vector_t
Definition: datapack_interface.h:220
const std::string & id() const
Returns the node 'id'.
Definition: computational_node.h:57
port
Definition: python_json_engine.py:197
Interface to datapacks.
Definition: datapack_interface.h:89
Base class implementing a node in the computational graph.
Definition: computational_node.h:31