23#ifndef INCLUDED_GR_RUNTIME_TAGGED_STREAM_BLOCK_H
24#define INCLUDED_GR_RUNTIME_TAGGED_STREAM_BLOCK_H
51 const std::string& length_tag_key);
139 virtual int work(
int noutput_items,
The abstract base class for all 'terminal' processing blocks.
Definition: block.h:66
boost::shared_ptr< io_signature > sptr
Definition: io_signature.h:46
Block that operates on PDUs in form of tagged streams.
Definition: tagged_stream_block.h:38
std::string d_length_tag_key_str
Definition: tagged_stream_block.h:46
tagged_stream_block(const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature, const std::string &length_tag_key)
tagged_stream_block(void)
Definition: tagged_stream_block.h:47
bool check_topology(int ninputs, int)
Confirm that ninputs and noutputs is an acceptable combination.
virtual int calculate_output_stream_length(const gr_vector_int &ninput_items)
Calculate the number of output items.
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
Don't override this.
virtual void parse_length_tags(const std::vector< std::vector< tag_t > > &tags, gr_vector_int &n_input_items_reqd)
Parse all tags on the first sample of a PDU, return the number of items per input and prune the lengt...
virtual void update_length_tags(int n_produced, int n_ports)
Set the new length tags on the output stream.
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
virtual int work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)=0
Just like gr::block::general_work, but makes sure the input is valid.
#define GR_RUNTIME_API
Definition: gnuradio-runtime/include/gnuradio/api.h:30
std::vector< const void * > gr_vector_const_void_star
Definition: gnuradio-runtime/include/gnuradio/types.h:40
std::vector< void * > gr_vector_void_star
Definition: gnuradio-runtime/include/gnuradio/types.h:39
std::vector< int > gr_vector_int
Definition: gnuradio-runtime/include/gnuradio/types.h:35
Include this header to use the message passing features.
Definition: basic_block.h:45
boost::intrusive_ptr< pmt_base > pmt_t
typedef for shared pointer (transparent reference counting). See http://www.boost....
Definition: pmt.h:56