Hi Jorge,
tagged stream blocks are a specific architecture built atop of the
streaming infrastructure. Not every block that uses tags is a tagged
stream block.
TSB's are vastly helpful if you're actually dealin with bursty/packeted
data; the difference to vector processing is that these burst can have
variable length, and that "normal" blocks, which are unaware of the
bursty/PDU nature of the items going through, still work (eg. you can
still multiply a tagged stream block stream with the normal
multiply_const etc).
If you just want to say "hey, this is the sample where XY happened", no
need to convert your block into a tagged stream block.

Now, regarding your question: yes, when using tagged stream blocks, all
samples must be part of a burst/PDU that started with a tag describing
the PDU's length. Everything else is illegal.

The motivation behind TSBs was to be able to define blocks that care
about the bursty/packeted nature of items, whilst the rest could
continue to work as it used to.

Best regards,
Marcus

On 03/02/2015 01:08 PM, Jorge Gallo wrote:
>
> Hello,
>
>  
>
> I am a little confused about stream tagging. I read in the
> documentation that one tag can be appended to any sample in the data
> stream so it can be something that happens once in a while and it
> doesn't have to be at regular intervals. That is pretty useful.
>
>  
>
> Then, when reading about Tagged Stream Blocks it says:
>
>  
>
> "On the first item of a streamed PDU, there /must/ be a tag with a
> specific key, which stores the length of the PDU as a PMT integer. If
> anything else, or no tag, is on this first item, this will cause the
> flow graph to crash!".
>
>  
>
> Is it only for the first item or is it PDU after PDU? I mean, a new
> tag with the key and length must arrive immediately after one whole
> PDU is completed?
>
> If the answer is “yes” I understand it like a vector streaming. What
> is the difference? Then, when is stream tagging useful? I don’t get
> that from the documentation.
>
>  
>
> What if my custom burst each of them identified with a tag come at
> non-defined periods of time? Do I have to develop the block as a
> basic/sync block that read tags of each sample instead and forget
> about tagged stream blocks?
>
>  
>
> Many thanks in advance. This is a really good community!
>
> Jorge.
>
>  
>
>  
>
> PS: At the beginning I found confusing that a Tagged File Sink is not
> a Tagged Stream Block given its name but it is only my personal opinion
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to