diff options
author | Moritz Fischer <moritz.fischer@ettus.com> | 2017-06-06 15:43:56 -0700 |
---|---|---|
committer | Moritz Fischer <moritz.fischer@ettus.com> | 2017-08-07 16:09:43 -0700 |
commit | ed1c64c8196520c40dbfe406d7c54f2907f3b0fb (patch) | |
tree | d32222af9bae166a782066893563e6bd7a3740b6 /host/lib/transport/liberio_zero_copy.hpp | |
parent | 61b52e5113dbe25ba0d83a135c34532de543542e (diff) | |
download | uhd-ed1c64c8196520c40dbfe406d7c54f2907f3b0fb.tar.gz uhd-ed1c64c8196520c40dbfe406d7c54f2907f3b0fb.tar.bz2 uhd-ed1c64c8196520c40dbfe406d7c54f2907f3b0fb.zip |
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 <alex.williams@ni.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Diffstat (limited to 'host/lib/transport/liberio_zero_copy.hpp')
-rw-r--r-- | host/lib/transport/liberio_zero_copy.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
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 <string> +#include <vector> + +#include <uhd/config.hpp> +#include <uhd/transport/zero_copy.hpp> +#include <uhd/types/device_addr.hpp> +#include <boost/shared_ptr.hpp> + +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<liberio_zero_copy> 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 */ |