[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Stream to PDU - Guaranteed to not lump tags?
From: |
Michael Dickens |
Subject: |
Re: [Discuss-gnuradio] Stream to PDU - Guaranteed to not lump tags? |
Date: |
Wed, 10 Jan 2018 15:32:20 -0500 |
Hi Dave - The tagged stream -> PDU block will look at for the provided tag
string at the current 0 offset & if found then that's what the PDU data size
(in items) will be [this is actually handled in the "tagged_stream_block"
parent class]. If there are interim tags (within the output PDU size in items),
then they are just added as meta-data to the PDU. Each PDU is created
independent of the other PDUs, and just 1 created per call to "work". Not sure
if this is what you were looking to have answered; if not, please clarity.
Cheers! - MLD
On Wed, Jan 10, 2018, at 11:30 AM, Dave NotTelling wrote:
> The wording of the title likely needs work, but the basic idea is this:
>
> * Suppose that I have a ZMQ message source that has arbitrarily sized
> vectors of some consistent type
> * I convert that over to a tagged stream, do some operations on it, then
> convert it back to a PDU
> * Assume for a second that several of the offsets in the tagged stream are
> very small (only say 10 samples each) and back to back
> * Is there a guarantee that each of the 10 sample offsets will result in a
> single PDU?
>
>Looking at the source of tagged_stream_to_pdu it seems that there is no check
>that multiple tag offsets arrived in a single call to work. Or is that
>something that cannot happen? Having a contract that no more than one offset
>can arrive at a single call to work would be really nice, but I imagine that
>doing so could cause some pretty serious performance issues.