gr::block_detail
gnuradio/block_detail.h
bool bool gr::block_detail::threaded threaded gr::block_detail::threaded
gr::thread::gr_thread_t gr::thread::gr_thread_t gr::block_detail::thread thread gr::block_detail::thread
tpb_detail tpb_detail gr::block_detail::d_tpb d_tpb gr::block_detail::d_tpb
int int gr::block_detail::d_produce_or d_produce_or gr::block_detail::d_produce_or
gr::logger_ptr gr::logger_ptr gr::block_detail::d_logger d_logger gr::block_detail::d_logger
gr::logger_ptr gr::logger_ptr gr::block_detail::d_debug_logger d_debug_logger gr::block_detail::d_debug_logger
unsigned int unsigned int gr::block_detail::d_ninputs d_ninputs gr::block_detail::d_ninputs
unsigned int unsigned int gr::block_detail::d_noutputs d_noutputs gr::block_detail::d_noutputs
std::vector< buffer_reader_sptr > std::vector<buffer_reader_sptr> gr::block_detail::d_input d_input gr::block_detail::d_input
std::vector< buffer_sptr > std::vector<buffer_sptr> gr::block_detail::d_output d_output gr::block_detail::d_output
bool bool gr::block_detail::d_done d_done gr::block_detail::d_done
int int gr::block_detail::d_consumed d_consumed gr::block_detail::d_consumed
float float gr::block_detail::d_ins_noutput_items d_ins_noutput_items gr::block_detail::d_ins_noutput_items
float float gr::block_detail::d_avg_noutput_items d_avg_noutput_items gr::block_detail::d_avg_noutput_items
float float gr::block_detail::d_var_noutput_items d_var_noutput_items gr::block_detail::d_var_noutput_items
float float gr::block_detail::d_total_noutput_items d_total_noutput_items gr::block_detail::d_total_noutput_items
gr::high_res_timer_type gr::high_res_timer_type gr::block_detail::d_pc_start_time d_pc_start_time gr::block_detail::d_pc_start_time
gr::high_res_timer_type gr::high_res_timer_type gr::block_detail::d_pc_last_work_time d_pc_last_work_time gr::block_detail::d_pc_last_work_time
float float gr::block_detail::d_ins_nproduced d_ins_nproduced gr::block_detail::d_ins_nproduced
float float gr::block_detail::d_avg_nproduced d_avg_nproduced gr::block_detail::d_avg_nproduced
float float gr::block_detail::d_var_nproduced d_var_nproduced gr::block_detail::d_var_nproduced
std::vector< float > std::vector<float> gr::block_detail::d_ins_input_buffers_full d_ins_input_buffers_full gr::block_detail::d_ins_input_buffers_full
std::vector< float > std::vector<float> gr::block_detail::d_avg_input_buffers_full d_avg_input_buffers_full gr::block_detail::d_avg_input_buffers_full
std::vector< float > std::vector<float> gr::block_detail::d_var_input_buffers_full d_var_input_buffers_full gr::block_detail::d_var_input_buffers_full
std::vector< float > std::vector<float> gr::block_detail::d_ins_output_buffers_full d_ins_output_buffers_full gr::block_detail::d_ins_output_buffers_full
std::vector< float > std::vector<float> gr::block_detail::d_avg_output_buffers_full d_avg_output_buffers_full gr::block_detail::d_avg_output_buffers_full
std::vector< float > std::vector<float> gr::block_detail::d_var_output_buffers_full d_var_output_buffers_full gr::block_detail::d_var_output_buffers_full
gr::high_res_timer_type gr::high_res_timer_type gr::block_detail::d_start_of_work d_start_of_work gr::block_detail::d_start_of_work
gr::high_res_timer_type gr::high_res_timer_type gr::block_detail::d_end_of_work d_end_of_work gr::block_detail::d_end_of_work
float float gr::block_detail::d_ins_work_time d_ins_work_time gr::block_detail::d_ins_work_time
float float gr::block_detail::d_avg_work_time d_avg_work_time gr::block_detail::d_avg_work_time
float float gr::block_detail::d_var_work_time d_var_work_time gr::block_detail::d_var_work_time
float float gr::block_detail::d_total_work_time d_total_work_time gr::block_detail::d_total_work_time
float float gr::block_detail::d_avg_throughput d_avg_throughput gr::block_detail::d_avg_throughput
float float gr::block_detail::d_pc_counter d_pc_counter gr::block_detail::d_pc_counter
struct friend struct tpb_detail tpb_detail gr::block_detail::tpb_detail tpb_detail
GR_RUNTIME_API block_detail_sptr GR_RUNTIME_API block_detail_sptr make_block_detail (unsigned int ninputs, unsigned int noutputs) make_block_detail gr::block_detail::make_block_detail unsigned int ninputs unsigned int noutputs
gr::block_detail::~block_detail
()
~block_detail
gr::block_detail::~block_detail
int int gr::block_detail::ninputs () const ninputs gr::block_detail::ninputs
int int gr::block_detail::noutputs () const noutputs gr::block_detail::noutputs
bool bool gr::block_detail::sink_p () const sink_p gr::block_detail::sink_p
bool bool gr::block_detail::source_p () const source_p gr::block_detail::source_p
void void gr::block_detail::set_done (bool done) set_done gr::block_detail::set_done bool done
bool bool gr::block_detail::done () const done gr::block_detail::done
void void gr::block_detail::set_input (unsigned int which, buffer_reader_sptr reader) set_input gr::block_detail::set_input unsigned int which buffer_reader_sptr reader
buffer_reader_sptr buffer_reader_sptr gr::block_detail::input (unsigned int which) input gr::block_detail::input unsigned int which
void void gr::block_detail::set_output (unsigned int which, buffer_sptr buffer) set_output gr::block_detail::set_output unsigned int which buffer_sptr buffer
buffer_sptr buffer_sptr gr::block_detail::output (unsigned int which) output gr::block_detail::output unsigned int which
void void gr::block_detail::consume (int which_input, int how_many_items) consume gr::block_detail::consume int which_input int how_many_items

