[zeromq-dev] conventions in bindings

john skaller skaller at users.sourceforge.net
Wed Feb 1 13:34:21 CET 2012

On 01/02/2012, at 4:11 PM, Gary Wright wrote:

> On Tue, Jan 31, 2012 at 15:43, john skaller <skaller at users.sourceforge.net> wrote:
>> IMHO the terminology here is a bit confusing.  First, "frame" is a bad word to use because that is
>> a technical term which refers to "on the wire" packaging of data.
> I don't think the problem with 'frame' is that it is associated with the 'wire' as link-layer data can be run on top of all sorts of channels (e.g. PPPoE: PPP over Ethernet).

I think you're misunderstanding my intention. When I say "wire" i don't
mean a piece of metal. I mean something where messages are spread out
in time instead of space.

> The problem with 'frame' is that frames are generally viewed as independent from each other at that level of the network stack.  The parts of a multi-part ZMQ message aren't independent and so I don't think that frame is quite right.

Framing is a general concept I think, that means bunching sequence of bytes of a stream
up into finite contiguous subsequences, usually by having prefix and suffix bytes and 
length counts, and probably throwing in some redundancy (eg CRC check bytes)
for error checking.

But in any case I don't think we really have a dispute :)

> I do think consistent terminology for ZMQ messages and the message-pieces would be helpful.  Some analogous naming systems:
> packet/fragment  (IP/UDP)
> packet/cell      (ATM)
> message/chunks  (SCTP)
> record/fragment  (TLS/SSL)

> I think message/fragment fits pretty well. It is confusing that the data structure holding a 'fragment' is called zmq_msg_t but I'm not sure that renaming core data types is a good use of developer time.

Agreed, but that isn't really necessary: the MessageContainer I talk about
is not called "message" it's called zmq_msg_t. The important thing is not to
call it a message in the documentation. A zmq_msg_t is not a message.
It's something can hold

a) nothing
b) a message
c) part of a message
d) different messages at different times

john skaller
skaller at users.sourceforge.net

More information about the zeromq-dev mailing list