aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-07-03 16:50:45 -0700
committerJosh Blum <josh@joshknows.com>2010-07-05 13:49:00 -0700
commit11f2aa1ea0fd6c28a20c6d85f94e41a06b3a6770 (patch)
tree35f29c651cf400b03c5aba6939dcc03cc35e2ea7 /host/include
parent52ea9b8f90c56c12e978387aee670b45d93d74a5 (diff)
downloaduhd-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.hpp53
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
*/