aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/soft_time_ctrl.hpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-07-02 19:35:33 -0700
committerJosh Blum <josh@joshknows.com>2011-07-02 19:35:33 -0700
commit1ef40895952f94ccd21fca48033b5a14d7e4ff30 (patch)
tree9fc59f12a745cb6a0852c3645a8544100b0fabad /host/lib/usrp/usrp1/soft_time_ctrl.hpp
parent4bcab9c56aad7e08bd392b82cc52ae2f4f5a830c (diff)
downloaduhd-1ef40895952f94ccd21fca48033b5a14d7e4ff30.tar.gz
uhd-1ef40895952f94ccd21fca48033b5a14d7e4ff30.tar.bz2
uhd-1ef40895952f94ccd21fca48033b5a14d7e4ff30.zip
usrp1: tweaks + implemented other features to mimic async and inline messages
Moved the underflow/overflow polling into a thread and out of the fast-path. Added an inline and async message queue into soft time control. Error and status messages are actually generated now and enqueued. Passes the async message test...
Diffstat (limited to 'host/lib/usrp/usrp1/soft_time_ctrl.hpp')
-rw-r--r--host/lib/usrp/usrp1/soft_time_ctrl.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/host/lib/usrp/usrp1/soft_time_ctrl.hpp b/host/lib/usrp/usrp1/soft_time_ctrl.hpp
index 7fdac7fc8..b2bf6c6f9 100644
--- a/host/lib/usrp/usrp1/soft_time_ctrl.hpp
+++ b/host/lib/usrp/usrp1/soft_time_ctrl.hpp
@@ -21,6 +21,7 @@
#include <uhd/types/stream_cmd.hpp>
#include <uhd/types/time_spec.hpp>
#include <uhd/types/metadata.hpp>
+#include <uhd/transport/bounded_buffer.hpp>
#include <boost/utility.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
@@ -45,8 +46,6 @@ public:
* \return a new soft time control object
*/
static sptr make(const cb_fcn_type &stream_on_off);
- //TODO pass in the error queue for async msgs
- //TODO pass in the queue for inline msgs
//! Set the current time
virtual void set_time(const time_spec_t &time) = 0;
@@ -62,6 +61,12 @@ public:
//! Issue a stream command to receive
virtual void issue_stream_cmd(const stream_cmd_t &cmd) = 0;
+
+ //! Get access to a buffer of async metadata
+ virtual transport::bounded_buffer<async_metadata_t> &get_async_queue(void) = 0;
+
+ //! Get access to a buffer of inline metadata
+ virtual transport::bounded_buffer<rx_metadata_t> &get_inline_queue(void) = 0;
};
}} //namespace