diff options
author | Marcus Müller <mmueller@gnuradio.org> | 2019-08-07 21:45:12 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2019-08-09 23:04:28 +0200 |
commit | f7bbf2c1d8d780294f3e016aff239ca35eb6516e (patch) | |
tree | e09ab6112e02b2215b2d59ac24d3d6ea2edac745 /gnuradio-runtime/include/gnuradio/messages/msg_queue.h | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gnuradio-runtime/include/gnuradio/messages/msg_queue.h')
-rw-r--r-- | gnuradio-runtime/include/gnuradio/messages/msg_queue.h | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/gnuradio-runtime/include/gnuradio/messages/msg_queue.h b/gnuradio-runtime/include/gnuradio/messages/msg_queue.h index dfe1ca97be..237b4eca34 100644 --- a/gnuradio-runtime/include/gnuradio/messages/msg_queue.h +++ b/gnuradio-runtime/include/gnuradio/messages/msg_queue.h @@ -29,67 +29,67 @@ #include <deque> namespace gr { - namespace messages { +namespace messages { - class msg_queue; - typedef boost::shared_ptr<msg_queue> msg_queue_sptr; +class msg_queue; +typedef boost::shared_ptr<msg_queue> msg_queue_sptr; - msg_queue_sptr make_msg_queue(unsigned int limit=0); +msg_queue_sptr make_msg_queue(unsigned int limit = 0); + +/*! + * \brief thread-safe message queue + */ +class GR_RUNTIME_API msg_queue +{ +private: + gr::thread::mutex d_mutex; + gr::thread::condition_variable d_not_empty; + gr::thread::condition_variable d_not_full; + unsigned int d_limit; // max # of messages in queue. 0 -> unbounded + + std::deque<pmt::pmt_t> d_msgs; + +public: + msg_queue(unsigned int limit); + ~msg_queue(); + + /*! + * \brief Insert message at tail of queue. + * \param msg message + * + * Block if queue if full. + */ + void insert_tail(pmt::pmt_t msg); + + /*! + * \brief Delete message from head of queue and return it. + * Block if no message is available. + */ + pmt::pmt_t delete_head(); /*! - * \brief thread-safe message queue + * \brief If there's a message in the q, delete it and return it. + * If no message is available, return pmt::pmt_t(). */ - class GR_RUNTIME_API msg_queue - { - private: - gr::thread::mutex d_mutex; - gr::thread::condition_variable d_not_empty; - gr::thread::condition_variable d_not_full; - unsigned int d_limit; // max # of messages in queue. 0 -> unbounded - - std::deque<pmt::pmt_t> d_msgs; - - public: - msg_queue(unsigned int limit); - ~msg_queue(); - - /*! - * \brief Insert message at tail of queue. - * \param msg message - * - * Block if queue if full. - */ - void insert_tail(pmt::pmt_t msg); - - /*! - * \brief Delete message from head of queue and return it. - * Block if no message is available. - */ - pmt::pmt_t delete_head(); - - /*! - * \brief If there's a message in the q, delete it and return it. - * If no message is available, return pmt::pmt_t(). - */ - pmt::pmt_t delete_head_nowait(); - - //! Delete all messages from the queue - void flush(); - - //! is the queue empty? - bool empty_p() const { return d_msgs.empty(); } - - //! is the queue full? - bool full_p() const { return d_limit != 0 && count() >= d_limit; } - - //! return number of messages in queue - unsigned int count() const { return d_msgs.size(); } - - //! return limit on number of message in queue. 0 -> unbounded - unsigned int limit() const { return d_limit; } - }; - - } /* namespace messages */ + pmt::pmt_t delete_head_nowait(); + + //! Delete all messages from the queue + void flush(); + + //! is the queue empty? + bool empty_p() const { return d_msgs.empty(); } + + //! is the queue full? + bool full_p() const { return d_limit != 0 && count() >= d_limit; } + + //! return number of messages in queue + unsigned int count() const { return d_msgs.size(); } + + //! return limit on number of message in queue. 0 -> unbounded + unsigned int limit() const { return d_limit; } +}; + +} /* namespace messages */ } /* namespace gr */ #endif /* INCLUDED_MSG_QUEUE_H */ |