gr_stream_mux Class Reference

#include <gr_stream_mux.h>

Inheritance diagram for gr_stream_mux:

Inheritance graph
[legend]
Collaboration diagram for gr_stream_mux:

Collaboration graph
[legend]

List of all members.


Detailed Description

Stream muxing block to multiplex many streams into one with a specified format.

Muxes N streams together producing an output stream that contains N0 items from the first stream, N1 items from the second, etc. and repeats:

[N0, N1, N2, ..., Nm, N0, N1, ...]

Public Member Functions

 ~gr_stream_mux (void)
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Estimate input requirements given output request.
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 compute output items from input items

Protected Member Functions

 gr_stream_mux (size_t itemsize, const std::vector< int > &lengths)

Friends

gr_stream_mux_sptr gr_make_stream_mux (size_t itemsize, const std::vector< int > &lengths)
 Creates a stream muxing block to multiplex many streams into one with a specified format.


Constructor & Destructor Documentation

gr_stream_mux::gr_stream_mux ( size_t  itemsize,
const std::vector< int > &  lengths 
) [protected]

gr_stream_mux::~gr_stream_mux ( void   ) 


Member Function Documentation

void gr_stream_mux::forecast ( int  noutput_items,
gr_vector_int ninput_items_required 
) [virtual]

Estimate input requirements given output request.

Parameters:
noutput_items number of output items to produce
ninput_items_required number of input items required on each input stream
Given a request to product noutput_items, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.

Reimplemented from gr_block.

int gr_stream_mux::general_work ( int  noutput_items,
gr_vector_int ninput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

compute output items from input items

Parameters:
noutput_items number of output items to write on each output stream
ninput_items number of input items available on each input stream
input_items vector of pointers to the input items, one entry per input stream
output_items vector of pointers to the output items, one entry per output stream
Returns:
number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 <= return value <= noutput_items
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

Implements gr_block.

References gr_block::consume(), min(), and VERBOSE.


Friends And Related Function Documentation

gr_stream_mux_sptr gr_make_stream_mux ( size_t  itemsize,
const std::vector< int > &  lengths 
) [friend]

Creates a stream muxing block to multiplex many streams into one with a specified format.

Parameters:
itemsize the item size of the stream
length a vector (list/tuple) specifying the number of items from each stream the mux together. Warning: this requires that at least as many items per stream are available or the system will wait indefinitely for the items.


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

Generated on Thu Mar 27 14:50:56 2008 for GNU Radio 3.1.1 by  doxygen 1.5.5