diff options
author | Josh Blum <josh@joshknows.com> | 2010-09-30 14:36:24 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-09-30 14:36:24 -0700 |
commit | 2c8a7c7debf19d92065661cc1d258f97bd38e224 (patch) | |
tree | 93723da79bd0dc800529e80aa6411d1c187970a5 /host/include | |
parent | e4fffed05dda57bb37d693a3a26ea6a903c925f7 (diff) | |
download | uhd-2c8a7c7debf19d92065661cc1d258f97bd38e224.tar.gz uhd-2c8a7c7debf19d92065661cc1d258f97bd38e224.tar.bz2 uhd-2c8a7c7debf19d92065661cc1d258f97bd38e224.zip |
uhd: implemented recv timeout for zero copy interface
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/transport/zero_copy.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/host/include/uhd/transport/zero_copy.hpp b/host/include/uhd/transport/zero_copy.hpp index 513291b63..8ecafd3fb 100644 --- a/host/include/uhd/transport/zero_copy.hpp +++ b/host/include/uhd/transport/zero_copy.hpp @@ -122,9 +122,10 @@ namespace uhd{ namespace transport{ /*! * Get a new receive buffer from this transport object. + * \param timeout_ms the timeout to get the buffer in ms * \return a managed buffer, or null sptr on timeout/error */ - virtual managed_recv_buffer::sptr get_recv_buff(void) = 0; + virtual managed_recv_buffer::sptr get_recv_buff(size_t timeout_ms) = 0; /*! * Get the maximum number of receive frames: @@ -171,16 +172,19 @@ namespace uhd{ namespace transport{ /*! * Get a new receive buffer from this transport object. + * \param timeout_ms the timeout to get the buffer in ms + * \return a managed buffer, or null sptr on timeout/error */ - managed_recv_buffer::sptr get_recv_buff(void); + managed_recv_buffer::sptr get_recv_buff(size_t timeout_ms); private: /*! * Perform a private copying recv. * \param buff the buffer to write data into + * \param timeout_ms the timeout to get the buffer in ms * \return the number of bytes written to buff, 0 for timeout, negative for error */ - virtual ssize_t recv(const boost::asio::mutable_buffer &buff) = 0; + virtual ssize_t recv(const boost::asio::mutable_buffer &buff, size_t timeout_ms) = 0; UHD_PIMPL_DECL(impl) _impl; }; @@ -204,6 +208,7 @@ namespace uhd{ namespace transport{ /*! * Get a new send buffer from this transport object. + * \return a managed buffer, or null sptr on timeout/error */ managed_send_buffer::sptr get_send_buff(void); |