Tell the scheduler `how_many_items` of input stream `which_input` were consumed.

void void gr::block_detail::consume_each (int how_many_items) consume_each gr::block_detail::consume_each int how_many_items

Tell the scheduler `how_many_items` were consumed on each input stream.

void void gr::block_detail::produce (int which_output, int how_many_items) produce gr::block_detail::produce int which_output int how_many_items

Tell the scheduler `how_many_items` were produced on output stream `which_output`.

void void gr::block_detail::produce_each (int how_many_items) produce_each gr::block_detail::produce_each int how_many_items

Tell the scheduler `how_many_items` were produced on each output stream.

uint64_t uint64_t gr::block_detail::nitems_read (unsigned int which_input) nitems_read gr::block_detail::nitems_read unsigned int which_input
uint64_t uint64_t gr::block_detail::nitems_written (unsigned int which_output) nitems_written gr::block_detail::nitems_written unsigned int which_output
void void gr::block_detail::reset_nitem_counters () reset_nitem_counters gr::block_detail::reset_nitem_counters
void void gr::block_detail::clear_tags () clear_tags gr::block_detail::clear_tags
void void gr::block_detail::add_item_tag (unsigned int which_output, const tag_t &tag) add_item_tag gr::block_detail::add_item_tag unsigned int which_output const tag_t & tag

Adds a new tag to the given output stream.

Calls gr::buffer::add_item_tag(), which appends the tag onto its deque.

which_output

an integer of which output stream to attach the tag

tag

the tag object to add

void void gr::block_detail::remove_item_tag (unsigned int which_input, const tag_t &tag, long id) remove_item_tag gr::block_detail::remove_item_tag unsigned int which_input const tag_t & tag long id

Removes a tag from the given input stream.

Calls gr::buffer::remove_item_tag(). The tag in question will then no longer appear on subsequent calls of get_tags_in_range().

which_input

an integer of which input stream to remove the tag from

tag

the tag object to add

id

The unique block ID (use gr::block::unique_id())

void void gr::block_detail::get_tags_in_range (std::vector< tag_t > &v, unsigned int which_input, uint64_t abs_start, uint64_t abs_end, long id) get_tags_in_range gr::block_detail::get_tags_in_range std::vector< tag_t > & v unsigned int which_input uint64_t abs_start uint64_t abs_end long id

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

Pass-through function to gr::buffer_reader to 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

which_input

an integer of which input stream to pull from

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

Block ID

void void gr::block_detail::get_tags_in_range (std::vector< tag_t > &v, unsigned int which_input, uint64_t abs_start, uint64_t abs_end, const pmt::pmt_t &key, long id) get_tags_in_range gr::block_detail::get_tags_in_range std::vector< tag_t > & v unsigned int which_input uint64_t abs_start uint64_t abs_end const pmt::pmt_t & key long id

Given a [start,end), returns a vector of all tags in the range with a given key.

Calls get_tags_in_range(which_input, abs_start, abs_end) to get a vector of tags from the buffers. This function then provides a secondary filter to the tags to extract only tags with the given 'key'.

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

v

a vector reference to return tags into

which_input

an integer of which input stream to pull from

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

key

a PMT symbol to select only tags of this key

id

Block ID

void void gr::block_detail::set_processor_affinity (const std::vector< int > &mask) set_processor_affinity gr::block_detail::set_processor_affinity const std::vector< int > & mask

Set core affinity of block to the cores in the vector mask.

mask

a vector of ints of the core numbers available to this block.

void void gr::block_detail::unset_processor_affinity () unset_processor_affinity gr::block_detail::unset_processor_affinity

Unset core affinity.

int int gr::block_detail::thread_priority () thread_priority gr::block_detail::thread_priority

Get the current thread priority.

int int gr::block_detail::set_thread_priority (int priority) set_thread_priority gr::block_detail::set_thread_priority int priority

Set the current thread priority.

priority

the new thread priority to set

void void gr::block_detail::post_work_cleanup () post_work_cleanup gr::block_detail::post_work_cleanup

Post general_work() cleanup to decrement the active counts for all inputs and outputs.

void void gr::block_detail::start_perf_counters () start_perf_counters gr::block_detail::start_perf_counters
void void gr::block_detail::stop_perf_counters (int noutput_items, int nproduced) stop_perf_counters gr::block_detail::stop_perf_counters int noutput_items int nproduced
void void gr::block_detail::reset_perf_counters () reset_perf_counters gr::block_detail::reset_perf_counters
float float gr::block_detail::pc_noutput_items () pc_noutput_items gr::block_detail::pc_noutput_items
float float gr::block_detail::pc_nproduced () pc_nproduced gr::block_detail::pc_nproduced
float float gr::block_detail::pc_input_buffers_full (size_t which) pc_input_buffers_full gr::block_detail::pc_input_buffers_full size_t which
std::vector< float > std::vector< float > gr::block_detail::pc_input_buffers_full () pc_input_buffers_full gr::block_detail::pc_input_buffers_full
float float gr::block_detail::pc_output_buffers_full (size_t which) pc_output_buffers_full gr::block_detail::pc_output_buffers_full size_t which
std::vector< float > std::vector< float > gr::block_detail::pc_output_buffers_full () pc_output_buffers_full gr::block_detail::pc_output_buffers_full
float float gr::block_detail::pc_work_time () pc_work_time gr::block_detail::pc_work_time
float float gr::block_detail::pc_noutput_items_avg () pc_noutput_items_avg gr::block_detail::pc_noutput_items_avg
float float gr::block_detail::pc_nproduced_avg () pc_nproduced_avg gr::block_detail::pc_nproduced_avg
float float gr::block_detail::pc_input_buffers_full_avg (size_t which) pc_input_buffers_full_avg gr::block_detail::pc_input_buffers_full_avg size_t which
std::vector< float > std::vector< float > gr::block_detail::pc_input_buffers_full_avg () pc_input_buffers_full_avg gr::block_detail::pc_input_buffers_full_avg
float float gr::block_detail::pc_output_buffers_full_avg (size_t which) pc_output_buffers_full_avg gr::block_detail::pc_output_buffers_full_avg size_t which
std::vector< float > std::vector< float > gr::block_detail::pc_output_buffers_full_avg () pc_output_buffers_full_avg gr::block_detail::pc_output_buffers_full_avg
float float gr::block_detail::pc_work_time_avg () pc_work_time_avg gr::block_detail::pc_work_time_avg
float float gr::block_detail::pc_throughput_avg () pc_throughput_avg gr::block_detail::pc_throughput_avg
float float gr::block_detail::pc_noutput_items_var () pc_noutput_items_var gr::block_detail::pc_noutput_items_var
float float gr::block_detail::pc_nproduced_var () pc_nproduced_var gr::block_detail::pc_nproduced_var
float float gr::block_detail::pc_input_buffers_full_var (size_t which) pc_input_buffers_full_var gr::block_detail::pc_input_buffers_full_var size_t which
std::vector< float > std::vector< float > gr::block_detail::pc_input_buffers_full_var () pc_input_buffers_full_var gr::block_detail::pc_input_buffers_full_var
float float gr::block_detail::pc_output_buffers_full_var (size_t which) pc_output_buffers_full_var gr::block_detail::pc_output_buffers_full_var size_t which
std::vector< float > std::vector< float > gr::block_detail::pc_output_buffers_full_var () pc_output_buffers_full_var gr::block_detail::pc_output_buffers_full_var
float float gr::block_detail::pc_work_time_var () pc_work_time_var gr::block_detail::pc_work_time_var
float float gr::block_detail::pc_work_time_total () pc_work_time_total gr::block_detail::pc_work_time_total
int int gr::block_detail::consumed () const consumed gr::block_detail::consumed
gr::block_detail::block_detail
(unsigned int ninputs, unsigned int noutputs)
block_detail
gr::block_detail::block_detail
unsigned int ninputs
unsigned int noutputs

