Implementation details to support the signal processing abstractionThis 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.
More...
Public Member Functions |
| ~block_detail () |
int | ninputs () const |
int | noutputs () const |
bool | sink_p () const |
bool | source_p () const |
void | set_done (bool done) |
bool | done () const |
void | set_input (unsigned int which, buffer_reader_sptr reader) |
buffer_reader_sptr | input (unsigned int which) |
void | set_output (unsigned int which, buffer_sptr buffer) |
buffer_sptr | output (unsigned int which) |
void | consume (int which_input, int how_many_items) |
| Tell the scheduler how_many_items of input stream which_input were consumed.
|
void | consume_each (int how_many_items) |
| Tell the scheduler how_many_items were consumed on each input stream.
|
void | produce (int which_output, int how_many_items) |
| Tell the scheduler how_many_items were produced on output stream which_output .
|
void | produce_each (int how_many_items) |
| Tell the scheduler how_many_items were produced on each output stream.
|
uint64_t | nitems_read (unsigned int which_input) |
uint64_t | nitems_written (unsigned int which_output) |
void | add_item_tag (unsigned int which_output, const tag_t &tag) |
| Adds a new tag to the given output stream.
|
void | remove_item_tag (unsigned int which_input, const tag_t &tag, long id) |
| Removes a tag from the given input stream.
|
void | 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.
|
void | 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.
|
void | set_processor_affinity (const std::vector< int > &mask) |
| Set core affinity of block to the cores in the vector mask.
|
void | unset_processor_affinity () |
| Unset core affinity.
|
int | thread_priority () |
| Get the current thread priority.
|
int | set_thread_priority (int priority) |
| Set the current thread priority.
|
void | start_perf_counters () |
void | stop_perf_counters (int noutput_items, int nproduced) |
void | reset_perf_counters () |
float | pc_noutput_items () |
float | pc_nproduced () |
float | pc_input_buffers_full (size_t which) |
std::vector< float > | pc_input_buffers_full () |
float | pc_output_buffers_full (size_t which) |
std::vector< float > | pc_output_buffers_full () |
float | pc_work_time () |
float | pc_noutput_items_avg () |
float | pc_nproduced_avg () |
float | pc_input_buffers_full_avg (size_t which) |
std::vector< float > | pc_input_buffers_full_avg () |
float | pc_output_buffers_full_avg (size_t which) |
std::vector< float > | pc_output_buffers_full_avg () |
float | pc_work_time_avg () |
float | pc_noutput_items_var () |
float | pc_nproduced_var () |
float | pc_input_buffers_full_var (size_t which) |
std::vector< float > | pc_input_buffers_full_var () |
float | pc_output_buffers_full_var (size_t which) |
std::vector< float > | pc_output_buffers_full_var () |
float | pc_work_time_var () |
Public Attributes |
bool | threaded |
gr::thread::gr_thread_t | thread |
tpb_detail | d_tpb |
int | d_produce_or |
Friends |
struct | tpb_detail |
GR_RUNTIME_API block_detail_sptr | make_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.
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)
- Parameters:
-
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 |
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)
- Parameters:
-
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 |