gr::buffer_reader
gr::buffer_reader_sm
gnuradio/buffer_reader.h
class friend class buffer buffer gr::buffer_reader::buffer buffer buffer buffer buffer_reader
class friend class buffer_double_mapped buffer_double_mapped gr::buffer_reader::buffer_double_mapped buffer_double_mapped buffer_double_mapped buffer_double_mapped
class friend class buffer_single_mapped buffer_single_mapped gr::buffer_reader::buffer_single_mapped buffer_single_mapped buffer_single_mapped buffer_single_mapped
class friend class buffer_reader_sm buffer_reader_sm gr::buffer_reader::buffer_reader_sm buffer_reader_sm buffer_reader_sm buffer_reader_sm
GR_RUNTIME_API buffer_reader_sptr GR_RUNTIME_API buffer_reader_sptr buffer_add_reader (buffer_sptr buf, int nzero_preload, block_sptr link=block_sptr(), int delay=0) buffer_add_reader gr::buffer_reader::buffer_add_reader buffer_sptr buf int nzero_preload block_sptr link block_sptr() int delay 0

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

buf

is the buffer the `gr::buffer_reader` reads from.

nzero_preload

number of zero items to "preload" into buffer.

link

is the block that reads from the buffer using this gr::buffer_reader.

delay

Optional setting to declare the buffer's sample delay.

GR_RUNTIME_API
link
buffer_sptr buffer_sptr gr::buffer_reader::d_buffer d_buffer gr::buffer_reader::d_buffer buffer done get_sizeof_item max_possible_items_available mutex set_done
unsigned int unsigned int gr::buffer_reader::d_read_index d_read_index gr::buffer_reader::d_read_index get_read_index reset_nitem_counter
uint64_t uint64_t gr::buffer_reader::d_abs_read_offset d_abs_read_offset gr::buffer_reader::d_abs_read_offset get_abs_read_offset nitems_read reset_nitem_counter
std::weak_ptr< block > std::weak_ptr<block> gr::buffer_reader::d_link d_link gr::buffer_reader::d_link link
unsigned unsigned gr::buffer_reader::d_attr_delay d_attr_delay gr::buffer_reader::d_attr_delay
virtual gr::buffer_reader::~buffer_reader
()
~buffer_reader
gr::buffer_reader::~buffer_reader
void void gr::buffer_reader::declare_sample_delay (unsigned delay) declare_sample_delay gr::buffer_reader::declare_sample_delay unsigned delay

Declares the sample delay for this reader.

See gr::block::declare_sample_delay for details.

delay

The new sample delay

unsigned unsigned gr::buffer_reader::sample_delay () const sample_delay gr::buffer_reader::sample_delay

Gets the sample delay for this reader.

See gr::block::sample_delay for details.

int virtual int gr::buffer_reader::items_available () const items_available gr::buffer_reader::items_available items_available

Return number of items available for reading.

buffer_sptr buffer_sptr gr::buffer_reader::buffer () const buffer gr::buffer_reader::buffer

Return buffer this reader reads from.

d_buffer
int int gr::buffer_reader::max_possible_items_available () const max_possible_items_available gr::buffer_reader::max_possible_items_available

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.

d_buffer
const void * const void * gr::buffer_reader::read_pointer () read_pointer gr::buffer_reader::read_pointer

return pointer to read buffer.

The return value points to items_available() number of items

void void gr::buffer_reader::update_read_pointer (int nitems) update_read_pointer gr::buffer_reader::update_read_pointer int nitems
void void gr::buffer_reader::set_done (bool done) set_done gr::buffer_reader::set_done bool done d_buffer done
bool bool gr::buffer_reader::done () const done gr::buffer_reader::done d_buffer set_done
gr::thread::mutex * gr::thread::mutex * gr::buffer_reader::mutex () mutex gr::buffer_reader::mutex d_buffer
uint64_t uint64_t gr::buffer_reader::nitems_read () const nitems_read gr::buffer_reader::nitems_read d_abs_read_offset
void void gr::buffer_reader::reset_nitem_counter () reset_nitem_counter gr::buffer_reader::reset_nitem_counter d_abs_read_offset d_read_index
size_t size_t gr::buffer_reader::get_sizeof_item () get_sizeof_item gr::buffer_reader::get_sizeof_item d_buffer
block_sptr block_sptr gr::buffer_reader::link () const link gr::buffer_reader::link

