In general you should only call produce() and consume() from within general_work(), and, really, you only need to consume() because produce() can be called with the return value from the function call (or, return WORK_CALLED_PRODUCE to indicate as much). The other block types (e.g. sync), call both produce() and consume() for you already, so you generally should not need to call them directly from your code. In general, you should be able to get away with calling produce() and/or consume() just once. I can think of some scenarios where interim calls might make sense, but those are rare circumstances.
Sure please do submit a PR to fix documentation; those are always welcome! - MLD On Sun, Nov 19, 2017, at 02:49 PM, rear1019 wrote: > On Sun, 19 Nov 2017 at 13:16:14 -0500, Michael Dickens wrote: > > You can safely call produce() and consume() multiple times in the same > > work() call: yes! > > I assume this also applies to general_work()? > > > Note that by doing so, if you're using the nitems_written() or > > nitems_read() [e.g., for finding or writing tags], then those values > > will be updated when you call produce() and consume() > > This is an important information missing in the documentation. I will > make a pull request to fix this. > > > Hope this helps! - MLD > > Thank you very much for the fast and detailed answer. _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio