Part of this question has been partially discussed, as below.

On Mon, Mar 10, 2014 at 9:18 PM, Martin Braun <martin.br...@ettus.com>wrote:

> OK, I admit I was unclear. Let's try from scratch:
> - The return function from work() or general_work() is the amount of
> items that were *produced*.
>


Says, now I need to create a sink block, and I need to highly customize its
built-in forecast() function.
Hence I have two choices:-
(i).  Create this as a sink block, then explicitly overwrite its forecast()
function in the body of the custom block.
(ii). Create this as a general block.

Question 1:  Will option (i) above work?

Question 2:  If a sink block is implemented as a general block, does it
still need to return noutput_items, or just return 0, or doesn't matter at
all ?   (I guess it should return 0 because the sink block doesn't produce
any output)



> - In a sync block, the number of items produced is the number of items
> consumed, so we can use that to save the developer from manually
> consuming(). In other words, in a sync block, the return value is *both*
> the number of produced and consumed items.
> - Sinks and sources are syncs, therefore the mechanic is always the same.
> - Sinks are a special case because they don't produce anything. However,
> the scheduler knows the block's io signature, and knows what to do. The
> consume/produce mechanic stays the same, for consistency's sake, as with
> all other sync blocks.
>
> Hope this clears things up!
> M
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to