[zeromq-dev] Q: type-tagging messages - prefix an uint32 or a frame?

Lionel Orry lionel.orry at gmail.com
Mon Jun 29 07:48:39 CEST 2015


Hi Michael,

Le 19 juin 2015 16:00, "Michael Haberler" <mail17 at mah.priv.at> a écrit :
>
> so far we are using protobuf for serialization, with a single protobuf
message being the supertype and container of all possible other message
contents
>
> we are switching to tagging - each frame has a 32bit-sized tag which
encodes message type *), as well as message encoding
>
> so we have two options:
>
> (1) just prefix each message (whatever type/encoding) with the tag, in a
single frame
> (2) prepend a 4-byte frame with the tag, which says how to interpret the
following frame
>

You could also have a look at http://www.tnetstrings.org

>
> (2) would be easier to autodetect for backwards compatibility, at the
cost of extra ZMTP framing overhead
> (1) would need a heuristic test which I dislike
>
> any suggestions one way or the other?
> are there any significant runtime performance implications of using (2)?
>
> thanks,
>
> - Michael
>
>

Regards,
Lionel

>
>
> *) since protobuf lacks a message type ID, Petteri Aimonen and me came up
with the msgid option in the .proto spec, see
https://github.com/nanopb/nanopb/search?utf8=%E2%9C%93&q=msgid
> this could be useful for other protobuf users as message type ID's are a
recurring question
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150629/51b14cd2/attachment.htm>


More information about the zeromq-dev mailing list