Thanks for the answers regarding the ett_xxxx reuse.
>> - How about the header fields? Am I using that mechanism incorrectly?
>
> I cant answer that question without knowing how you use the header fields.
>
Fine, don't read my mind.
Daap messages are lists of tags. A tag is
a 4 byte name, a 4 byte size field, and "size" bytes of data.
Some tags are containers. Their data is only a list of other tags.
Their size is the total bytes that the list of other tags takes.
A response would look like this:
'adbs', 160
--'msst', 4, 200 // status code
--'mlcl', 148
----'mlit', 84
------'mlid', 4, 1 // id
------'minm', 14, "The Happy Song"
------'asal', 21, "An Album of Happiness"
------'asar', 3, "Sad"
----'mlit', 56
------'mlid', 4, 2 // id
------'minm', 8, "song foo"
------'asal', 9, "album bar"
------'asar', 3, "baz"
There's always a single top level tag ('adbs' in this case), and it's
obvious to me that daap.name and daap.size header fields should be
used for it. So, I created/registered hf_daap_name and hf_daap_size.
But, I think it would be useful for users to be able to filter on
daap.name == 'asal', but this would require that a reuse hf_daap_name
when I'm recursing to the contained tags, rather than just add them
as text labels. This is a similar question to my original ett_xxxx
reuse question, can I reuse header filed statics?