diff options
author | Alex Williams <alex.williams@ni.com> | 2019-05-30 15:09:10 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 11:49:26 -0800 |
commit | 53477bfc7ffb2dc09143e1c9e8e431efc8ada957 (patch) | |
tree | 7dc7ab3ffd45ed2c07544fa391979ad6a5916f16 /host/lib/transport | |
parent | 4b23b6102c182e4f5a8612e16752d34465bf190c (diff) | |
download | uhd-53477bfc7ffb2dc09143e1c9e8e431efc8ada957.tar.gz uhd-53477bfc7ffb2dc09143e1c9e8e431efc8ada957.tar.bz2 uhd-53477bfc7ffb2dc09143e1c9e8e431efc8ada957.zip |
rfnoc: Add chdr_ctrl_xport
chdr_ctrl_xport is a dumb-pipe transport for RFNoC control transactions
and management frames.
Also remove the I/O service's check on num_recv_frames and num_send_frames.
The transports may request additional virtual channels, so the send_io_if
and recv_io_if may not reserve additional frames, as they are shared with
a previously-allocated instance.
Note: this uses a mutex to force sequentual access to the
chdr_ctrl_xport. This is supposed to go away when the multi threaded
xport is done.
Diffstat (limited to 'host/lib/transport')
-rw-r--r-- | host/lib/transport/inline_io_service.cpp | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/host/lib/transport/inline_io_service.cpp b/host/lib/transport/inline_io_service.cpp index 72acea738..942c99d5f 100644 --- a/host/lib/transport/inline_io_service.cpp +++ b/host/lib/transport/inline_io_service.cpp @@ -272,10 +272,8 @@ recv_io_if::sptr inline_io_service::make_recv_client(recv_link_if::sptr data_lin recv_io_if::fc_callback_t fc_cb) { UHD_ASSERT_THROW(data_link); - UHD_ASSERT_THROW(num_recv_frames > 0); UHD_ASSERT_THROW(cb); if (fc_link) { - UHD_ASSERT_THROW(num_send_frames > 0); UHD_ASSERT_THROW(fc_cb); connect_sender(fc_link.get(), num_send_frames); } @@ -302,14 +300,12 @@ send_io_if::sptr inline_io_service::make_send_client(send_link_if::sptr send_lin recv_callback_t recv_cb) { UHD_ASSERT_THROW(send_link); - UHD_ASSERT_THROW(num_send_frames > 0); UHD_ASSERT_THROW(send_cb); connect_sender(send_link.get(), num_send_frames); sptr io_srv = shared_from_this(); auto send_io = std::make_shared<inline_send_io>( io_srv, send_link, num_send_frames, send_cb, recv_link, num_recv_frames, recv_cb); if (recv_link) { - UHD_ASSERT_THROW(num_recv_frames > 0); UHD_ASSERT_THROW(recv_cb); connect_receiver(recv_link.get(), send_io.get(), num_recv_frames); } |