Yes I agree with you all.
Everything are now clear and readable.
Thank you very much.

Regards,
Activecat


On Tue, Mar 11, 2014 at 5:08 PM, Marcus Müller <mar...@hostalia.de> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Well, it's basically the idea of not writing a special case for a
> single type of block; and if you are aware that sync blocks are only
> subclasses of normal blocks that implement a general_work which
> consumes *and* produces the return value of work, than everything is
> clear and readable :)
> Greetings,
> Marcus
>
> On 11.03.2014 01:34, Activecat wrote:
> > Dear Martin,
> >
> > Apparently the consistency of code across different source files is
> > more emphasized than its clarity in individual file. Nevertheless
> > that is clear now, thanks.
> >
> > Regards, Activecat
> >
> >
> > 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*. - 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
> >>
> >>
> >> On 03/10/2014 02:09 PM, Activecat wrote:
> >>> If the return value of work() is used to tell the scheduler how
> >>> much we have consumed, than it is very clear!
> >>>
> >>> In general_work() of new templates generated by gr_modtool, we
> >>> always see this, even for sink blocks:
> >>>
> >>> // Tell runtime system how many output items we produced.
> >>> return noutput_items;
> >>>
> >>> The comment sounds like the return value of general_work() is
> >>> to tell the scheduler how many output items have produced. If
> >>> this is true, for sink block, we should actually returned zero
> >>> because sink block doesn't produce any output item.
> >>>
> >>> To avoid confusion, and to be more consistent, I suggest to put
> >>> this instead into work() of new templates of sink block:
> >>>
> >>> // Tell runtime system how many input items have been
> >>> consumed. return noutput_items;
> >>>
> >>> Because when I look into sync_block.cc, the return value of
> >>> work() is actually used for consume_each(r).
> >>>
> >>> Just a silly suggestion. Thanks.
> >>>
> >>> Regards, Activecat
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org
> >>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >>>
> >>
> >>
> >> _______________________________________________ Discuss-gnuradio
> >> mailing list Discuss-gnuradio@gnu.org
> >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >>
> >
> >
> >
> > _______________________________________________ Discuss-gnuradio
> > mailing list Discuss-gnuradio@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQEcBAEBAgAGBQJTHtKDAAoJEBQ6EdjyzlHtKhsIAJaKRWiOkmZ8/icO07FjTDCP
> M7DFTEvaWXl/WFRSVfGYkccE513iXU/wTmud4gF8ywYHK+YWJbEOmPV3aEKNNTU5
> 8C1GNa6a0yPfGz7l4+WK0oKt8vIklViSKqt+sOJ3G/FGu/bllSoStbOvGnzw2ubI
> mJDfE4BzAuBIGSRr6Ar11UJ7xRNwLg9pcGsDYEAy12HUKpuJSqKP9rrb1wb1Kwco
> t/Ov+KvmgPiNnP8w6V2VZ5FIWtE77BsdALtDZy4dKsQaSCiOPb+AxZyOZUP1XDYD
> rV0POlRWuQ4kPqRH8MhzxUn6h7yKs31q+9GSkWOCO8YiCC9EvYDYvi3Jm/oZndY=
> =4uZc
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to