summaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-07-20 10:58:22 -0700
committerJosh Blum <josh@joshknows.com>2010-07-20 10:58:22 -0700
commit5a4545d3f9689dcddd88f9316ad7bd9c489a3925 (patch)
tree58bbb5606f7d392a941fb001c9cc9541c9bf05d0 /host/include
parentc75bde36c670d66ba049df23747caa8d1f967c39 (diff)
downloaduhd-5a4545d3f9689dcddd88f9316ad7bd9c489a3925.tar.gz
uhd-5a4545d3f9689dcddd88f9316ad7bd9c489a3925.tar.bz2
uhd-5a4545d3f9689dcddd88f9316ad7bd9c489a3925.zip
uhd: bring timeout parameter to the device::recv call, implement in usrp2
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/device.hpp10
-rw-r--r--host/include/uhd/device.ipp5
2 files changed, 11 insertions, 4 deletions
diff --git a/host/include/uhd/device.hpp b/host/include/uhd/device.hpp
index a19d22880..ee297ec8a 100644
--- a/host/include/uhd/device.hpp
+++ b/host/include/uhd/device.hpp
@@ -42,6 +42,9 @@ public:
typedef boost::function<device_addrs_t(const device_addr_t &)> find_t;
typedef boost::function<sptr(const device_addr_t &)> make_t;
+ //! A reasonable default timeout for receive
+ static const size_t default_recv_timeout_ms = 100;
+
/*!
* Register a device into the discovery and factory system.
*
@@ -174,6 +177,7 @@ public:
* \param metadata data to fill describing the buffer
* \param io_type the type of data to fill into the buffer
* \param recv_mode tells recv how to load the buffer
+ * \param timeout_ms the timeout in milliseconds to wait for a packet
* \return the number of samples received or 0 on error
*/
virtual size_t recv(
@@ -181,7 +185,8 @@ public:
size_t nsamps_per_buff,
rx_metadata_t &metadata,
const io_type_t &io_type,
- recv_mode_t recv_mode
+ recv_mode_t recv_mode,
+ size_t timeout_ms = default_recv_timeout_ms
) = 0;
/*!
@@ -192,7 +197,8 @@ public:
size_t nsamps_per_buff,
rx_metadata_t &metadata,
const io_type_t &io_type,
- recv_mode_t recv_mode
+ recv_mode_t recv_mode,
+ size_t timeout_ms = default_recv_timeout_ms
);
//! Deprecated
diff --git a/host/include/uhd/device.ipp b/host/include/uhd/device.ipp
index c38a2e43e..603c52859 100644
--- a/host/include/uhd/device.ipp
+++ b/host/include/uhd/device.ipp
@@ -52,12 +52,13 @@ namespace uhd{
size_t nsamps_per_buff,
rx_metadata_t &metadata,
const io_type_t &io_type,
- recv_mode_t recv_mode
+ recv_mode_t recv_mode,
+ size_t timeout_ms
){
return this->recv(
std::vector<void *>(1, buff),
nsamps_per_buff, metadata,
- io_type, recv_mode
+ io_type, recv_mode, timeout_ms
);
}