Implementation details to support the signal processing abstraction.

This class contains implementation detail that should be "out of sight" of almost all users of GNU Radio. This decoupling also means that we can make changes to the guts without having to recompile everything.

gr::block_detail
d_tpb
d_debug_logger
d_logger
gr::tpb_detail
std::shared_ptr< logger >
- gr::block_detail
  add_item_tag
- gr::block_detail
  block_detail
- gr::block_detail
  clear_tags
- gr::block_detail
  consume
- gr::block_detail
  consume_each
- gr::block_detail
  consumed
- gr::block_detail
  d_avg_input_buffers_full
- gr::block_detail
  d_avg_noutput_items
- gr::block_detail
  d_avg_nproduced
- gr::block_detail
  d_avg_output_buffers_full
- gr::block_detail
  d_avg_throughput
- gr::block_detail
  d_avg_work_time
- gr::block_detail
  d_consumed
- gr::block_detail
  d_debug_logger
- gr::block_detail
  d_done
- gr::block_detail
  d_end_of_work
- gr::block_detail
  d_input
- gr::block_detail
  d_ins_input_buffers_full
- gr::block_detail
  d_ins_noutput_items
- gr::block_detail
  d_ins_nproduced
- gr::block_detail
  d_ins_output_buffers_full
- gr::block_detail
  d_ins_work_time
- gr::block_detail
  d_logger
- gr::block_detail
  d_ninputs
- gr::block_detail
  d_noutputs
- gr::block_detail
  d_output
- gr::block_detail
  d_pc_counter
- gr::block_detail
  d_pc_last_work_time
- gr::block_detail
  d_pc_start_time
- gr::block_detail
  d_produce_or
- gr::block_detail
  d_start_of_work
- gr::block_detail
  d_total_noutput_items
- gr::block_detail
  d_total_work_time
- gr::block_detail
  d_tpb
- gr::block_detail
  d_var_input_buffers_full
- gr::block_detail
  d_var_noutput_items
- gr::block_detail
  d_var_nproduced
- gr::block_detail
  d_var_output_buffers_full
- gr::block_detail
  d_var_work_time
- gr::block_detail
  done
- gr::block_detail
  get_tags_in_range
- gr::block_detail
  get_tags_in_range
- gr::block_detail
  input
- gr::block_detail
  make_block_detail
- gr::block_detail
  ninputs
- gr::block_detail
  nitems_read
- gr::block_detail
  nitems_written
- gr::block_detail
  noutputs
- gr::block_detail
  output
- gr::block_detail
  pc_input_buffers_full
- gr::block_detail
  pc_input_buffers_full
- gr::block_detail
  pc_input_buffers_full_avg
- gr::block_detail
  pc_input_buffers_full_avg
- gr::block_detail
  pc_input_buffers_full_var
- gr::block_detail
  pc_input_buffers_full_var
- gr::block_detail
  pc_noutput_items
- gr::block_detail
  pc_noutput_items_avg
- gr::block_detail
  pc_noutput_items_var
- gr::block_detail
  pc_nproduced
- gr::block_detail
  pc_nproduced_avg
- gr::block_detail
  pc_nproduced_var
- gr::block_detail
  pc_output_buffers_full
- gr::block_detail
  pc_output_buffers_full
- gr::block_detail
  pc_output_buffers_full_avg
- gr::block_detail
  pc_output_buffers_full_avg
- gr::block_detail
  pc_output_buffers_full_var
- gr::block_detail
  pc_output_buffers_full_var
- gr::block_detail
  pc_throughput_avg
- gr::block_detail
  pc_work_time
- gr::block_detail
  pc_work_time_avg
- gr::block_detail
  pc_work_time_total
- gr::block_detail
  pc_work_time_var
- gr::block_detail
  post_work_cleanup
- gr::block_detail
  produce
- gr::block_detail
  produce_each
- gr::block_detail
  remove_item_tag
- gr::block_detail
  reset_nitem_counters
- gr::block_detail
  reset_perf_counters
- gr::block_detail
  set_done
- gr::block_detail
  set_input
- gr::block_detail
  set_output
- gr::block_detail
  set_processor_affinity
- gr::block_detail
  set_thread_priority
- gr::block_detail
  sink_p
- gr::block_detail
  source_p
- gr::block_detail
  start_perf_counters
- gr::block_detail
  stop_perf_counters
- gr::block_detail
  thread
- gr::block_detail
  thread_priority
- gr::block_detail
  threaded
- gr::block_detail
  tpb_detail
- gr::block_detail
  unset_processor_affinity
- gr::block_detail
  ~block_detail