GNU Radio 3.7.0 C++ API
gr::blocks::tagged_stream_mux Class Reference

Combines tagged streams. More...

#include <tagged_stream_mux.h>

Inheritance diagram for gr::blocks::tagged_stream_mux:
gr::tagged_stream_block gr::block gr::basic_block gr::msg_accepter gr::messages::msg_accepter

Public Types

typedef boost::shared_ptr
< tagged_stream_mux
sptr
 

Static Public Member Functions

static sptr make (size_t itemsize, const std::string &lengthtagname)
 

Additional Inherited Members

- Public Member Functions inherited from gr::tagged_stream_block
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Don't override this. More...
 
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. More...
 
- Protected Types inherited from gr::basic_block
enum  vcolor { WHITE, GREY, BLACK }
 
- Protected Member Functions inherited from gr::tagged_stream_block
 tagged_stream_block (void)
 
 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)
 
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 length tags. More...
 
virtual int calculate_output_stream_length (const gr_vector_int &ninput_items)
 Calculate the number of output items. More...
 
virtual void update_length_tags (int n_produced, int n_ports)
 Set the new length tags on the output stream. More...
 
- Protected Attributes inherited from gr::tagged_stream_block
std::string d_length_tag_key_str
 

Detailed Description

Combines tagged streams.

Takes N streams as input. Each stream is tagged with packet lengths. Packets are output sequentially from each input stream.

The output signal has a new length tag, which is the sum of all individual length tags. The old length tags are discarded.

All other tags are propagated as expected, i.e. they stay associated with the same input item.

Member Typedef Documentation

Member Function Documentation

static sptr gr::blocks::tagged_stream_mux::make ( size_t  itemsize,
const std::string &  lengthtagname 
)
static

Make a tagged stream mux block.

Parameters
itemsizeItems size (number of bytes per item)
lengthtagnameLength tag key

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