aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp
diff options
context:
space:
mode:
authorAlex Williams <alex.williams@ni.com>2019-08-08 15:41:30 -0700
committerMartin Braun <martin.braun@ettus.com>2019-11-26 11:49:36 -0800
commit117af6f0b0d50e6ba81bbd8f970d8963f615548a (patch)
tree61e5b5f037afc406e7208267cf8773bb6e057d94 /host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp
parentbffef674fbbcd892967017e81515bb76e0b850b5 (diff)
downloaduhd-117af6f0b0d50e6ba81bbd8f970d8963f615548a.tar.gz
uhd-117af6f0b0d50e6ba81bbd8f970d8963f615548a.tar.bz2
uhd-117af6f0b0d50e6ba81bbd8f970d8963f615548a.zip
rfnoc: Add ability to select transport for streamers to user APIs
Now the user can choose which transport is used in connect() calls.
Diffstat (limited to 'host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp')
-rw-r--r--host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp b/host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp
index 28fa8ec7c..2227a7ad3 100644
--- a/host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp
+++ b/host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp
@@ -111,6 +111,7 @@ public:
* \param dst_addr The address of the destination stream endpoint
* \param pyld_buff_fmt Datatype of SW buffer that holds the data payload
* \param mdata_buff_fmt Datatype of SW buffer that holds the data metadata
+ * \param via_device The preference for the device to take to get to the destination
* \param xport_args The transport arguments
* \return An transport instance
*/
@@ -118,6 +119,7 @@ public:
sep_addr_t dst_addr,
const sw_buff_t pyld_buff_fmt,
const sw_buff_t mdata_buff_fmt,
+ const device_id_t via_device,
const device_addr_t& xport_args) = 0;
/*! \brief Create a data stream going from the host to the device
@@ -125,6 +127,7 @@ public:
* \param dst_addr The address of the destination stream endpoint
* \param pyld_buff_fmt Datatype of SW buffer that holds the data payload
* \param mdata_buff_fmt Datatype of SW buffer that holds the data metadata
+ * \param via_device The preference for the device to take to get to the destination
* \param xport_args The transport arguments
* \return An transport instance
*/
@@ -132,8 +135,16 @@ public:
sep_addr_t dst_addr,
const sw_buff_t pyld_buff_fmt,
const sw_buff_t mdata_buff_fmt,
+ const device_id_t via_device,
const device_addr_t& xport_args) = 0;
+ /*! \brief Get all the via_devices that can reach the specified endpoint
+ *
+ * \param addr The address of the stream endpoint
+ * \return A vector of all the via_devices
+ */
+ virtual std::vector<device_id_t> get_via_devices(sep_addr_t addr) const = 0;
+
/*!
* \brief Create a graph_stream_manager and return a unique_ptr to it
*