GNU Radio Manual and C++ API Reference  3.8.1.0
The Free & Open Software Radio Ecosystem
gr::msg_queue Class Reference

thread-safe message queue More...

#include <gnuradio/msg_queue.h>

Public Types

typedef boost::shared_ptr< msg_queuesptr
 

Public Member Functions

 msg_queue (unsigned int limit)
 
 ~msg_queue ()
 
void handle (message::sptr msg)
 Generic msg_handler method: insert the message. More...
 
void insert_tail (message::sptr msg)
 Insert message at tail of queue. More...
 
message::sptr delete_head ()
 Delete message from head of queue and return it. Block if no message is available. More...
 
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. More...
 
void flush ()
 Delete all messages from the queue. More...
 
bool empty_p () const
 is the queue empty? More...
 
bool full_p () const
 is the queue full? More...
 
unsigned int count () const
 return number of messages in queue More...
 
unsigned int limit () const
 return limit on number of message in queue. 0 -> unbounded More...
 
- Public Member Functions inherited from gr::msg_handler
virtual ~msg_handler ()
 

Static Public Member Functions

static sptr make (unsigned int limit=0)
 

Detailed Description

thread-safe message queue

Member Typedef Documentation

◆ sptr

typedef boost::shared_ptr<msg_queue> gr::msg_queue::sptr

Constructor & Destructor Documentation

◆ msg_queue()

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

◆ ~msg_queue()

gr::msg_queue::~msg_queue ( )

Member Function Documentation

◆ count()

unsigned int gr::msg_queue::count ( ) const
inline

return number of messages in queue

◆ delete_head()

message::sptr gr::msg_queue::delete_head ( )

Delete message from head of queue and return it. Block if no message is available.

◆ delete_head_nowait()

message::sptr gr::msg_queue::delete_head_nowait ( )

If there's a message in the q, delete it and return it. If no message is available, return 0.

◆ empty_p()

bool gr::msg_queue::empty_p ( ) const
inline

is the queue empty?

◆ flush()

void gr::msg_queue::flush ( )

Delete all messages from the queue.

◆ full_p()

bool gr::msg_queue::full_p ( ) const
inline

is the queue full?

◆ handle()

void gr::msg_queue::handle ( message::sptr  msg)
inlinevirtual

Generic msg_handler method: insert the message.

Implements gr::msg_handler.

◆ insert_tail()

void gr::msg_queue::insert_tail ( message::sptr  msg)

Insert message at tail of queue.

Parameters
msgmessage

Block if queue if full.

◆ limit()

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

return limit on number of message in queue. 0 -> unbounded

◆ make()

static sptr gr::msg_queue::make ( unsigned int  limit = 0)
static

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