From ed1c64c8196520c40dbfe406d7c54f2907f3b0fb Mon Sep 17 00:00:00 2001 From: Moritz Fischer Date: Tue, 6 Jun 2017 15:43:56 -0700 Subject: transport: Added liberio_zero_copy transport implementation This adds a zero copy transport using the liberio library. Currently supported API version for liberio is 0.3, this might still very much break, since the library is still in development. So far nobody uses it UHD so we might as well merge it. Signed-off-by: Alex Williams Signed-off-by: Moritz Fischer --- host/lib/transport/liberio_zero_copy.hpp | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 host/lib/transport/liberio_zero_copy.hpp (limited to 'host/lib/transport/liberio_zero_copy.hpp') diff --git a/host/lib/transport/liberio_zero_copy.hpp b/host/lib/transport/liberio_zero_copy.hpp new file mode 100644 index 000000000..bf23b1321 --- /dev/null +++ b/host/lib/transport/liberio_zero_copy.hpp @@ -0,0 +1,36 @@ +// +// Copyright 2017 Ettus Research +// +// SPDX-License-Identifier: GPL-3.0+ +// + +#ifndef LIBERIO_HPP +#define LIBERIO_HPP + +#include +#include + +#include +#include +#include +#include + +namespace uhd { namespace transport { + +/*! + * A zero copy transport interface to the liberio DMA library. + */ +class liberio_zero_copy : public virtual zero_copy_if { +public: + typedef boost::shared_ptr sptr; + + static sptr make( + const std::string &tx_path, + const std::string &rx_path, + const zero_copy_xport_params &default_buff_args + ); +}; + +}} + +#endif /* LIBERIO_HPP */ -- cgit v1.2.3