GNU Radio 3.7.1 C++ API
|
thread-safe message queue More...
#include <msg_queue.h>
Public Types | |
typedef boost::shared_ptr < msg_queue > | sptr |
Public Member Functions | |
msg_queue (unsigned int limit) | |
~msg_queue () | |
void | handle (message::sptr msg) |
Generic msg_handler method: insert the message. | |
void | insert_tail (message::sptr msg) |
Insert message at tail of queue. | |
message::sptr | delete_head () |
Delete message from head of queue and return it. Block if no message is available. | |
message::sptr | delete_head_nowait () |
If there's a message in the q, delete it and return it. If no message is available, return 0. | |
void | flush () |
Delete all messages from the queue. | |
bool | empty_p () const |
is the queue empty? | |
bool | full_p () const |
is the queue full? | |
unsigned int | count () const |
return number of messages in queue | |
unsigned int | limit () const |
return limit on number of message in queue. 0 -> unbounded | |
Static Public Member Functions | |
static sptr | make (unsigned int limit=0) |
thread-safe message queue
gr::msg_queue::msg_queue | ( | unsigned int | limit | ) |
unsigned int gr::msg_queue::count | ( | ) | const [inline] |
return number of messages in queue
Delete message from head of queue and return it. Block if no message is available.
If there's a message in the q, delete it and return it. If no message is available, return 0.
bool gr::msg_queue::empty_p | ( | ) | const [inline] |
is the queue empty?
Delete all messages from the queue.
bool gr::msg_queue::full_p | ( | ) | const [inline] |
is the queue full?
void gr::msg_queue::handle | ( | message::sptr | msg | ) | [inline, virtual] |
Generic msg_handler method: insert the message.
Implements gr::msg_handler.
Insert message at tail of queue.
msg | message |
Block if queue if full.
unsigned int gr::msg_queue::limit | ( | ) | const [inline] |
return limit on number of message in queue. 0 -> unbounded
static sptr gr::msg_queue::make | ( | unsigned int | limit = 0 | ) | [static] |