From 117af6f0b0d50e6ba81bbd8f970d8963f615548a Mon Sep 17 00:00:00 2001 From: Alex Williams Date: Thu, 8 Aug 2019 15:41:30 -0700 Subject: rfnoc: Add ability to select transport for streamers to user APIs Now the user can choose which transport is used in connect() calls. --- host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'host/lib/include/uhdlib/rfnoc/graph_stream_manager.hpp') 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 get_via_devices(sep_addr_t addr) const = 0; + /*! * \brief Create a graph_stream_manager and return a unique_ptr to it * -- cgit v1.2.3