GNU Radio 3.7.1 C++ API
gr::msg_queue Class Reference

thread-safe message queue More...

#include <msg_queue.h>

Inheritance diagram for gr::msg_queue:

List of all members.

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)

Detailed Description

thread-safe message queue


Member Typedef Documentation


Constructor & Destructor Documentation

gr::msg_queue::msg_queue ( unsigned int  limit)

Member Function Documentation

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.

Parameters:
msgmessage

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]

The documentation for this class was generated from the following file: