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
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to