diff options
author | Josh Blum <josh@joshknows.com> | 2010-07-03 16:50:45 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-07-05 13:49:00 -0700 |
commit | 11f2aa1ea0fd6c28a20c6d85f94e41a06b3a6770 (patch) | |
tree | 35f29c651cf400b03c5aba6939dcc03cc35e2ea7 /host/include | |
parent | 52ea9b8f90c56c12e978387aee670b45d93d74a5 (diff) | |
download | uhd-11f2aa1ea0fd6c28a20c6d85f94e41a06b3a6770.tar.gz uhd-11f2aa1ea0fd6c28a20c6d85f94e41a06b3a6770.tar.bz2 uhd-11f2aa1ea0fd6c28a20c6d85f94e41a06b3a6770.zip |
uhd: replaced old send and recv with inline wrappers that take a single buffer and look more like the vectored send/recv
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/device.hpp | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/host/include/uhd/device.hpp b/host/include/uhd/device.hpp index f04a5b4fb..e5ef1181f 100644 --- a/host/include/uhd/device.hpp +++ b/host/include/uhd/device.hpp @@ -26,7 +26,6 @@ #include <boost/utility.hpp> #include <boost/shared_ptr.hpp> #include <boost/function.hpp> -#include <boost/asio/buffer.hpp> #include <vector> namespace uhd{ @@ -97,20 +96,6 @@ public: RECV_MODE_ONE_PACKET = 1 }; - //! wrapper call for single buffer recv //TODO put somewhere - size_t send( - const boost::asio::const_buffer &buff, - const tx_metadata_t &metadata, - const io_type_t &io_type, - send_mode_t send_mode - ){ - return send( - std::vector<const void *>(1, boost::asio::buffer_cast<const void *>(buff)), - boost::asio::buffer_size(buff)/io_type.size, - metadata, io_type, send_mode - ); - } - /*! * Send buffers containing IF data described by the metadata. * @@ -140,17 +125,20 @@ public: send_mode_t send_mode ) = 0; - //! wrapper call for single buffer recv //TODO put somewhere - size_t recv( - const boost::asio::mutable_buffer &buff, - rx_metadata_t &metadata, + /*! + * Convenience wrapper for send that takes a single buffer. + */ + inline size_t send( + const void *buff, + size_t nsamps_per_buff, + const tx_metadata_t &metadata, const io_type_t &io_type, - recv_mode_t recv_mode + send_mode_t send_mode ){ - return recv( - std::vector<void *>(1, boost::asio::buffer_cast<void *>(buff)), - boost::asio::buffer_size(buff)/io_type.size, - metadata, io_type, recv_mode + return send( + std::vector<const void *>(1, buff), + nsamps_per_buff, metadata, + io_type, send_mode ); } @@ -196,6 +184,23 @@ public: ) = 0; /*! + * Convenience wrapper for recv that takes a single buffer. + */ + inline size_t recv( + void *buff, + size_t nsamps_per_buff, + rx_metadata_t &metadata, + const io_type_t &io_type, + recv_mode_t recv_mode + ){ + return recv( + std::vector<void *>(1, buff), + nsamps_per_buff, metadata, + io_type, recv_mode + ); + } + + /*! * Get the maximum number of samples per packet on send. * \return the number of samples */ |