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

Michael Haberler mail17 at mah.priv.at
Mon Jun 29 12:43:34 CEST 2015


Hi Eugene,

> Am 29.06.2015 um 05:45 schrieb Евгений Пастернак <pasternake at gmail.com>:
> 
> Hello Michael !
> 
> In my project I tried to use (1), but later changed to 2-nd approach. And now I more happy )
> (2) simplier to log and debug especially 32/64 bit issues. 
> In my project there is no any significant lack of performance.

yes, I'm leaning towards (2) as well, as it is good containment/separation of concerns

I'm going to measure the ZMTP overhead though just to get an idea, some users might use the result over a mobile network

thanks!

- Michael

> 
> 
> Regards
> Eugene Pasternak
> 
> 2015-06-19 20:00 GMT+06:00 Michael Haberler <mail17 at mah.priv.at>:
> 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
> 
> 
> (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
> 
> 
> 
> 
> *) 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
> 
> 
> 
> -- 
> Пастернак Евгений Анатольевич,
> 8-962-033-95-11
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev




More information about the zeromq-dev mailing list