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.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/gr-blocks/lib/interleave_impl.h b/gr-blocks/lib/interleave_impl.h
index f0f79c107d..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);
@@ -44,6 +58,6 @@ namespace gr {
} /* namespace blocks */
} /* namespace gr */
-
+
#endif /* INCLUDED_INTERLEAVE_IMPL_H */