Return the block that reads via this reader.

d_link
buffer_add_reader
gr::buffer_reader_sm::buffer_add_reader
buffer_reader
void void gr::buffer_reader::get_tags_in_range (std::vector< tag_t > &v, uint64_t abs_start, uint64_t abs_end, long id) get_tags_in_range 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)

v

a vector reference to return tags into

abs_start

a uint64 count of the start of the range of interest

abs_end

a uint64 count of the end of the range of interest

id

the unique ID of the block to make sure already deleted tags are not returned

bool virtual bool gr::buffer_reader::input_blkd_cb_ready (int items_required) const input_blkd_cb_ready gr::buffer_reader::input_blkd_cb_ready input_blkd_cb_ready int items_required

Returns true when the current thread is ready to call the callback, false otherwise. Delegate calls to buffer class's input_blkd_cb_ready(). Note if input_blocked_callback is overridden then this function should also be overridden.

bool virtual bool gr::buffer_reader::input_blocked_callback (int items_required, int items_avail) input_blocked_callback gr::buffer_reader::input_blocked_callback input_blocked_callback int items_required int items_avail

Callback function that the scheduler will call when it determines that the input is blocked. Delegate calls to buffer class's input_blocked_callback(). Override this function if needed.

unsigned int unsigned int gr::buffer_reader::get_read_index () const get_read_index gr::buffer_reader::get_read_index d_read_index
uint64_t uint64_t gr::buffer_reader::get_abs_read_offset () const get_abs_read_offset gr::buffer_reader::get_abs_read_offset d_abs_read_offset
gr::buffer_reader::buffer_reader
(buffer_sptr buffer, unsigned int read_index, block_sptr link)
buffer_reader
gr::buffer_reader::buffer_reader
buffer_sptr buffer
unsigned int read_index
block_sptr link

constructor is private. Use gr::buffer::add_reader to create instances

buffer
link

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

gr::buffer_reader
gr::buffer_reader_sm
gr::basic_block
d_name
d_symbol_alias
d_symbol_name
d_input_signature
d_output_signature
d_debug_logger
d_logger
msg_queue
d_rpc_vars
d_message_subscribers
gr::block
d_max_output_buffer
d_min_output_buffer
d_pmt_done
d_system_port
gr::buffer_reader
d_buffer
d_link
gr::messages::msg_accepter
gr::msg_accepter
std::basic_string< Char >
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
std::shared_ptr< buffer >
std::shared_ptr< io_signature >
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::shared_ptr< rpcbasic_base >
std::string
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
std::weak_ptr< gr::block >
ptr
- gr::buffer_reader
  buffer
- gr::buffer_reader
  buffer
- gr::buffer_reader
  buffer_add_reader
- gr::buffer_reader
  buffer_double_mapped
- gr::buffer_reader
  buffer_reader
- gr::buffer_reader
  buffer_reader_sm
- gr::buffer_reader
  buffer_single_mapped
- gr::buffer_reader
  d_abs_read_offset
- gr::buffer_reader
  d_attr_delay
- gr::buffer_reader
  d_buffer
- gr::buffer_reader
  d_link
- gr::buffer_reader
  d_read_index
- gr::buffer_reader
  declare_sample_delay
- gr::buffer_reader
  done
- gr::buffer_reader
  get_abs_read_offset
- gr::buffer_reader
  get_read_index
- gr::buffer_reader
  get_sizeof_item
- gr::buffer_reader
  get_tags_in_range
- gr::buffer_reader
  input_blkd_cb_ready
- gr::buffer_reader
  input_blocked_callback
- gr::buffer_reader
  items_available
- gr::buffer_reader
  link
- gr::buffer_reader
  max_possible_items_available
- gr::buffer_reader
  mutex
- gr::buffer_reader
  nitems_read
- gr::buffer_reader
  read_pointer
- gr::buffer_reader
  reset_nitem_counter
- gr::buffer_reader
  sample_delay
- gr::buffer_reader
  set_done
- gr::buffer_reader
  update_read_pointer
- gr::buffer_reader
  ~buffer_reader