summaryrefslogtreecommitdiff
path: root/gr-blocks/lib/interleave_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/lib/interleave_impl.h')
-rw-r--r--gr-blocks/lib/interleave_impl.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/gr-blocks/lib/interleave_impl.h b/gr-blocks/lib/interleave_impl.h
index 962747c8b5..c74127fca5 100644
--- a/gr-blocks/lib/interleave_impl.h
+++ b/gr-blocks/lib/interleave_impl.h
@@ -31,12 +31,26 @@ namespace gr {
class BLOCKS_API interleave_impl : public interleave
{
size_t d_itemsize;
+ unsigned int d_blocksize;
+ unsigned int d_ninputs;
public:
- interleave_impl(size_t itemsize);
+ interleave_impl(size_t itemsize, unsigned int blocksize);
bool check_topology(int ninputs, int noutputs);
+ int fixed_rate_ninput_to_noutput(int ninput);
+
+ int fixed_rate_noutput_to_ninput(int noutput);
+
+ void forecast(int noutput_items,
+ gr_vector_int& ninput_items_required);
+
+ int general_work(int noutput_items,
+ gr_vector_int& ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+
int work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);