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

How we keep track of the readers of a gr::buffer. More...

#include <buffer.h>

List of all members.

Public Member Functions

 ~buffer_reader ()
int items_available () const
 Return number of items available for reading.
buffer_sptr buffer () const
 Return buffer this reader reads from.
int max_possible_items_available () const
 Return maximum number of items that could ever be available for reading. This is used as a sanity check in the scheduler to avoid looping forever.
const voidread_pointer ()
 return pointer to read buffer.
void update_read_pointer (int nitems)
void set_done (bool done)
bool done () const
gr::thread::mutexmutex ()
uint64_t nitems_read ()
size_t get_sizeof_item ()
block_sptr link ()
 Return the block that reads via this reader.
void get_tags_in_range (std::vector< tag_t > &v, uint64_t abs_start, uint64_t abs_end, long id)
 Given a [start,end), returns a vector all tags in the range.

Friends

class buffer
GR_RUNTIME_API buffer_reader_sptr buffer_add_reader (buffer_sptr buf, int nzero_preload, block_sptr link)
 Create a new gr::buffer_reader and attach it to buffer buf.

Detailed Description

How we keep track of the readers of a gr::buffer.


Constructor & Destructor Documentation


Member Function Documentation

Return buffer this reader reads from.

bool gr::buffer_reader::done ( ) const [inline]
void gr::buffer_reader::get_tags_in_range ( std::vector< tag_t > &  v,
uint64_t  abs_start,
uint64_t  abs_end,
long  id 
)

Given a [start,end), returns a vector all tags in the range.

Get a vector of tags in given range. Range of counts is from start to end-1.

Tags are tuples of: (item count, source id, key, value)

Parameters:
va vector reference to return tags into
abs_starta uint64 count of the start of the range of interest
abs_enda uint64 count of the end of the range of interest
idthe unique ID of the block to make sure already deleted tags are not returned

Return number of items available for reading.

Return the block that reads via this reader.

Return maximum number of items that could ever be available for reading. This is used as a sanity check in the scheduler to avoid looping forever.

return pointer to read buffer.

The return value points to items_available() number of items


Friends And Related Function Documentation

friend class buffer [friend]
GR_RUNTIME_API buffer_reader_sptr buffer_add_reader ( buffer_sptr  buf,
int  nzero_preload,
block_sptr  link 
) [friend]

Create a new gr::buffer_reader and attach it to buffer buf.

Parameters:
bufis the buffer the gr::buffer_reader reads from.
nzero_preload-- number of zero items to "preload" into buffer.
linkis the block that reads from the buffer using this gr::buffer_reader.

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