From c5e3d3dd4ada039bf65181f10a7e9ff3883ab612 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Mon, 15 Jun 2020 21:21:16 +0200 Subject: [PATCH] node: add connect() with reverse path --- fpga/include/villas/fpga/node.hpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/fpga/include/villas/fpga/node.hpp b/fpga/include/villas/fpga/node.hpp index 70e83f304..34d9ab1b2 100644 --- a/fpga/include/villas/fpga/node.hpp +++ b/fpga/include/villas/fpga/node.hpp @@ -105,10 +105,23 @@ public: getSlavePort(const std::string &name) const { return *portsSlave.at(name); } + bool connect(const StreamVertex &from, const StreamVertex &to); + bool connect(const StreamVertex &from, const StreamVertex &to, bool reverse) + { + bool ret; + + ret = connect(from, to); + + if (reverse) + ret &= connect(to, from); + + return ret; + } + // easy-usage assuming that the slave IP to connect to only has one slave // port and implements the getDefaultSlavePort() function - bool connect(const Node& slaveNode) - { return this->connect(this->getDefaultMasterPort(), slaveNode.getDefaultSlavePort()); } + bool connect(const Node &slaveNode, bool reverse = false) + { return this->connect(this->getDefaultMasterPort(), slaveNode.getDefaultSlavePort(), reverse); } // used by easy-usage connect, will throw if not implemented by derived node virtual const StreamVertex&