aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc/chdr_ctrl_xport.cpp
diff options
context:
space:
mode:
authorCiro Nishiguchi <ciro.nishiguchi@ni.com>2019-10-28 14:28:33 -0500
committerMartin Braun <martin.braun@ettus.com>2019-11-26 12:21:33 -0800
commita8e286b106f19c37d6cf20de886c65f3c04da162 (patch)
tree5c1baf4310abc0e4e082c960dffabd18a9fb6a3e /host/lib/rfnoc/chdr_ctrl_xport.cpp
parent10b9d2688b5bcb150eec786a9ef7473f1c1c28ac (diff)
downloaduhd-a8e286b106f19c37d6cf20de886c65f3c04da162.tar.gz
uhd-a8e286b106f19c37d6cf20de886c65f3c04da162.tar.bz2
uhd-a8e286b106f19c37d6cf20de886c65f3c04da162.zip
rfnoc: Make polling I/O service not block on flow control
Add a new method to io_service::send_io to check whether the destination is ready for data, to make it possible to poll send_io rather than block waiting for flow control credits.
Diffstat (limited to 'host/lib/rfnoc/chdr_ctrl_xport.cpp')
-rw-r--r--host/lib/rfnoc/chdr_ctrl_xport.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/host/lib/rfnoc/chdr_ctrl_xport.cpp b/host/lib/rfnoc/chdr_ctrl_xport.cpp
index 6b185efab..637d2c302 100644
--- a/host/lib/rfnoc/chdr_ctrl_xport.cpp
+++ b/host/lib/rfnoc/chdr_ctrl_xport.cpp
@@ -23,12 +23,12 @@ chdr_ctrl_xport::chdr_ctrl_xport(io_service::sptr io_srv,
: _my_epid(my_epid), _recv_packet(pkt_factory.make_generic())
{
/* Make dumb send pipe */
- send_io_if::send_callback_t send_cb = [this](frame_buff::uptr& buff,
+ send_io_if::send_callback_t send_cb = [this](frame_buff::uptr buff,
send_link_if* link) {
link->release_send_buff(std::move(buff));
};
_send_if = io_srv->make_send_client(
- send_link, num_send_frames, send_cb, recv_link_if::sptr(), 0, nullptr);
+ send_link, num_send_frames, send_cb, recv_link_if::sptr(), 0, nullptr, nullptr);
/* Make dumb recv pipe that matches management and control packets */
uhd::transport::recv_callback_t ctrl_recv_cb = [this](frame_buff::uptr& buff,