aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/transport/link_if.hpp
diff options
context:
space:
mode:
authorCiro Nishiguchi <ciro.nishiguchi@ni.com>2019-10-23 21:58:49 -0500
committerMartin Braun <martin.braun@ettus.com>2019-11-26 12:21:32 -0800
commitb4ef7ca804be35830a2c8ac5a143afafd33362f6 (patch)
tree33d20bb8ba238aa7e6f18d7d0b59d67c3c797c2e /host/lib/include/uhdlib/transport/link_if.hpp
parent03dcda01e0af9dbebee17eec31adcea502fefdb8 (diff)
downloaduhd-b4ef7ca804be35830a2c8ac5a143afafd33362f6.tar.gz
uhd-b4ef7ca804be35830a2c8ac5a143afafd33362f6.tar.bz2
uhd-b4ef7ca804be35830a2c8ac5a143afafd33362f6.zip
rfnoc: Restrict to inline I/O service based on link restrictions
For links that do not support releasing buffers out of order, restrict the I/O service manager to always select the inline I/O service.
Diffstat (limited to 'host/lib/include/uhdlib/transport/link_if.hpp')
-rw-r--r--host/lib/include/uhdlib/transport/link_if.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/transport/link_if.hpp b/host/lib/include/uhdlib/transport/link_if.hpp
index 6f533603e..55755948c 100644
--- a/host/lib/include/uhdlib/transport/link_if.hpp
+++ b/host/lib/include/uhdlib/transport/link_if.hpp
@@ -57,6 +57,15 @@ public:
*/
virtual adapter_id_t get_send_adapter_id() const = 0;
+ /*!
+ * Returns whether this link type supports releasing the frame buffers
+ * in an order different from that in which they were acquired.
+ */
+ virtual bool supports_send_buff_out_of_order() const
+ {
+ return true;
+ }
+
send_link_if() = default;
send_link_if(const send_link_if&) = delete;
send_link_if& operator=(const send_link_if&) = delete;
@@ -102,6 +111,15 @@ public:
*/
virtual adapter_id_t get_recv_adapter_id() const = 0;
+ /*!
+ * Returns whether this link type supports releasing the frame buffers
+ * in an order different from that in which they were acquired.
+ */
+ virtual bool supports_recv_buff_out_of_order() const
+ {
+ return true;
+ }
+
recv_link_if() = default;
recv_link_if(const recv_link_if&) = delete;
recv_link_if& operator=(const recv_link_if&) = delete;